Profile picture of Jim Pruetting

Team Topologies

The Problem With Org Charts

Conway’s Law and Why It Matters

Team-First Thinking

Static Team Topologies

Fundamental Team Topologies

Team Interaction Modes

Team Boundaries

Evolving Team Structures

Cognitive Load and Team Design

Design for Team APIs

Platforms as a Product

Conway’s Law in Reverse

Key Takeaways

  1. Prioritize team structure: Design team structures intentionally to support business and technical goals
  2. Limit to four team types: Use stream-aligned, platform, enabling, and complicated-subsystem teams as your primary types
  3. Manage cognitive load: Structure teams to keep cognitive load at a sustainable level
  4. Design team interactions: Define explicit interaction modes between teams (collaboration, X-as-a-Service, facilitating)
  5. Create clear boundaries: Establish explicit team boundaries with well-defined interfaces
  6. Address Conway’s Law: Use organizational design to influence system architecture (and vice versa)
  7. Evolve team structures: Continuously adapt team structures to changing business and technical needs
  8. Design for flow: Optimize team structures for smooth flow of change from idea to production
  9. Build team-first organizations: Make teams, not individuals, the fundamental unit of delivery
  10. Treat platforms as products: Design internal platforms with the same care as customer-facing products