Understanding Team Topologies
Team Topologies by Matthew Skelton and Manuel Pais focuses on how to design and evolve organizational teams in a way that supports modern software development. The book provides a framework for structuring teams and their interactions to optimize for fast flow of change, sustainability, and adaptability.
Key Team Topologies:
The book introduces four core team types that are essential for building and running software systems:
-
Stream-aligned team:
- A team aligned to a specific flow of work (a product or a service) from conception to delivery and beyond.
- Their main responsibility is delivering value to the customer.
- Examples: teams responsible for particular features or business domains.
-
Enabling team:
- Helps other teams overcome obstacles, usually technical in nature.
- They don't own the delivery of features but guide other teams to become more self-sufficient.
- Examples: teams focused on best practices, tools, or new technologies that help streamline work for other teams.
-
Complicated subsystem team:
- Responsible for areas that require specialized knowledge, often due to complexity or scale.
- They are more focused on deep technical or domain expertise.
- Examples: teams working on algorithm-heavy areas like machine learning or optimization models.
-
Platform team:
- Provides internal services that are consumed by stream-aligned teams to accelerate delivery.
- Focused on building reusable, scalable platforms that reduce cognitive load on other teams.
- Examples: infrastructure, CI/CD platforms, or development tooling teams.
Key Team Interactions:
To ensure teams collaborate effectively, Team Topologies emphasizes the importance of interactions between teams. There are three primary types of team interactions:
-
Collaboration:
- Two or more teams work closely together, usually for a limited period, to achieve a specific goal.
- This happens when a stream-aligned team needs deep expertise from a platform or complicated subsystem team.
-
Facilitation:
- An enabling team works with a stream-aligned team to help them adopt new practices or overcome bottlenecks.
- This relationship is temporary and focused on upskilling or problem-solving.
-
X-as-a-Service:
- One team provides services (like a platform or specialized functionality) to other teams, allowing for a more independent relationship.
- It enables stream-aligned teams to consume these services without needing to deeply understand or maintain them.
This model emphasizes minimizing cognitive load on teams by focusing on clear boundaries and responsibilities, enabling quicker delivery and smoother collaboration.