Skip to content

Team Topologies and platform teams

Evolutionary architecture says change happens across multiple dimensions, and team structure is one of them. Team Topologies by Matthew Skelton and Manuel Pais (2nd edition, 2025) gives a vocabulary for designing teams so that change can flow. It’s also where the idea of a platform team that treats its platform as a product comes from.

  • Conway’s law. Systems tend to mirror the communication structure of the organisation that builds them. If two teams have to coordinate on every change, their parts of the system end up tightly coupled.
  • The inverse Conway manoeuvre. Design teams around the architecture you want, and the architecture tends to follow.
  • Teams and quanta. An architecture quantum evolves independently only if one team can change and deploy it without waiting on others. A quantum split between teams, or a team spread across many quanta, works against independent change.

The central constraint in Team Topologies is team cognitive load: how much a team can hold in its head at once. It distinguishes three kinds:

Kind Meaning Aim
Intrinsic Fundamental to the task (for example, knowing the programming language) Reduce through training and good tooling
Extraneous Incidental to the task (for example, how to get a deployment through) Minimise, ideally by moving it into a platform
Germane Domain knowledge that adds value (for example, how payments work) Maximise; this is where teams should spend their attention

Teams should be sized to their cognitive load. A large share of what a cloud platform does is remove extraneous load from product teams.

Team type Purpose
Stream-aligned Owns a slice of the business domain end to end (“you build it, you run it”). Most teams should be this type.
Platform Provides internal services as a product so stream-aligned teams can deliver faster. A platform can be a group of teams, which may include other team types inside it.
Enabling Helps stream-aligned teams overcome obstacles and adopt new capabilities, then steps away.
Complicated-subsystem Owns a part that needs deep specialist knowledge (for example, a pricing engine or video codec).
Mode What it looks like When to use
Collaboration Two teams work closely together for a defined period Discovering something new: an API, a practice, a technology
X-as-a-Service One team provides something; the other consumes it with little interaction Once the thing is well understood and stable
Facilitating One team helps and mentors another Building capability in the other team

When a system or team has grown too big, fracture planes are natural seams along which to split it. The default is the business domain (a bounded context). Others include regulatory compliance, change cadence, risk, performance isolation, technology, and team location. These map closely to the reasons for creating a separate architecture quantum: a part with different characteristics or a different rate of change.

  • Platform as a product. Treat stream-aligned teams as customers. Do user research, publish a roadmap, measure adoption, and make the platform the easiest path rather than a mandated one.
  • Thinnest viable platform (TVP). Build the smallest platform that actually speeds teams up, and grow it only when there’s demand. A TVP might start as documentation and a few templates. Left alone, platforms tend to grow bigger than anyone needs.
  • A clear interface. Each team should make clear how others should interact with it: its services, documentation, how to ask for help, and its current interaction modes. The book calls this a team API.
  • Measure it. The CNCF Platforms Working Group’s platform engineering maturity model is a useful lens for assessing a platform. Its authors warn against following any maturity model rigidly.

Continuing the scenario from the decision log: a regulated organisation, about 40 product teams, one shared AWS platform.

Team Type Owns Interaction with product teams
~40 product teams Stream-aligned Their workloads, accounts, and event buses —
Cloud foundation Platform Accounts, OUs, identity, guardrails (ADR-0001), Terraform foundation X-as-a-Service (Account Factory, self-service)
Network Platform Transit Gateway, IPAM, egress inspection (ADR-0002) X-as-a-Service (connectivity in the account baseline)
Developer experience Platform CDK construct library and golden paths (ADR-0004), event patterns (ADR-0003) X-as-a-Service, with collaboration for new paths
Cloud enablement Enabling Coaching on AWS, fitness functions, observability Facilitating, time-boxed
Risk scoring Complicated-subsystem A specialist fraud and risk model used by several product teams X-as-a-Service

Take the EventBridge backbone in ADR-0003:

  1. Collaboration (about one quarter): developer experience works closely with three producer teams to build the first cross-account event patterns and schema checks.
  2. X-as-a-Service: the patterns become a construct in the golden-path library, with documentation. New teams adopt them without needing the platform team.
  3. Facilitating: cloud enablement helps teams that are new to event-driven design, then steps away.

Account vending is different: it’s well understood, so it’s X-as-a-Service from day one.

Team structure can be checked too, though some checks are manual or survey-based:

  • Number of tickets to platform teams per production deployment (should trend toward zero).
  • Share of changes that need coordination across more than one team (from change records or PR links).
  • No more than one or two collaboration engagements per platform team at once (collaboration is expensive).
  • Each collaboration engagement has an end date and a planned move to X-as-a-Service.
  • A regular team cognitive load survey for product teams.
  • Golden-path adoption and platform satisfaction (see evolving a cloud platform).
  • Shaping fracture planes: helping decide where team and quantum boundaries go, using business domains and the ranked characteristics.
  • Acting like an enabling team: facilitating teams to make good decisions (for example, through the advice process and ADRs), rather than becoming a review-board bottleneck that every change has to pass through.
  • Watching interaction modes: noticing when a collaboration has gone on too long, or when a dependency between teams suggests a boundary is wrong.