Team Topologies¶
Team Topologies is an organizational design framework that provides a clear, practical model for organizing business and technology teams for fast flow. It optimizes team structures and interaction modes to reduce cognitive load and enhance the continuous delivery of software value.
1. Category¶
1.1. Team Types¶
Core team types define the distinct responsibilities, boundaries, and mandates assigned to organizational units. Defining strict team types helps reduce ambiguity, eliminate overlapping responsibilities, and protect teams from expanding cognitive load.
-
Types and Scopes
-
Stream-Aligned Team
A stream-aligned team is focused on a continuous flow of work aligned to a single business domain or value stream. They are cross-functional, autonomous, and capable of delivering value from concept to production without handoffs.
-
Enabling Team
An enabling team consists of specialists who help stream-aligned teams acquire new capabilities, tools, and engineering practices. They act as internal consultants or coaches, avoiding permanent ownership of application code.
-
Complicated-Subsystem Team
A complicated-subsystem team is responsible for a part of the system that requires deep, specialized knowledge or complex technical expertise. They insulate stream-aligned teams from overwhelming technical complexities.
-
Platform Team
A platform team builds and maintains an underlying digital platform (such as internal APIs, infrastructure services, or development tools) that enables stream-aligned teams to deliver value autonomously and with minimal friction.
-
1.2. Interaction Modes¶
Interaction Modes define how different team types collaborate and communicate with one another. Clear interaction boundaries prevent friction, avoid unintended dependencies, and establish predictable operational behavior across the organization.
-
Types and Scopes
-
CollaborationTwo teams working closely together for a defined period to discover, innovate, or resolve cross-boundary challenges. It features high communication overhead but yields fast discovery.
-
X-as-a-ServiceOne team consumes a component, API, or service provided by another team with minimal friction or direct interaction. The boundary is clean and supported by strong documentation.
-
FacilitatingOne team (typically an enabling team) coaches, guides, or clears obstacles for another team, helping them learn a new capability or adopt a new tool without taking over execution.
-
2. Principles¶
-
Conway's Law
Structure teams to match the desired software architecture. The organization's communication structures heavily influence the design of the systems they build, making an Inverse Conway Maneuver crucial for architectural success.
-
Team Cognitive Load
Treat team cognitive load as a limiting factor for engineering velocity. Size teams and domain boundaries appropriately so that team members can fully understand and own their codebase without burnout.
-
Evolutionary Architecture
Recognize that team structures must change over time as software and organizational needs evolve. Avoid establishing permanent, static structures and instead design for dynamic reconfiguration.
-
Fast Flow
Optimize all organization and system design choices to accelerate the end-to-end delivery of value, minimizing wait times, handoffs, and external blockers.
-
Team-First Approach
Treat the team, not the individual, as the fundamental unit of delivery. Foster long-lived, high-trust teams with stable membership to maximize collaboration efficiency and domain expertise.
-
Loose Coupling
Design teams and software systems to be loosely coupled but highly aligned, minimizing cross-team dependencies and unlocking independent, decentralized deployment paths.
3. References¶
- Team Topologies Official Key Concepts page.
- Martin Fowler Team Topologies article.