Team Types
Overview¶
At the heart of the Team Topologies framework lies the concept of defining teams based on their core responsibilities and the nature of their work. This classification promotes efficiency, clarity in roles, and optimal collaboration within the organization. The four fundamental team types identified are Stream-aligned Teams, Enabling Teams, Complicated Subsystem Teams, and Platform Teams. Each team type plays a critical role in your software delivery ecosystem, ensuring your organization can respond rapidly and effectively to market changes, technological advancements, and internal needs.
Stream-aligned Teams¶
Purpose: Stream-aligned Teams are focused on continuously delivering value to customers. They are aligned with a specific stream of work, product, or service, making them highly customer-centric.
Characteristics:
- End-to-end responsibility for specific business functionalities or customer experiences.
- Cross-functional composition, encompassing all skills necessary to deliver value from concept to production.
- High autonomy and empowered to make decisions affecting their stream of work.
Value Add:
- Enhanced responsiveness to customer needs and market changes.
- Reduced handoffs and dependencies, leading to faster delivery times.
- Improved ownership and accountability for product or service quality.
Enabling Teams¶
Purpose: Enabling Teams support Stream-aligned Teams by providing expertise and assistance in overcoming technical obstacles or in acquiring new skills.
Characteristics:
- Composed of specialists in various domains (e.g., security, DevOps, user experience).
- Work closely with Stream-aligned Teams, offering guidance, mentoring, and support.
- Focus on uplifting capabilities and fostering innovation within Stream-aligned Teams.
Value Add:
- Accelerated learning and skill development across the organization.
- Enhanced ability to tackle complex challenges and implement best practices.
- Facilitates continuous improvement and knowledge sharing.
Complicated Subsystem Teams¶
Purpose: Complicated Subsystem Teams manage parts of the system that require deep technical expertise due to their complexity.
Characteristics:
- Highly specialized focus on certain technological or domain-specific aspects of the system.
- Operate semi-independently, providing critical components or services to Stream-aligned Teams.
- Ensure the reliability and performance of complex subsystems that are integral to the organization's products or services.
Value Add:
- Ensures high-quality management of complex system parts, reducing the cognitive load on Stream-aligned Teams.
- Leverages deep expertise to innovate and maintain critical subsystems efficiently.
- Supports the overall system's scalability and performance through specialized focus.
Platform Teams¶
Purpose: Platform Teams develop and maintain the internal platforms that enable Stream-aligned Teams to deliver their work more efficiently and effectively.
Characteristics:
- Provide a set of tools, services, and capabilities as a product to internal customers (the Stream-aligned Teams).
- Focus on the reliability, scalability, and usability of the platform.
- Encourage self-service capabilities for Stream-aligned Teams, minimizing the need for direct interaction.
Value Add:
- Reduces duplication of effort and streamlines development processes across the organization.
- Enhances the autonomy of Stream-aligned Teams by providing a robust, reliable foundation.
- Promotes innovation and efficiency by centralizing and standardizing common services and tools.
Carefully defining and leveraging these team types, organizations can create a more flexible, responsive, and efficient structure for software delivery. This alignment ensures that teams are not only focused on their specific areas of expertise but also contribute to the overarching goal of delivering value rapidly and sustainably to the customer.