Many organizations are struggling with their business agility transformation. One of the reasons is the way they have organized their teams. The focus was probably on efficiency and if these teams start to use agile ways of working, this doesn’t make the organization agile.
The book Team Topologies – Organizing business and technology teams for fast flow, by Matthew Skelton and Manuel Pais, will help you to design a team organization structure that helps you to become more agile. Using their ideas will help to overcome some obstacles for fast flow. E.g. pushing against Conway’s law, software that is to big for teams, confusing organization design options, teams that are pulled in many directions, painful re-organizations every few years, blocked flow, too many surprises and disengaged teams.
The book is divided into three parts. Part I focusses on teams as the means of delivery. Part II explains team topologies that work for flow and part III elaborates on evolving team interactions for innovation and rapid delivery.
The book explains the seven core ideas behind team topologies:
1 Conway’s law. “Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” Conway’s law tells us that an organization’s structure and the actual communication paths between teams persevere in the resulting architecture of the system built
2 Team first. Start with the team for effective software delivery. There are multiple aspects to consider and nurture: team size, team lifespan, team relationships, and team cognition. Organizational groupings should follow Dunbar’s number, beginning with around 5-8 people, then increasing to around 15 people, then 50, then 150, then 500, and so on. Organizational groupings should follow Dunbar’s number, beginning with around 5-8 people, then increasing to around 15 people, then 50, then 150, then 500, and so on. Cognitive load: “The total amount of mental effort being used in the working memory.” Restrict team responsibilities to match the maximum team cognitive load. The following three different kinds of cognitive load are explained:
- Intrinsic cognitive load – relates to aspects of the task fundamental to the problem space
- Extraneous cognitive load – relates to the environment in which the task is being done
- Germane cognitive load – relates to aspects of the task that need special attention for learning or high performance.
3 Four fundamental topologies. The four fundamental team topologies are explained including expected behavior and capabilities:
- Stream-Aligned Team: a team aligned to the main flow of business change, with cross-functional skills mix and the ability to deliver significant increments without waiting on another team (some would call these teams “product or feature teams” but talking about streams makes more sense)
- Platform team: a team that works on the underlying platform supporting stream-aligned teams in delivery. The platform simplifies otherwise complex technology and reduces cognitive load for teams that use it (a good platform is “just big enough”)
- Enabling team: a team that assists other teams in adopting and modifying software as part of a transition or learning period
- Complicated-Subsystem Team: a team with a special remit for a subsystem that is too complicated to be dealt with by a normal stream-aligned team or platform team. Optional and only used when really necessary.
4 Team interaction modes. The primary interaction modes for the 4 fundamental team topologies are:
- Collaboration: working closely together with another team
- X-as-a Service: consuming or providing something with minimal collaboration
- Facilitating: helping (or being helped by) another team to clear impediments
5 Organizational sensing. Expect to adapt and evolve your organization structure.
6 Topology evolution. An organization should expect to see different kinds of interactions between different kinds of teams at any given time as the organization responds to new challenges
7 Team API. A description of the entire interactions with the team: code, versioning, wiki and documentation, practices and principles, communication, work information and other.
Combine a team-first approach with Conway’s lay, the four fundamental topologies, team interaction modes, topology evolution, and organization sensing. Get started: begin with the team, identify streams, identify the thinnest viable platform, identify capability gaps, and practice team interactions.
Conclusion. I would say a great book for those who are designing their agile transition. This book will help to understand where you have to think about when creating your team topology. You get lots of case studies and industry examples.