3 min read

Team Topologies

Team Topologies

Let HR design our software systems, said no one ever, yet many do it.

The job of an architect is about more than just technology and designing software. It's about designing software, solving problems within a specific organizational context, and being aware of what's happening around you so that you can successfully navigate and influence that context where necessary. Strategic communication at all levels of the organization is crucial to this job title.

Team Topologies puts a different spin on that concept by not allowing HR to play the architect role. And suggest paths to build a software company optimizing for flow and set up for success, or put on a way for it.

The core concepts are simple. Stream-aligned teams that deliver from end to end, with no stop gaps and gatekeepers in the way. Platform teams that expose 'infrastructure' in a convenient and useable way, just like a purpose build product for stream-aligned teams. Enabling teams may step in for a short time to get the stream-aligned teams up to speed. And these teams may collaborate, but beware of the cognitive overhead of this approach. Or best expose X-as-a-Service with decent documentation.

I like the view team topologies introduce; they shift the field and show potential solutions to software delivery. As books need a minimum length to be worthy of publishing, I have read a few where 20 pages are content, and the other 180 are bloated. Team Topologies is refreshingly different from these.

Team Topologies

Don't let HR design your software

check it out

Team Topologies is a framework that helps organizations to structure their teams effectively by understanding the fundamental patterns of team interaction. The framework is based on the principle that different team structures are suitable for different types of work. There are four primary team types in this framework: Stream Aligned Teams, Enabling Teams, Complicated Subsystems Teams, and Platform Teams.

Stream Aligned Teams

Stream Aligned Teams are cross-functional teams that are responsible for delivering business value. They are designed to work on a single product or service, which makes them focused on delivering customer satisfaction. These teams are also responsible for maintaining and enhancing the product or service they are working on. Stream Aligned Teams work in close collaboration with other teams in the organization, such as Enabling Teams and Platform Teams.

Enabling Teams

Enabling Teams are focused on improving the productivity and effectiveness of Stream Aligned Teams. They work on creating and maintaining tools, frameworks, and processes that make it easier for Stream Aligned Teams to deliver business value. Enabling Teams also focus on ensuring that teams have the necessary skills and knowledge to deliver their work effectively.

Complicated Subsystems Teams

Complicated Subsystems Teams are responsible for working on complex, mission-critical components of the product or service. These components are often challenging to work on, and they require specialized expertise. Complicated Subsystems Teams work in close collaboration with Stream Aligned Teams to ensure that the product or service they are working on is delivered on time and to the required quality standards.

Platform Teams

Platform Teams are responsible for creating and maintaining the technical infrastructure that enables Stream Aligned Teams to deliver business value. They work on developing and maintaining the core components of the technology stack that underpins the organization's products and services.

Benefits of Team Topologies

The Team Topologies framework has several benefits for organizations, including:

  1. Clear Team Roles: The framework provides clear guidelines on the roles and responsibilities of different team types. This ensures that everyone in the organization understands their role and how they contribute to the success of the organization.
  2. Improved Communication: By creating clear team structures, the framework encourages open communication and collaboration between different teams. This helps to reduce silos within the organization and promotes a culture of teamwork and cooperation.
  3. Increased Agility: The Team Topologies framework is designed to be flexible and adaptable to changing circumstances. This means that organizations can quickly respond to new challenges and opportunities as they arise.

Implementing Team Topologies in your organization

Implementing Team Topologies in your organization requires a thorough understanding of your business needs and the products or services you provide. Here are some steps you can follow to implement the framework:

  1. Analyze your current team structure: Conduct an analysis of your current team structure and identify areas where you need to make changes. This analysis should take into account the types of work you do and the skills required to deliver that work effectively.
  2. Define your team types: Once you have analyzed your current team structure, define the team types you need to create to support your business needs. This should include Stream Aligned Teams, Enabling Teams, Complicated Subsystems Teams, and Platform Teams.
  3. Create your teams: Create your teams and define their roles and responsibilities. Ensure that each team has the necessary skills and knowledge to deliver their work effectively.
  4. Establish collaboration and communication channels: Establish communication and collaboration