Maximising Team Effectiveness

In the world of software development, adaptability, efficiency and effectiveness are hugely important. As organisations shift towards more agile and collaborative structures, “Team Topologies” emerges as a guiding philosophy that can transform the way software businesses operate. In this article, we explore the application of Team Topologies in a SaaS business, focusing on its four distinct team types and the three different interaction modes.

The background

I’ve recently had a requirement to unblock multiple product teams using an approach that had to be quick to implement, easy to maintain and scalable. My initial thought was that quick to implement does not usually go hand in hand with maintainable and scalable! However, after researching various options, so much about Team Topologies really resonated with me so I was really keen to see if it lived up to the potential.

For a growing SaaS business that currently had 3 well sized product teams, all following Scrum, it seemed that a likely solution to unblock the team with increasing dependencies on one of the other teams was to introduce something like Nexus. When digging a little deeper though, it became clear that there were other contributing factors in play:

  • The business was undertaking a microservices transformation.
  • A new product was being developed, with dual purpose of targeting a new customer market and better serve existing customers who made use of more than one existing product offered by the business.
  • A key objective was to amalgamate data from multiple sources of data, including both internal and external systems, and there was a shared single point of failure across the teams for work of this nature.

Why Team Topologies?

Since I was familiar with Conway’s Law, I was alerted to the risk of a microservices transformation being undertaken without also adapting the organisational structure. It was only when reading about the Inverse Conway Manoeuvre that I started to see lots of references to Team Topologies. So many of the identified obstacles to fast flow resonated with me.

Team Topologies Obstacles to Fast Flow
Team Topologies by Matthew Skelton and Manuel Pais : Obstacles to Fast Flow

My interest was piqued, and I quickly started to see more and more relevance in taking a team first approach to solving the problem at hand.

The four different team types

Team Topologies Four Team Types
Team Topologies by Matthew Skelton and Manuel Pais : Four Team Types
  1. Stream-aligned teams:
    Stream-aligned teams are akin to the frontline troops in a software business. They are responsible for delivering specific products, services, or features end-to-end. These teams align with value streams or key business capabilities. Their main purpose is to ensure that customer needs are met efficiently. Use cases for Stream-aligned teams include developing customer-facing applications, delivering new features, or optimising user experiences.
  2. Platform teams:
    Platform teams provide the foundational infrastructure and services that empower other teams to perform effectively. They build and maintain the tools, libraries, and deployment pipelines that underpin software development efforts. Platform teams are essential for reducing redundancy and ensuring consistency across projects. Their use cases encompass creating shared services, managing infrastructure, and offering developer support tools.
  3. Enabling teams:
    Enabling teams serve as mentors and coaches, helping other teams adopt best practices and improve their processes. They play a critical role in fostering a culture of continuous improvement. These teams facilitate learning, remove impediments, and support knowledge sharing. Use cases include providing training, conducting workshops, and offering guidance on Agile methodologies and development practices.
  4. Complicated-subsystem teams:
    Complicated-subsystem teams specialise in managing complex and critical components of a software system. They possess deep knowledge and expertise in specific areas that are essential to the business. These teams focus on maintaining and evolving intricate subsystems. Use cases involve handling complex databases, specialised algorithms, or legacy systems.

The three different interaction modes

Team Topologies Three Interaction Modes
Team Topologies by Matthew Skelton and Manuel Pais : Three Interaction Modes
  1. Collaboration mode:
    Collaboration mode encourages open and frequent communication between teams. This mode is ideal for stream-aligned teams and enabling teams, fostering collaboration and knowledge sharing. Pros include improved cross-functional understanding and the rapid exchange of information. However, over-communication can lead to information overload and slower decision-making.
  2. X-as-a-service mode:
    X-as-a-service mode enables platform teams to offer self-service capabilities to other teams. It promotes autonomy and reduces dependency on platform teams. Pros include streamlined access to shared services, empowering teams to deliver their work efficiently. However, it may require additional effort for platform teams to maintain these services and ensure they meet diverse needs.
  3. Facilitating mode:
    Facilitating mode empowers enabling teams to coach and mentor other teams. It focuses on building skills and capabilities across the organisation. Pros include targeted support and tailored guidance. However, it may require significant time and effort from enabling teams to address individual team needs effectively.

Pros and cons of each interaction mode

  • Collaboration mode:
  • Pros: Enhanced collaboration, shared understanding, and rapid knowledge transfer.
  • Cons: Risk of information overload, potential for slower decision-making.
  • X-as-a-service mode:
  • Pros: Empowers teams with self-service capabilities, reduces dependency on platform teams.
  • Cons: Requires ongoing maintenance of shared services, might not meet all team-specific needs.
  • Facilitating Mode:
  • Pros: Tailored coaching and guidance, supports skill development.
  • Cons: Demands time and effort from enabling teams, may not scale easily.

Use cases for each team type and interaction mode

Team Topologies Team Interaction Modes
Team Topologies by Matthew Skelton and Manuel Pais : Primary interaction modes of the four team types
  • Stream-aligned teams:
  • Collaboration mode: For cross-functional alignment within the team.
  • X-as-a-service mode: When they require access to shared infrastructure.
  • Facilitating mode: To enhance their Agile practices and skills.
  • Platform teams:
  • Collaboration mode: To understand the specific needs of other teams.
  • X-as-a-service mode: Offering self-service tools and services.
  • Facilitating mode: Coaching other teams on using platform services effectively.
  • Enabling teams:
  • Collaboration mode: To collaborate with teams on process improvement.
  • X-as-a-service mode: When offering training or documentation as a service.
  • Facilitating mode: As the primary mode to mentor and coach other teams.
  • Complicated-subsystem teams:
  • Collaboration mode: For deep technical discussions and knowledge sharing.
  • X-as-a-service mode: When their expertise can be offered as a service.
  • Facilitating mode: To train and guide other teams on using complex components.

Conclusion

Applying Team Topologies in a SaaS business can lead to enhanced collaboration, streamlined workflows, and improved adaptability. By understanding the four team types and the three interaction modes, organisations can tailor their approach to fit their specific needs. Effective implementation of Team Topologies can foster a culture of continuous improvement and enable software businesses to thrive in the ever-changing digital landscape.

Leave a Reply

Your email address will not be published. Required fields are marked *