Team Topology Patterns

Tap menu for chapters & tools

Chapter 17

Team Topology Patterns

Design teams and interfaces for cognitive load, not org-chart fashion

26 min read

Most delivery pain is not a tooling problem. It is a team-design problem: unclear ownership, endless handoffs, and platforms that try to be everything. Team topology patterns give you a shared language for who does what, how teams interact, and how to protect cognitive load so people can ship.

You do not need a reorg to start. You need honest maps of streams of change, forced collaboration, and platform seams. Rename last. Change interaction modes first.

The four team types

Use these as roles in the delivery system, not as prestige labels. A team can shift type as the product and org mature, but it should not pretend to be three types at once.

  • Stream-aligned: aligned to a flow of change for a user or business domain. Owns outcomes end to end where possible.
  • Platform: provides internal products that reduce cognitive load for stream teams (APIs, paved roads, self-service).
  • Enabling: helps stream teams acquire missing capabilities (coaching, spikes, temporary pairing), then steps back.
  • Complicated-subsystem: owns a hard specialty (ML core, billing engine, real-time media) so others do not drown in it.
Cognitive load test

If a stream-aligned team must understand five platforms, three languages of business, and a specialty domain to ship a small change, topology is wrong. Reduce load before adding headcount.

Three interaction modes

Team type is incomplete without interaction mode. The same two teams can succeed or fail depending on how they are allowed to talk.

  1. Collaboration: work closely for a defined period to discover a boundary or shape a new capability. High bandwidth, high cost. Time-box it.
  2. X-as-a-Service: one team provides a clear service with docs, SLOs, and a support path. Low collaboration cost once the interface is good.
  3. Facilitating: an enabling team helps another team learn or adopt a practice without taking permanent ownership of the work.

If everything is Collaboration forever, you do not have a platform. You have a meeting schedule.

Patterns that work in practice

  • Thinnest viable platform: the smallest set of paved roads that removes repeated pain. Grow from usage, not from a multi-year vision deck.
  • Stream first: default new work to a stream-aligned team with a clear customer or domain, not to a horizontal layer team.
  • Enabling with an exit: every enabling engagement has a success criteria and an end date, or it becomes a permanent crutch.
  • Complicated-subsystem isolation: put rare expertise behind a stable interface so product teams do not all relearn the same hard thing.
  • Reverse Conway carefully: change team boundaries when architecture and ownership repeatedly fight each other, not as a status project.

Anti-patterns to kill early

  1. Platform as ticket factory: every request is a ticket, no self-service, no product thinking.
  2. Pseudo stream teams that cannot ship without three approvals from other groups.
  3. Enabling teams that never leave and quietly become owners of everything they touch.
  4. One giant team labeled platform that is really five unrelated jobs.
  5. Reorg theater: new names, same handoffs, same cognitive load.

How to set a team: size, mission, and the two-pizza rule

Team setup is product design for humans. Before you argue process, decide mission, boundaries, and size. The Amazon two-pizza heuristic (a team small enough to feed with two pizzas) is not about food. It is about communication cost: as headcount grows, coordination paths explode and ownership gets fuzzy.

  • Mission: one sentence for the stream of value you own.
  • Boundaries: systems, customers, and decisions you own vs consume as X-as-a-Service.
  • Size: prefer small stream teams (often about 5-9 engineers) where everyone can know the work.
  • Two-pizza test: if the team cannot share context without permanent meetings and status brokers, it is too large or mis-scoped.
  • Composition: mix seniority; avoid a team of only juniors or only specialists with no delivery glue.
  • Interfaces: name collaboration vs X-as-a-Service edges with neighboring teams on day one.
  1. Write mission + non-goals on one page.
  2. List owned streams/services and explicit non-owned items.
  3. Count coordination load: how many teams must say yes to ship.
  4. If size grows past healthy cognitive load, split by stream or extract a platform/enabling edge, do not just add managers as duct tape.
  5. Publish working agreements: reviews, on-call, communication channels, decision rights.
Two-pizza is a signal, not a law

Some domains need larger teams for on-call coverage or compliance. If you go larger, invest harder in modularity, sub-streams, and written interfaces. Large and fuzzy is the failure mode, not large with clear sub-ownership.

A lead's operating checklist

As a team lead, you may not redraw the whole org. You can still make topology explicit for your area and negotiate better interfaces.

  1. Map value streams and who must change code for each flow.
  2. List top five cross-team dependencies by pain and frequency.
  3. For each dependency, name the intended interaction mode (and the mode you actually use).
  4. Write platform or service expectations: docs, SLOs, support hours, deprecation rules.
  5. Protect stream teams from load spikes: freeze drive-by work, fund enabling help, or split a complicated subsystem.
  6. Review topology quarterly with incidents, lead time, and team health, not only headcount plans.
One-page topology

Publish a one-pager: team type, mission, owned streams or services, interaction modes with neighbors, and what you will not own. Ambiguity is a silent reorg.

Diagrams for this topic

Visual models you can redraw on a whiteboard or in a design review.

Diagram

Four team types

Stream-aligned

  • User/domain flow
  • Outcome ownership
  • Fast feedback

Platform

  • Internal product
  • Self-service
  • Lower cognitive load

Enabling

  • Temporary help
  • Capability building
  • Clear exit

Complicated-subsystem

  • Rare expertise
  • Stable interface
  • Protect specialists

Roles in the delivery system, not prestige labels

Diagram

Interaction modes
  1. 1Discover need
  2. 2Collaboration (time-boxed)
  3. 3Stabilize interface
  4. 4X-as-a-Service
  5. 5Review cognitive load

Diagram

Topology health signals
SignalHealthyUnhealthy
HandoffsFew, documentedEvery feature crosses 3+ teams
PlatformSelf-service paved roadsTicket-only bottleneck
EnablingTime-boxed with exitPermanent shadow ownership

Worked examples

Concrete situations: what goes wrong, what to try instead, what changes.

Platform as ticket desk

Setting. Stream teams wait days for every infra change. Platform has no roadmap, only a queue.

Common miss

Add more approval steps and rename the queue a platform portal.

Stronger move

Interview streams, ship one self-service paved road, publish SLOs and docs, treat platform as product.

Outcome. Wait time drops and collaboration becomes optional, not mandatory.

Forever collaboration

Setting. Checkout and payments teams pair on every change with no end date.

Common miss

Call it culture and keep dual-owning everything.

Stronger move

Time-box collaboration to define a boundary, then move to X-as-a-Service with contracts and ownership.

Outcome. Teams regain focus while the interface stays reliable.

Team too large for two pizzas of context

Setting. Fourteen engineers share one backlog, three domains, and a daily meeting that runs long.

Common miss

Add more process and status roles while keeping one fuzzy mission.

Stronger move

Split by stream of value, clarify interfaces, and keep each unit small enough to share context without brokers.

Outcome. Coordination cost drops and ownership becomes nameable.

Resources specific to this chapter

Go deeper with books, videos, and tools matched to this topic, not a generic dump.

Practice

End-of-chapter drill

Pick one painful cross-team flow. Draw stream owners, mark each edge as Collaboration, X-as-a-Service, or Facilitating (actual vs desired), and write one change you will make this month.

Hint: Rename last. Change interaction mode or interface quality first.

If every edge is permanent Collaboration, you are paying meeting tax instead of designing services.