The following is a Q&A with Manuel Pais and Matthew Skelton, authors of the book Team Topologies: Organizing Business and Technology Teams for Fast Flow.
Who or what inspired you to write 'Team Topologies'?
'Team Topologies' is inspired by the DevOps Team Topologies website that Matthew [Skelton] created years ago and Manuel [Pais] helped expand.
Many organizations, such as Netflix or Adidas, used those patterns and anti-patterns to rethink and evolve their IT organization. Meanwhile, we worked together with many organizations around the world, helping them shape their teams for modern software delivery and operations. 'Team Topologies' is the result of that experience.
How is this book relevant in the world of digital transformation?
Digital transformation is not just about changing products, technology and ways of working. While that might be necessary, true digital transformation requires changing the organization to become an adaptive and evolutionary organism.
The pace of technology and market change today across all industries is unparalleled, and being able to move quickly and safely requires the capacity to adapt the organization quickly. Strong digital organizations today can become obsolete in a matter of years or even months if they don't evolve their team patterns and interactions and take full advantage of their people's skills and teamwork.
How can CIOs benefit from reading 'Team Topologies'?
'Team Topologies' demonstrates an evolutionary, team-first approach to organization design, taking into consideration the mirroring effect of Conway's Law. This law, confirmed by multiple independent studies, states that the communication structures in an organization strongly influence the final architecture in any software system. This means that thinking of software as purely technical decisions without regard for the organizational structure will lead to delivery of problematic systems and wasted effort as teams try to 'fight' the naturally emerging architecture.
'Team Topologies' provides a practical approach for CIOs to leverage Conway's Law into a strategic advantage by organizing their teams to maximize the chance of producing the desired systems, rather than, unknowingly, being negatively affected by it.
The book also covers many other important aspects for high-performing modern tech organizations, such as treating teams as fundamental units of delivery and the impact on team composition, office layout, rewards and so on; how to simplify the intercommunication between teams, being more intentional about purpose, duration and outcomes of collaboration, thus minimizing waste and blockers to fast flow; how to evolve team structures depending on internal and external stimuli; and more.
The following is an excerpt from Chapter 1 in the book Team Topologies: Organizing Business and Technology Teams for Fast Flow.
Communication Structures of an Organization
Most organizations want or are required to have a single view of their teams and people called the "org chart." This chart depicts the teams, departments, units, and other organizational entities, as well as how they relate to each other. It usually shows hierarchical lines of reporting, which imply lines of communication running "up and down" the organization.
The org chart does have its uses in the context of building software systems, specifically around regulatory and legal compliance. However, in a highly collaborative context filled with uncertainty over outcomes, relying on the org chart as a principal mechanism of splitting the work to be done leads to unrealistic expectations. We need to rely instead on decoupled, long-lived teams that can collaborate effectively to meet the challenge of balancing speed and safety.
The problem with taking the org chart at face value is that we end up trying to architect people as if they were software, neatly keeping their communication within the accepted lines. But people don't restrict their communications only to those connected lines on the chart. We reach out to whomever we depend on to get work done. We bend the rules when required to achieve our goals. That's why actual communication lines look quite different from the org chart.
Org Chart Thinking Is the Problem
Traditional org charts don't help us understand what the actual patterns of communication in our organization are. Instead, organizations need to develop more realistic pictures of the expected and actual communication happening between individuals and teams. The gaps will help inform what types of systems are a better fit for the organization.
Furthermore, decisions based on org-chart structure tend to optimize for only part of the organization, ignoring upstream and downstream effects. Local optimizations help the teams directly involved, but they don't necessarily help improve the overall delivery of value to customers. Their impact might be negligent if there are larger bottlenecks in the stream of work. For example, having teams adopting cloud and infrastructure-as-code can reduce the time to provision new infrastructure from weeks or months to minutes or hours. But if every change requires deployment (to production) approval from a board that meets once a week, then delivery speed will remain weekly at best.
Systems thinking focuses on optimizing for the whole, looking at the overall flow of work, identifying what the largest bottleneck is today, and eliminating it. Then repeat. Team Topologies focuses on how to set up dynamic team structures and interaction modes that can help teams adapt quickly to new conditions, and achieve fast and safe software delivery. This might not be your largest bottleneck today, but eventually, you will face the issue of rigid team structures with poor communication and/or inadequate processes, slowing down delivery.
Thinking of the org chart as a faithful representation of how work gets done and how teams interact with each other leads to ineffective decisions around allocation of work and responsibilities. Much like a software architecture document gets outdated as soon as the actual software development starts, an org chart is always out of sync with reality.
Naturally, we are by no means the first to acknowledge the imbalance between formal organization structures and the way work actually gets done. Geary Rummler and Alan Brache's book Improving Performance: How to Manage the White Space on the Organization Chart set the stage for continuous business process improvement and management. The recent focus (at least within IT) on product and team centricity, as illustrated by Mik Kersten's book on moving from Project to Product, is another major milestone. We like to think that Team Topologies is another piece of this puzzle -- in particular, having clear and fluid team structures, responsibilities, and interaction modes.
Beyond the Org Chart
So if org charts are not an accurate representation of organizational structures, what is? Niels Pflaeging, author of Organize for Complexity, identifies not one but three different organizational structures in every organization:
- Formal structure (the org chart) -- facilitates compliance
- Informal structure -- the "realm of influence" between individuals
- Value creation structure -- how work actually gets done based on inter-personal and inter-team reputation
Pflaeging suggests that the key to successful knowledge work organizations is in the interactions between the informal structure and the value creation structure (that is, the interactions between people and teams). Other authors have proposed similar characterizations, such as Frédéric Laloux in Reinventing Organizations or Brian Robertson's Holacracy approach.
The Team Topologies approach acknowledges the importance of informal and value creation structures as defined by Pflaeging. By empowering teams, and treating them as fundamental building blocks, individuals inside those teams move closer together to act as a team rather than just a group of people. On the other hand, by explicitly agreeing on interaction modes with other teams, expectations on behaviors become clearer and inter-team trust grows.
Over the last several decades, there have been many new approaches to organizing businesses, but usually the new design remains a static view of the organization that does not take into consideration the real behaviors and structures that emerge after reorganization. For instance, the "matrix management" approach that started in the 1990s -- and became quite popular over the next couple of decades -- tried to address the inherent complexity of highly uncertain, highly skilled work by having individuals report to both business and functional managers. Despite a clearer focus on business value compared to a purely functional organization of teams, this is still a static view of the world that becomes outdated as the business and technology domains quickly evolve.
For workers, re-orgs, like introducing matrix management, can bring a lot of fear and worry. Often, it's seen as a time and effort drain that is more likely to set the business back rather than move it forward. And once the next technological or methodological revolution hits, the business undertakes yet another re-org, breaking down established forms of communication and splitting up teams that were just starting to get their mojo.
It is increasingly clear that relying on a single, static organizational structure, like the org chart or matrix management, is untenable for effective outcomes with modern software systems. Instead of a single structure, what is needed is a model that is adaptable to the current situation -- one that takes into consideration how teams grow and interact with each other. Team Topologies provides the (r)evolutionary approach required to keep teams, processes, and technology aligned for all kinds of organizations.
In her excellent 2015 book, Guide to Organisation Design: Creating High- Performing and Adaptable Enterprises, Naomi Stanford lists five rules of thumb for designing organizations:
- Design when there is a compelling reason.
- Develop options for deciding on a design.
- Choose the right time to design.
- Look for clues that things are out of alignment.
- Stay alert to the future.
As we continue to move through this book, we will explore how to address these five heuristics for organization design.
Team Topologies: A New Way of Thinking about Teams
The Team Topologies approach brings new thinking around effective team structures for enterprise software delivery. It provides a consistent, actionable guide for evolving team design to continuously cope with technology, people, and business changes, covering size, shape, placement, responsibilities, boundaries, and interaction of teams building and running modern software systems.
Team Topologies provides four fundamental team types -- stream-aligned, platform, enabling, and complicated-subsystem -- and three core team interaction modes -- collaboration, X-as-a-Service, and facilitating. Together with awareness of Conway's law, team cognitive load, and how to become a sensing organization, Team Topologies results in an effective and humanistic approach to building and running software systems.
In particular, it looks at ways in which different team topologies can evolve with technological and organizational maturity. Periods of technical and product discovery typically require a highly collaborative environment (with overlapping team boundaries) to succeed. But keeping the same structures when discovery is over (established technologies and product) can lead to wasted effort and misunderstandings.
By emphasizing an adaptive model for organization design and actively prioritizing the interrelationship of teams, the Team Topologies approach provides a key technology-agnostic mechanism for modern software-intensive enterprises to sense when a change in strategy is required (either from a business or technology viewpoint). The end goal is to help teams produce software that aligns with customer needs and is easier to build, run, and own.
Team Topologies also emphasizes a humanistic approach to designing and building software systems. It sees the team as an indivisible element of software delivery and acknowledges that teams have a finite cognitive capacity that needs to be respected. Together with the dynamic team design solidly grounded on Conway's law, Team Topologies becomes a strategic tool for solution discovery.
The Revival of Conway's Law
We've mentioned the importance of Conway's law as a driver for team design and evolution. But what is this law exactly?
In 1968, the computer systems researcher Mel Conway published a paper in Datamation called "How Do Committees Invent?" in which he explored the relationship between organizational structure and the resulting design of systems. The article is full of sparkling insights, some of which we cover later in this chapter, but this is the phrase that became known as Conway's law: "Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations."
Conway based his observation on organizations building early electronic computer systems. In his words, this "law" indicates the strong correlation between an organization's real communication paths (the value creation structures mentioned by Pflaeging) and the resulting software architecture, or what author Allan Kelly calls the "homomorphic force." This homomorphic force tends to make things the same shape between the software architecture and team structures. In other words, building software requires an understanding of communication across teams in order to realistically consider what kind of software architectures are feasible. If the desired theoretical system architecture does not fit the organizational model, then one of the two will need to change.
Eric Raymond stated this in a humorous way in his book The New Hacker's Dictionary: "If you have four groups working on a compiler, you'll get a 4-pass compiler."
Since 1968, it has become increasingly clear that Conway's law continues to apply to all software built. Those of us who have built software systems that had to comply with an "architecture blueprint" can surely remember having times when it felt like we were fighting against the architecture rather than it helping steer our work in the right direction. Well, that's Conway's law in action.
A sort of "revival" of Conway's law took place around 2015, when microservices architectures were on the rise. In particular, James Lewis, Technical Director at Thoughtworks, and others came up with the idea of applying an "inverse Conway maneuver" (or reverse Conway maneuver), whereby an organization focuses on organizing team structures to match the architecture they want the system to exhibit rather than expecting teams to follow a mandated architecture design.
The key takeaway here is that thinking of software architecture as a stand- alone concept that can be designed in isolation and then implemented by any group of teams is fundamentally wrong. This gap between architecture and team structures is visible across all types of architectures, from client-server to SOA and even microservices. Specifically, that is why monoliths need to be broken down (in particular, any indivisible software part that exceeds the cognitive capacity of any one team) while keeping a team focus, a topic we will discuss in depth in Chapter 6.