Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 13

Introduction to Team Topologies

Recommended resources

Introduction

In our last lesson, we explored Conway's Law, establishing that an organization's communication structure fundamentally constrains the systems it can build. We concluded with the "Inverse Conway Maneuver"—the idea that to achieve a desired architecture, you must first design the organization that can produce it. This raises a crucial question: how do we design such an organization?

This lesson provides the answer by introducing the Team Topologies model. Your goal is to describe the Team Topologies model and its four fundamental team types: stream-aligned, enabling, complicated-subsystem, and platform. This model offers a practical, prescriptive framework for structuring teams to optimize for a fast, sustainable flow of software delivery. It's a powerful toolset for applying the Inverse Conway Maneuver, shifting from an accidental architecture to an intentional one.


Part 1: Why Team Patterns Matter - The Problem of Cognitive Load

Before we define the specific team types, it's essential to understand the core problem they are designed to solve: excessive cognitive load. As a senior engineer, you've likely experienced the drag on productivity when a team is responsible for a system that is simply too large, too complex, or too sprawling for anyone to hold in their head. This mental burden is what Team Topologies calls cognitive load.

The book's authors, Matthew Skelton and Manuel Pais, argue that limiting a team's cognitive load is a prerequisite for high performance. If a team is overwhelmed, its ability to deliver value quickly and safely plummets.

For a formal definition, let's turn to the book excerpt "Team Topologies." It breaks down cognitive load into three distinct types.

[PDF] TOPOLOGIES - IT Revolution

This excerpt from the original book provides the foundational definitions for cognitive load, which underpins the entire Team Topologies model.

In the PDF, navigate to Chapter 3 and find the section "Restrict Team Responsibilities to Match Team Cognitive Load" (around page 39). Please read the paragraphs that define the three types of cognitive load, starting from the definitions.

To summarize the key ideas from that reading:

  • Intrinsic Cognitive Load: The inherent difficulty of the problem domain. For example, understanding the rules of a complex financial derivative.
  • Extraneous Cognitive Load: The "undifferentiated heavy lifting" of getting work done. This includes things like wrestling with deployment scripts, navigating confusing CI/CD pipelines, or trying to remember how to provision a test environment.
  • Germane Cognitive Load: The mental effort applied to the core business problem and its solution. This is where the real value is created.

The strategic goal of a well-designed organization is to minimize intrinsic and, especially, extraneous cognitive load. This frees up the team's mental bandwidth to focus on germane cognitive load—building great software that solves business problems. The four team topologies are the primary mechanism for achieving this.


Part 2: The Four Fundamental Team Types

The Team Topologies model proposes that for the vast majority of modern software development organizations, you only need four types of teams. This deliberate constraint simplifies organizational design and clarifies responsibilities.

Let's use a simple analogy from the world of sports to get an initial feel for these roles.

This diagram uses a soccer team formation to illustrate the four team types. The Stream-Aligned Teams are the strikers, focused on scoring goals (delivering customer value). The Platform Team is the defense and goalkeeper, providing a solid foundation. The Complicated-Subsystem Team acts like specialist midfielders, controlling a complex part of the game. Enabling Teams are coaches and specialists on the sideline, helping other players improve.

With that analogy in mind, let's explore the formal definitions for each type. The article "The Four Team Types from Team Topologies" from IT Revolution provides a clear and concise overview.

The Four Team Types from Team Topologies - IT Revolution

This article serves as an excellent primer on the four fundamental team types, explaining the purpose and responsibility of each.

Please read the article from the beginning, focusing on the four main sections describing each team: Stream-Aligned Teams Enabling Teams Complicated-Subsystem Teams Platform Teams

Let's synthesize those definitions and add some architectural context.

1. Stream-Aligned Team

This is the most important and common team type. A stream-aligned team is a cross-functional team aligned to a single, continuous "stream" of work that delivers direct business or user value. This could be a product, a service, a user journey, or a single business capability.

  • Purpose: To deliver value to customers or users quickly, safely, and independently.
  • Key Characteristic: End-to-end ownership. They build it, run it, fix it, and own it. They should not have to depend on other teams to complete their work.
  • Architectural Implication: This is the team structure needed to create loosely coupled, independently deployable services or components (like microservices or bounded contexts in DDD).

All other team types exist to reduce the cognitive load on stream-aligned teams, enabling them to focus on their flow of work.

2. Enabling Team

This team consists of specialists who help stream-aligned teams acquire missing capabilities. They are like internal consultants or coaches who work to up-skill other teams.

  • Purpose: To research, experiment with, and disseminate new practices, tools, and techniques. They act as "servant leaders," helping other teams improve.
  • Key Characteristic: Their work is temporary and facilitative. They might embed with a stream-aligned team for a few weeks to help them adopt a new testing framework or CI/CD practice, and then they move on. They do not own any part of the production system long-term.
  • Architectural Implication: This role reflects the shift of the modern architect from a centralized gatekeeper to a distributed enabler, a theme we discussed in the first module.

3. Complicated-Subsystem Team

This is an optional and rare team type, used only when a part of the system requires such deep, specialized knowledge that it would be unreasonable to expect a stream-aligned team to manage it.

  • Purpose: To abstract away complexity. They build and maintain a specific, complex component (e.g., a real-time bidding algorithm, a face-recognition engine, a video transcoding library).
  • Key Characteristic: The key decision point is cognitive load. If including this subsystem in a stream-aligned team's responsibilities would overwhelm them, it justifies creating a dedicated team.
  • Architectural Implication: This team essentially provides a complex component with a well-defined API, treating it "as-a-service" for other teams to consume. It's an explicit exception to the rule of avoiding component teams.

4. Platform Team

This is the team type most directly related to your interest in platform engineering. A platform team's purpose is to enable stream-aligned teams to deliver their work with substantial autonomy. They do this by providing a compelling internal platform of self-service tools, APIs, and services.

  • Purpose: To reduce the extraneous cognitive load for stream-aligned teams. Instead of each team figuring out how to do CI/CD, monitoring, or infrastructure provisioning, the platform team provides a paved "golden path."
  • Key Characteristic: The platform is treated as a product, and the stream-aligned teams are its customers. The platform team's goal is to make its services as easy to consume as possible.
  • Architectural Implication: This is the foundation of an Internal Developer Platform (IDP). It directly supports the scalability of the organization by preventing each stream-aligned team from reinventing the wheel, promoting reuse and consistency without enforcing rigid, top-down standards.

This diagram provides a great summary of all the concepts we've discussed, including the team types, their interaction modes (which we'll cover next), and the foundational principles.

This comprehensive diagram summarizes the four team types, their primary interaction modes, and foundational concepts like Conway's Law and cognitive load. It serves as an excellent reference for how the pieces of the Team Topologies model fit together.

Part 3: Seeing It in Action

To solidify your understanding of how these team types function in a real-world context, let's watch a segment from a talk by Matthew Skelton. He explains the rationale behind each team type and how they exist to support a fast flow of change.

Team Topologies Explained

In this interview from the Flight Levels Academy, co-author Matthew Skelton provides a clear, step-by-step explanation of the four team types and their primary purpose.

Please watch the segment from "The Four Topologies". As you watch, notice how his explanation constantly returns to two core principles: Enabling a fast flow of change for stream-aligned teams. Reducing the cognitive load on those teams.

The key insight is that the choice to create an enabling, complicated-subsystem, or platform team is always driven by the needs of the stream-aligned teams. It’s a deliberate design decision aimed at optimizing the organization for value delivery.


Conclusion

In this lesson, we have moved from the observational principle of Conway's Law to the prescriptive framework of Team Topologies. You now have a practical vocabulary for designing and discussing team structures in a way that directly impacts architectural outcomes.

Key Takeaways:

  • Cognitive Load: The central challenge in modern software delivery is managing the mental effort required of teams. The goal is to minimize extraneous load to maximize focus on the core business domain (germane load).
  • Four Fundamental Team Types: Team Topologies simplifies organizational design by proposing just four team types.
    • Stream-Aligned: The primary value-delivery units with end-to-end ownership.
    • Enabling: Specialist coaches who help other teams level up.
    • Complicated-Subsystem: An optional team for handling exceptionally complex, specialized components.
    • Platform: Providers of internal self-service capabilities that reduce extraneous load and accelerate delivery.
  • A Team-First Approach: All other team types are designed to serve the needs of stream-aligned teams, helping them maintain a fast flow of change.

Preview of the Next Lesson

Defining the teams is only the first step. For an organization to function effectively, we also need to define how these teams communicate and interact with each other. In our next lesson, we will explore the three core team interaction modes defined by Team Topologies: Collaboration, X-as-a-Service, and Facilitating. This will complete the foundational picture of how to intentionally design a sociotechnical system for high performance.