Optimizing teams: A dual perspective on Team Topologies

Product coaches, Elias Lieberichs and Petra Wille, share their viewpoint on team topologies, with practical advice on how to effectively implement team topologies in your organization.

14 min read
Share on

Intro

In today's rapidly evolving digital landscape, organizations must constantly adapt to keep up with the increasing speed of product development, customer expectations, and technological advancements. Factors such as shorter time-to-market, the pressure to innovate quickly, and the growing complexity of cross-functional teams make it essential to optimize team structures. Team Topologies, a book by Matthew Skelton and Manuel Pais, offers a framework that helps organizations design and manage their teams to achieve these goals. However, the concept of team topologies can be interpreted in various ways, depending on one's perspective and experience.

In this blog post, we bring you two distinct takes on team topologies from two seasoned product coaches. We believe that by sharing our contrasting viewpoints, we can provide a richer, more nuanced understanding of how to effectively implement team topologies in your organization. Whether you're a product manager, an engineering lead, or part of the leadership team, our combined insights will offer practical advice and thought-provoking ideas to help you optimize your team structures.

Elias Lieberichs - Team Topology: A critical approach to optimizing team structure

Introduction

Team topology is about more than just organizing teams—it's about creating a system where teams can thrive, minimizing bottlenecks and maximizing productivity. Imagine crafting an ecosystem where teams are clearly defined, not just by what they do, but by how they interact, share knowledge, and drive value.

The gist of Team Topology

Team topology focuses on structuring your teams for optimal flow and minimal friction. It’s about creating purposeful teams with distinct roles and clear communication pathways, ensuring that each team is self-sufficient yet well-connected to the bigger picture. This isn’t about drawing lines on an org chart; it’s about setting up teams in a way that naturally drives collaboration and efficiency.

Why it matters

Done right, team topology allows teams to focus on solving problems rather than navigating bureaucracy, leading to faster delivery of higher-quality products. By defining the right boundaries and responsibilities, you reduce dependencies and enhance clarity. This means your teams can move quickly, adapt to changes, and stay aligned with the company’s strategic goals. The ultimate goal is to foster an environment where teams are empowered to deliver their best work without getting bogged down.

If it ain’t broken…making changes to how the teams work together is costly, so think twice. I would really only touch on this topic if you are sure the current way is not working. Here are a few signs you might need to reconsider your setup:

  • Decisions are made in huge steering group meetings and take forever.
  • Engineering seems like a black box and is detached from the other functions.
  • Product managers need to request resources from engineering or design before anything can happen.
  • Low motivation and churn on the technology team.

What good looks like

  • Crystal-clear purpose: Teams understand their contribution to the overall product and their responsibilities.
  • True sense of ownership: Teams know the significance of their work and ensure their systems support the overall apparatus.
  • Balanced talent: Teams are equipped with the right engineering skills and support functions (UXD, UXR, Product, SMEs).

Teams with a good topology deliver 10x value, no matter the reporting lines. I have been on these teams a few times, and the difference is literally an order of magnitude. A clear indication of teams like that is that you have fantastic alignment across functions and low churn (especially amongst engineering). Teams like that are happy to work on their problem for years and are continuously getting better at it.

Implementing Team Topology: A real-world example

Let's take the example of building a team topology for a booking engine for an airline, travel agency, or fashion store like Zalando or Zappos. As the product leadership team, you might wonder: How to organize the teams? Maybe by product line, e.g. the “Pants team” or maybe by business goals, e.g. “Retention team”? Or something else entirely? 

There is no paint by numbers approach, but here’s a step by step guide to think about trade-offs:

  • Well-defined scope: We want to make it easy for teams to become passionate about a clear problem they are solving. If this sounds too vague to you, think about it like this: Engineers are intrigued by solving problems, it is what they are literally trained on. Once they have a problem space they can solve, they will move mountains to do that. If strong engineers can work for long periods of time on an intriguing problem space, you will get those 10x results.
  • Disambiguate cross-team boundaries: No team can truly work alone, collaboration with other teams is always crucial, so we need to clearly define the dependencies, and who does what. Ambiguity here is a productivity killer.
  • Distinct value contribution: Align the team behind clearly identifiable value to the overall product. This does NOT have to be a user journey. It simply means it is clear what this team contributes, while not working at everything at once.
  • Strong product leadership: The leadership team will help coordinate across the teams and set direction. That only really works well, if engineering, product and design leaders are also working as a team across multiple product teams.
  • Equip with the right skills: Each team will have very different needs, so the composition within the team will need the right balance appropriate to scope and domain.


The context for team topology: Before you start dividing people up into teams, take a step back and look at the whole product within its context. A visual aid will drastically change your ability to get the topology, here is a simplified example from a real-world use-case:

Here’s a possible setup that carves out clear lines of responsibilities and clearly defines scope:

  1. Team 1: Stream-aligned team “User buying flows”
    • Focus: Booking flow of the user.
  2. Team 2: Subsystem team/Enablingt team “Pricing and packing engine”
    • Focus: Optimizing the actual products sold and managing inventory, including adding special business logic from internal users.
  3. Team 3: Platform team “Base data”
    • Focus: Providing ground truth data for the entire organization.
  4. Leadership team: Lead product manager, lead engineer, lead designer
    • Focus: Remove obstacles and clarify the direction of the team, resolve cross team questions.

A case can be made for different topologies, of course, it is always about the trade-off. We can say, let’s have a by product group,  e.g. “Team pants, Team shirts etc.”, because that’s closer to the user's need, right? You might cringe here, yet we actually see this a lot in the wild. Teams would need to work on all components and will fight to squeeze their thing into the UI for instance. Another common concept is by business goal (e.g. “Team for retention”, "Team for conversion”), the same applies here, that team is not actually given a tangible problem they can solve, because their solution will essentially be all over the system. 

What we truly want is for each team will have a very clear and complete agenda in terms of the value they add, with well-defined touchpoints with other teams. These teams are empowered, yet need a strong leadership team to help them connect the dots.

Key takeaways

  • Slice teams to approximate user and business needs while meeting technical realities.
  • Crystallize the start and end of each team’s scope.
  • Equip teams with the right balance of skills needed.

As the product grows, teams will get more and more specialized and it will be harder to orchestrate high performance across the board. If you’re the VP, CPO, or CEO of a large company, setting topologies for hundreds of people, we are talking about a different challenge altogether.

Petra Wille - Understanding Team Topologies for product people

Introduction to team topologies

In many of my coaching sessions with product leadership teams, we often touch on the topic of team topologies. This often comes up when there's friction between teams—either they're too small, too large, or just not optimally structured. This friction can lead to inefficiencies and misalignment. Therefore, understanding and applying the principles of team topologies is crucial for any organization aiming to streamline its product development process.

Why Team Topologies matter

One common scenario involves organizations wanting to split large teams into smaller ones to improve focus and efficiency. However, this practical necessity brings up important questions: How do you split teams without causing misalignment? How do you ensure that they remain focused on shared goals without stepping on each other's toes? These are critical considerations when thinking about team structures.

Core concepts of Team Topologies

Matthew Skelton and Manuel Pais, in their book Team Topologies: Organizing Business and Technology Teams for Fast Flow, outline several team types that can help organizations achieve better flow and alignment:

  • Stream-aligned teams: Focus on a specific flow of work from a customer perspective.
  • Enabling teams: Assist stream-aligned teams in overcoming obstacles.
  • Complicated-subsystem teams: Tackle areas requiring specialized knowledge.
  • Platform teams: Provide foundational services that other teams use.

These team types help align organizational structure with business goals, ensuring seamless value delivery. However, while I admire both Matthew and Manuel, and enjoy their podcast, their concept of team topologies never fully resonated with me. Perhaps this is because I approach the topic more from a product management perspective rather than an engineering one. 

Another expert in this field (and a friend of mine) is Susanne Kaiser, who approaches team topologies through the lens of domain-driven design and Wardley mapping, focusing on optimizing flow in the engineering world. Her approach adds valuable insights, particularly for teams aiming to balance technical flow with user value. Learning about her work has given me new perspectives on structuring teams for both efficiency and product success. If you’re looking to dive deeper into these concepts, I highly recommend checking out her work!

My approach to Team Topology challenges

Here are some general rules that guide my approach:

  • Keep teams small: Teams should be as small as possible, ideally not exceeding eight to ten people. If a team needs to be larger, it indicates excessive friction in the system, and it's worth reassessing the overall structure. Often, excuses like "we are highly regulated and need all these people to ensure compliance" arise, but these should be challenged for the sake of speed and team effectiveness.
  • Clear user focus: Every team needs a clear user group to focus on and a specific goal to drive. This clarity ensures that each team can tailor its efforts to the needs of its designated user group.
  • End-to-end responsibility: Teams should have end-to-end responsibility for a part of the user journey. This promotes accountability and helps avoid organizational silos. For example, a team might handle everything from user acquisition to registration and onboarding, ensuring a seamless user experience.
  • Minimize dependencies: Teams should not be overly dependent on each other. They should be able to drive their goals independently, without waiting for other teams. This independence applies to discovery initiatives, delivery of work, and releases. If teams frequently block each other, it's a sign that the structure needs reassessment.
  • Effective goal setting and alignment: Effective goal setting is crucial. Leaders must ensure that goals are clear, with no gaps or overlaps, to prevent friction. Tools like KPI trees can help visualize and align team goals with organizational objectives.

Pro tip on team naming: Naming teams based on the value they create for users is far more effective than using random names like those of Greek goddesses. Descriptive names help maintain focus on the team's purpose and goals.

When it comes to structuring teams within a product organization, consider these dimensions to ensure alignment and efficiency:

  • Product-market fit (PMF) or product: The first and most natural split is by product. If your company has multiple products, each catering to different markets, this becomes the initial division. Each product team focuses on delivering value specific to their product's market.
  • User group: As your company grows, you might need more teams working on a single product. The next logical split is by user group. For example, in a job marketplace, one team could focus on employers, while another focuses on job seekers. This ensures each team can tailor its efforts to the needs of their specific user group.
  • Moments of value creation (end-to-end pieces of the user journey): If further splitting is necessary, consider the user journey. Each team takes responsibility for a part of the journey, such as job searching, bookmarking, or applying. This ensures teams are user-focused and can manage their workflows independently.
  • Parts of the funnel: For even larger organizations, splitting by different stages of the product funnel can be effective. This might include teams focused on user acquisition, onboarding, or growth. Each team optimizes for their part of the funnel, aligning with high-level organizational goals.

A job board example of how you can split teams by the dimensions I suggest. 

Anti-patterns to avoid

While structuring teams, it's equally important to recognize and avoid common anti-patterns that can hinder productivity and alignment:

  • Don't ship your org chart: Avoid designing your product teams to mirror your organizational structure. This often leads to inefficiencies and silos. Instead, structure teams based on product needs and user journeys.
  • Avoid tech teams: While there might be exceptions, splitting teams purely by technology (e.g., frontend/backend, mobile/web) often leads to communication barriers and misalignment. These splits should only occur if there's a strong, justified need, which is rare.
  • Avoid splits by technology: Similar to tech teams, creating teams around specific technology or platforms (e.g., an AI team or no-code team) can create unnecessary divides. Ensure that teams are focused on delivering user value across the entire product rather than being limited by the technical tools or frameworks they use.

Further resources

For a deeper dive into Team Topologies and practical examples, check out these resources:

Conclusion

As we've explored, team topologies are not a one-size-fits-all solution. The way you structure your teams should reflect your unique business context, goals, and challenges. From our two perspectives, you've seen how different approaches can address common issues like misalignment, inefficiencies, and dependencies.

We hope our combined insights have given you a comprehensive understanding of team topologies and how they can be applied to create high-performing, collaborative teams. Remember, the key to successful team topologies lies in continuous evaluation and adaptation. Stay open to experimenting with different structures and be prepared to pivot as your organization evolves.

Thank you for joining us on this exploration of team topologies. We encourage you to share your thoughts and experiences with us—let’s continue the conversation and learn from each other.