Reflections upon re-reading the Team Topologies, four years later
“If you can't explain something in simple terms, you don't understand it.
Richard Feynman
When the excellent book by Matthew Skelton and Manuel Pais first came out in 2019, I lacked the patience to enjoy it. We were in middle of a big Customer Centricity transformation, designing and implementing a Reverse Conway Manoeuvre to strengthen a multi-thousand-person organization and a billion-revenue business. The responsibility and the complexity of the task were immense; no small diagrams or 3 by 4 matrices of the DevOps team topologies and the interaction types seemed to do it justice.
Four years and two business transformations later, I’ve re-read the book with considerable pleasure. The lived experience and the opportunity to reflect on the long-term impact of past decisions filled these diagrams and matrices with the stories of real people, conversations, struggles, and successes. They sprang to life in full color and depth and knowing both the right and the wrong answers shed new light on the questions themselves.
It also made me think back to a journey from long ago. I call it:
The team cognitive load and value flow: “Your org and the role you are offering sound too complicated for me!”
This was the rationale from one of my talented colleagues who declined what I believed to be an exciting leadership role in my team more than 10 years ago. It had all the components for fun and impact – a broad scope, a variety of levers to pull, multiple customer segments, high business value, and ambitious growth plans. At least, that’s how I viewed the role: a microcosm of my own complex executive position that touched all the parts of the matrix organization and drove the overall business, both directly and indirectly. Why would anyone say no to that?
What my colleague perceived more clearly from the outside, was that the complexity of the handoffs, dependencies, and considerations the team needed to handle was too great for the group to operate at its best – slowing down the value delivery of customer engagement and revenue.
We got many things right to create value for our customers. This was a multidisciplinary team, with Product Managers, Marketing, Analytics, Business Development, and Operations. Most roles were directly aligned with the two core customer segments in the marketplace: consumers and businesses. We invested in understanding our customers, measured their engagement and revenues, and conducted experiments to test our hypotheses before rolling them out broadly.
At the same time, we struggled with the complexity of the overall organization and marshaling the right resources from shared teams to execute on our Product priorities. We lacked a dedicated Technology team for our business stream and instead held regular prioritization sessions for the shared Technology roadmap with the entire Leadership Team, planning and time-boxing Value-driving Projects (Outputs) rather than Value Streams (Outcomes).
The biggest gap lays between the Executives’ tolerance for high uncertainty and complexity (comes with the job) and the negative impact that the same levers had on the ability of the operational teams to execute and move things forward.
The concept of limited cognitive load on the team level is powerful, and fully appreciating it requires a shift away from individual-level thinking. It might be described as moving from Kahneman’s “Thinking, fast and slow” “type 1” (rapid, intuitive, automatic, and unconscious) reasoning to “type 2” reasoning: slower, more logical, analytical, conscious, and effortful. A lot more can be accomplished by a team than by one individual; but it requires more intentional design and nurturing to keep progressing.
As executives, we often fail to appreciate how the limits of a group’s cognitive load, related to tangible progress and the complexity of action, differ from an individual’s cognitive limits when they are analyzing a complex situation and make strategic plans, the complexity of thought.
Designing and evolving organizations to optimize the flow of value delivery and the cognitive load for the team is relevant beyond the context of software development. Matching the team’s topology and interaction modes are critical for its success. This is where things went wrong more than a decade ago: a Stream-aligned team, driving business value for a well-defined customer group, would have operated best if empowered to build and deliver customer value as quickly, safely, and independently as possible, without requiring hand-offs to other teams for parts of the work. Instead, the organizational setup required constant collaboration, resource negotiations, hand-offs, and dependencies. No wonder my colleague was excited about the role as it was defined back then.
What might have I done differently back then? Reading more books would not have been enough. My advice for my past self – actively seek more outside-in perspectives, keep digging to understand the lived experience behind high-level conclusions shared by others, especially when you don’t agree at first, and… paraphrasing my favorite Richard Feynman quote: “If you can't explain something in simple terms to others, you yourself don't understand it.”