With Team Topologies, Matthew Skelton and Manuel Pais aim to reduce the complexity of tech organizations to four team types and three modes of interaction.

The end goal is to help teams produce software that aligns with customer needs and is easier to build, run, and own. (Skelton & Pais)

Framework-Influences

One of the central theses is that software architectures and the way teams interact are closely connected. This can be attributed to Conway’s Law, which states that an organization’s communication structures influence its software architecture.

The concept also incorporates approaches from cognitive load theory, Dunbar’s number and domain-driven design (DDD).

The Four Team Types in Team Topologies

At its core, the model outlines four team types, each with specific roles within the overall structure. This is the basic team split. All visualizations show an example music streaming service.

Four Team Types

Stream-Aligned Teams

Stream-aligned teams work end-to-end on a clearly defined value stream that is closely tied to customer needs or business goals. They act autonomously and are responsible for delivering a steady flow of valuable software.

Stream-Aligned Teams

For example:

  • A recommendations team focuses on personalized music suggestions.
  • A search & discovery team helps users to find new music.

Complicated Subsystem Teams

Complicated subsystem teams take responsibility for software areas where significant expertise is required. Their goal is to provide a specialized subsystem to other teams and help them reduce their team cognitive load.

Complicated Subsystem Teams

Examples could be:

  • A licensing management team handles the complexities of content licensing and availability.
  • A streaming optimization team improves the quality of music streaming.
  • A metadata processing team enriches and standardizes song metadata.

Enabling Teams

Enabling teams are helping other teams to close knowledge gaps or adopt new technologies.

Enabling Teams

For example:

  • A UX research team coaches other teams in qualitative research methods.
  • Compliance support team: ensures adherence to copyright laws and regulations.
  • Data science team: assists with data models for recommendations and AI products.

Platform Teams

A crucial insight of Team Topologies is that the primary benefit of a platform is to reduce the cognitive load on stream-aligned teams. (Martin Fowler)

Platform teams provide tools and services for other teams. They act as internal service providers.

Platform Teams

Examples are:

  • An identity & access management team develops a central authentication solution for the entire organization.
  • Streaming infrastructure team: provides the backend systems for scalable audio streaming.
  • Data platform team: develops a centralized data warehouse and pipelines for analytics.

The Three Interaction Modes in Team Topologies

In addition to the team types, there are three modes how teams can efficiently interact.

Three Interaction Modes

With examples how the four music streaming team types could interact with each other.

Collaboration Mode

Teams collaborate closely to solve a specific challenge.

Collaboration Mode in Team Topologies

For example, a stream-aligned search & discovery team collaborates with a complicated subsystem metadata processing team to show personalized search results based on user behavior.

Facilitating Mode

One team supports another team without directly engaging in its tasks. Facilitation is particularly useful for sharing knowledge or improving workflows.

Facilitating Mode in Team Topologies

For example, the data science team provides expertise on implementing new recommendation models to a stream aligned recommendations team.

X-as-a-Service Mode

One team provides standardized tools or services that other teams can use in an x-as-a-service manner.

X-as-a-Service Mode in Team Topologies

For example: a streaming infrastructure team provides APIs and backend infrastructure for streaming services to all stream-aligned teams.

Putting It All Together

This is what a team setup with all 4 team types and 3 interaction modes could look like:

X-as-a-Service Mode in Team Topologies

Possible Further Developments of the Model

Team Topologies works very well with a limited number of teams and interactions. However, when it comes to representing large organizations with dependencies between different teams, the visualization reaches its limits. Something similar to groups/containers in AWS architecture diagrams could be a nice solution.

References