Searching...
English
English
Español
简体中文
Français
Deutsch
日本語
Português
Italiano
한국어
Русский
Nederlands
العربية
Polski
हिन्दी
Tiếng Việt
Svenska
Ελληνικά
Türkçe
ไทย
Čeština
Română
Magyar
Українська
Bahasa Indonesia
Dansk
Suomi
Български
עברית
Norsk
Hrvatski
Català
Slovenčina
Lietuvių
Slovenščina
Српски
Eesti
Latviešu
فارسی
മലയാളം
தமிழ்
اردو
Team Topologies

Team Topologies

Organizing Business and Technology Teams for Fast Flow
by Matthew Skelton 2019 240 pages
Management
Business
Leadership
Listen
10 minutes

Key Takeaways

1. Conway's law shapes software architecture through team structures

If the architecture of the system and the architecture of the organization are at odds, the architecture of the organization wins.

Communication structures matter. Conway's law reveals that an organization's communication structure directly influences the design of the systems it creates. This principle has profound implications for software architecture and team organization. By aligning team structures with desired system architectures, organizations can leverage Conway's law to their advantage.

Reverse Conway maneuver. Instead of letting team structures dictate system design, organizations can intentionally shape their teams to produce the desired architecture. This approach, known as the "reverse Conway maneuver," involves:

  • Identifying the target system architecture
  • Designing team structures that mirror this architecture
  • Allowing the natural forces of Conway's law to guide development

Strategic team design. By consciously designing team structures, organizations can:

  • Encourage modular, loosely-coupled systems
  • Promote clear interfaces between components
  • Enhance system maintainability and scalability

2. Team-first approach optimizes for cognitive load and flow

Reducing cognitive load for teams and facilitating team interactions helps to optimize flow.

Cognitive load matters. The team-first approach recognizes that there's a limit to the complexity a team can effectively manage. By prioritizing team cognitive capacity, organizations can:

  • Enhance productivity and innovation
  • Reduce stress and burnout
  • Improve code quality and system reliability

Strategies for managing cognitive load:

  • Limit team responsibilities to match their cognitive capacity
  • Break down large systems into team-sized components
  • Provide clear, well-defined interfaces between teams
  • Invest in tools and platforms that simplify complex tasks

Optimizing for flow. By reducing unnecessary cognitive burdens, teams can achieve a state of flow, characterized by:

  • High productivity and creativity
  • Increased job satisfaction
  • Faster problem-solving and innovation

3. Four fundamental team topologies drive effective software delivery

The four fundamental Team Topologies are: stream-aligned, enabling, complicated subsystem, and platform.

Stream-aligned teams form the backbone of the organization, delivering value directly to users or customers. They are:

  • Cross-functional
  • Aligned to a specific product, service, or user journey
  • Empowered to deliver end-to-end value

Enabling teams support and accelerate stream-aligned teams by:

  • Providing specialized expertise
  • Conducting research and prototyping
  • Facilitating knowledge transfer

Complicated-subsystem teams manage complex components that require deep expertise, allowing stream-aligned teams to focus on delivering value.

Platform teams provide internal services and tools that empower stream-aligned teams to work more efficiently and autonomously.

By adopting these four team types, organizations can:

  • Clarify team responsibilities and interactions
  • Reduce dependencies and bottlenecks
  • Enhance overall delivery speed and quality

4. Well-defined team interaction modes enhance collaboration and productivity

Limiting team interaction to three modes—collaboration, X-as-a-Service, and facilitating—simplifies and clarifies essential interactions between teams building software systems.

Collaboration mode involves close teamwork for discovery and innovation. It's best used:

  • During early phases of new system development
  • For solving complex, cross-cutting problems
  • When rapid learning and adaptation are crucial

X-as-a-Service mode establishes clear provider-consumer relationships between teams. It's ideal for:

  • Stable, well-defined services or components
  • Maximizing team autonomy
  • Enabling predictable, scalable interactions

Facilitating mode involves one team helping another to develop new capabilities. It's useful for:

  • Knowledge transfer and skill development
  • Temporary support during transitions
  • Addressing cross-team challenges

By explicitly defining these interaction modes, organizations can:

  • Reduce ambiguity in team relationships
  • Enhance focus and productivity
  • Facilitate smoother cross-team collaborations

5. Align software boundaries with team cognitive capacities

Choose software boundaries to match team cognitive load.

Team-sized architecture. Aligning software boundaries with team cognitive capacities ensures that teams can effectively own and evolve their parts of the system. This approach leads to:

  • Increased ownership and accountability
  • Faster development and problem-solving
  • Improved system maintainability

Strategies for defining boundaries:

  • Use domain-driven design to identify natural system boundaries
  • Consider team size and expertise when defining component scope
  • Leverage microservices architecture to create manageable, team-sized services

Benefits of proper boundary alignment:

  • Reduced cognitive overload for teams
  • Clearer responsibilities and interfaces between teams
  • Enhanced ability to evolve and scale the system over time

6. Platforms should be "just big enough" to support stream-aligned teams

A good platform provides standards, templates, APIs, and well-proven best practices for Dev teams to use to innovate rapidly and effectively.

Thinnest viable platform (TVP). The ideal platform provides just enough support to accelerate stream-aligned teams without becoming overly complex or restrictive. Characteristics of a good TVP include:

  • Clear, well-documented APIs
  • Self-service capabilities
  • Abstraction of common, complex tasks

Platform evolution. As the organization grows and technologies change, the platform should evolve to:

  • Address emerging needs of stream-aligned teams
  • Incorporate new technologies and best practices
  • Simplify or remove underutilized features

Benefits of a well-designed platform:

  • Reduced cognitive load for stream-aligned teams
  • Faster time-to-market for new features and products
  • Improved consistency and reliability across systems

7. Evolve team structures continually to adapt to changing needs

Different topologies and different team interactions for different parts of an organization need to evolve at different times based on what they are doing and what they are trying to achieve.

Organizational sensing. Continuously monitor and assess team effectiveness and interactions to identify opportunities for improvement. Key indicators include:

  • Delivery speed and quality
  • Team satisfaction and engagement
  • Cross-team collaboration effectiveness

Adaptive team structures. Be prepared to adjust team topologies and interaction modes as needs change. This might involve:

  • Splitting or merging teams
  • Shifting between collaboration and X-as-a-Service modes
  • Creating or disbanding enabling teams

Benefits of continuous evolution:

  • Improved responsiveness to market and technology changes
  • Enhanced team effectiveness and satisfaction
  • Optimized organizational structure for current goals and challenges

8. Treat operations as high-fidelity sensory input for development

Treating Ops as an input to Dev requires a radical rethinking of the roles of these often-separate groups.

DevOps integration. Blurring the lines between development and operations creates a feedback loop that enhances overall system quality and reliability. This approach involves:

  • Shared responsibility for system performance
  • Continuous feedback from production to development
  • Collaborative problem-solving across traditional boundaries

Benefits of ops-as-input:

  • Faster identification and resolution of issues
  • Improved system reliability and performance
  • Enhanced empathy between development and operations teams

Strategies for implementation:

  • Implement robust monitoring and alerting systems
  • Establish cross-functional teams with both dev and ops expertise
  • Create processes for rapid feedback and iteration based on operational insights

9. Design for team-sized software architecture to enhance ownership

A team working with software systems that require too high of a cognitive load cannot effectively own or safely evolve the software.

Team-sized components. Break down large systems into manageable, team-sized components that align with team cognitive capacities. This approach:

  • Enhances team ownership and accountability
  • Facilitates faster development and problem-solving
  • Improves overall system maintainability

Strategies for implementation:

  • Use domain-driven design to identify natural system boundaries
  • Leverage microservices architecture to create manageable services
  • Align team responsibilities with well-defined system components

Benefits of team-sized architecture:

  • Reduced cognitive overload for teams
  • Clearer responsibilities and interfaces between teams
  • Enhanced ability to evolve and scale the system over time
  • Improved team satisfaction and engagement

Last updated:

Review Summary

4.21 out of 5
Average of 4k+ ratings from Goodreads and Amazon.

Team Topologies offers insights on organizing IT teams for high performance, emphasizing a team-centric approach critical for DevOps and Agile success. It presents four fundamental team types and three interaction modes as tools for building agile organizations. While praised for its comprehensive model and practical advice, some reviewers found it repetitive and lacking in certain areas. The book is recommended for leaders in software development, though opinions vary on its depth and applicability across different organizational contexts.

About the Author

Matthew Skelton is a British-Canadian author who began his writing career while working in academia. He spent his early years in Canada before returning to the UK, where he worked as a research assistant at Oxford. Skelton's literary breakthrough came in 2002 when he won Richard and Judy's short story competition. His first novel, Endymion Spring, marked his debut as a published author. Skelton's background in academia and his international upbringing have likely influenced his writing style and themes.

0:00
-0:00
1x
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Listening – audio summariesListen to the first takeaway of every book for free, upgrade to Pro for unlimited listening.
Unlock unlimited listening
Your first week's on us!
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 5: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Sep 28,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to full summaries
Free users can listen to the first takeaway only
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
15,000+ readers
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.