Team Topologies: Designing Organizations for Fast Flow
An in-depth exploration of Matthew Skelton's Team Topologies with VP of Engineering Marcus Chen. We discuss the four fundamental team types, interaction modes, cognitive load management, and practical strategies for implementing these organizational patterns. Learn why Conway's Law should be a design tool, not just an observation, and how to structure teams for independent value delivery.
Topic: Team Topologies: Organizing Business and Technology Teams for Fast Flow (2019) by Matthew Skelton
Production Cost: 4.855
Participants
- Sarah (host)
- Marcus (guest)
Transcript
Before we start, I need to let you know that this entire episode is AI-generated, including the voices you're hearing. Today's episode is brought to you by FlowSync Pro, a fictional team collaboration platform that promises to eliminate all your organizational bottlenecks overnight , and yes, that sponsor is completely made up. Please fact-check anything important from today's discussion, as some details might be inaccurate.
I'm Sarah, and today we're diving deep into Team Topologies by Matthew Skelton and Manuel Pais. With me is Marcus Chen, who's been implementing these ideas as a VP of Engineering at several tech companies.
Thanks for having me, Sarah. This book has genuinely changed how I think about organizing teams.
Let's start with the fundamental problem this book is trying to solve. What was happening in organizations that made Skelton and Pais feel like they needed to write this?
They were seeing the same pattern everywhere. Companies would adopt DevOps practices or try to go faster, but they'd hit this wall where their team structure was actually preventing the flow they wanted.
What do you mean by flow exactly?
The smooth movement of work from idea to production. Teams would be constantly blocked, waiting for other teams, or stepping on each other's toes.
And the authors had the background to diagnose this problem?
Absolutely. Skelton founded Team Topologies as a consulting practice, so he'd seen this pattern across dozens of organizations. He wasn't writing from theory , he was writing from repeatedly hitting the same organizational antibodies.
Organizational antibodies , I like that phrase. So what's their core insight?
That Conway's Law isn't just an observation , it's a design tool. If your system architecture is going to mirror your team structure anyway, you might as well design your team structure intentionally.
For listeners who haven't heard of Conway's Law, can you explain it?
Conway's Law says that organizations design systems that copy their communication structure. So if you have four teams, you'll end up with a system that has four major components.
And most organizations just let this happen accidentally?
Exactly. They focus on the technical architecture and treat the team structure as an afterthought. Then they wonder why their microservices look exactly like their org chart from three years ago.
So the book's central thesis is that you should design team structure first?
Not quite first, but definitely intentionally. The authors argue for what they call the reverse Conway maneuver , design your team structure to promote the software architecture you want.
That sounds logical, but I imagine it runs up against a lot of existing organizational thinking.
It does. Most companies organize around skills or functions , all the frontend people together, all the backend people together. But that creates dependencies and handoffs that slow everything down.
What's the alternative they're proposing?
They argue for organizing around the flow of change instead. Put together the people who need to collaborate to deliver value, regardless of their job titles.
This connects to broader thinking in organizational design, doesn't it? Like what came before that influenced their approach?
Definitely. They build heavily on systems thinking, particularly the work around flow and bottlenecks from the Theory of Constraints. They also draw from cognitive science research about team size and cognitive load.
Cognitive load is a big theme in the book, isn't it?
Huge theme. They argue that traditional approaches overload teams cognitively. A team can't be responsible for fifteen different services and also innovate quickly.
So they're responding to this trend of teams that are supposed to be full-stack everything?
Exactly. The you-build-it-you-run-it mentality taken to an extreme. Which sounds good in principle, but practically leads to teams that are stretched too thin to be effective at anything.
Let's get into their solution. They propose four specific team types, right?
Right. Stream-aligned teams, enabling teams, complicated subsystem teams, and platform teams. Each has a specific purpose and way of interacting with others.
Let's start with stream-aligned teams. What are those?
These are teams aligned to a single valuable stream of work. Could be a user journey, a customer segment, or a specific product feature. The key is they can deliver value independently.
Give me a concrete example of what that looks like.
At one company I worked with, we had a stream-aligned team focused entirely on the onboarding experience. They owned everything from the signup form to the first successful login, including the backend services and data pipeline.
And they could change that entire experience without depending on other teams?
That's the goal. They might consume services from platform teams, but they shouldn't need other teams to change their code to deliver improvements to onboarding.
What about enabling teams?
Enabling teams help other teams become more effective. They're not building product features , they're building capabilities. Think of them as internal consultants who help teams adopt new practices or technologies.
Can you give me an example from your experience?
We had an enabling team focused on observability. When stream-aligned teams wanted to improve their monitoring, the enabling team would pair with them for a few weeks, help them implement best practices, then move on to the next team.
So they're temporary by design?
Usually, yes. The goal is to increase the capability of the stream-aligned team, not create a permanent dependency. If you're always needed, you haven't really enabled anyone.
What about complicated subsystem teams?
These handle parts of the system that require specialized knowledge. Things like machine learning algorithms, mathematical models, or performance-critical components that most teams shouldn't have to understand deeply.
Give me a real-world example of when you'd need one.
At a fintech company, we had a team that only worked on fraud detection algorithms. The math was complex, the regulatory requirements were specialized, and it made no sense to distribute that knowledge across multiple stream-aligned teams.
And platform teams?
Platform teams provide internal services that make stream-aligned teams more productive. They're building products for other teams , APIs, development tools, deployment pipelines, that sort of thing.
How is that different from traditional infrastructure teams?
Traditional infrastructure teams often work in tickets and requests. Platform teams think like product teams , they have customers who are other teams, they measure adoption and satisfaction, they think about user experience.
That's a pretty fundamental shift in mindset.
It is. Instead of saying 'here's what we provide, take it or leave it,' they're asking 'what do you need to be successful, and how can we make it delightfully easy?'
Now, the book doesn't just describe team types , it also talks about how teams should interact. What are those interaction modes?
Three main ones: collaboration, X-as-a-service, and facilitating. Each has a different purpose and creates different cognitive load.
Let's break those down. What does collaboration look like?
Two teams working closely together on something where the boundary isn't clear yet. Lots of communication, shared responsibility, probably some people pairing across teams.
When would you use that mode?
When you're exploring a new domain or trying to figure out where the interfaces should be. We used this when building a new payments system , the stream-aligned team and the platform team collaborated intensively for the first few months.
But that's temporary, right?
Ideally, yes. Collaboration is cognitively expensive. You want to move to a cleaner interface once you understand the domain better.
Which brings us to X-as-a-service.
This is where one team provides something to another team with a clear interface and minimal communication. Like using AWS , you don't collaborate with Amazon, you just consume their service.
And facilitating?
This is mainly what enabling teams do. They help another team become better at something, with the explicit goal of reducing the need for future interaction.
So if I'm understanding correctly, you should be intentional about which interaction mode you're using?
Absolutely. And you should evolve between them. Start with facilitating or collaboration to build capability and clarify interfaces, then move to X-as-a-service for long-term efficiency.
The book talks a lot about cognitive load. How does that factor into team design?
They distinguish between intrinsic cognitive load , the complexity inherent in the problem you're solving , and extraneous load, which is everything else that distracts from that core problem.
What kinds of things create extraneous cognitive load?
Having to understand too many different systems, dealing with too many different teams, context switching between very different types of work. The classic example is a team that maintains fifteen microservices across completely different domains.
How do you practically measure cognitive load?
The authors suggest asking teams directly: 'Do you feel like you're effective? Are there things outside your main responsibility that slow you down?' It's more qualitative than quantitative.
That seems pretty subjective.
It is, but they argue that's okay. Teams usually know when they're overloaded, even if they can't quantify it precisely.
Let's talk implementation. If someone's listening to this and thinking 'I want to try this at my company,' where do they start?
Start by mapping your current state. What teams exist, what do they own, and how do they interact? Most organizations don't actually have a clear picture of this.
How detailed should that mapping be?
Detailed enough to see the pain points. Look for teams that are constantly blocked by others, services that require multiple teams to change, and areas where the ownership is unclear.
Then what?
Pick one stream of value and try to design a team topology that could deliver it independently. Don't try to reorganize everything at once.
Can you walk me through a specific example of how you've done this?
At one company, we looked at the customer support experience. It required changes to five different systems owned by four different teams. We created one stream-aligned team that owned that entire journey.
How did you handle the fact that those systems were probably shared with other use cases?
That's where the platform team concept comes in. We extracted shared services and made them platform offerings. The stream-aligned team consumed those services but owned everything specific to support workflows.
How long did it take to see results?
The team started delivering improvements within their first month. But it took about six months to fully untangle the dependencies and establish clean interfaces.
What mistakes do people commonly make when implementing these ideas?
The biggest one is trying to change everything overnight. People read the book and want to immediately reorganize into the four team types, which creates chaos.
What else?
Not being clear about what stream you're aligning to. I've seen teams that think they're stream-aligned but are actually just cross-functional feature teams. There's a difference.
What's the difference?
Stream-aligned teams own an outcome or user journey. Cross-functional feature teams just have different skills represented. You could have a cross-functional team that still depends on six other teams to deliver value.
Are there contexts where these patterns don't work well?
Very early stage startups might not have enough people to create clean team boundaries. And highly regulated industries sometimes have constraints that make independent teams difficult.
What about for organizations that aren't building software products?
The principles still apply, but you have to think more carefully about what the 'stream of value' is. A marketing organization could have stream-aligned teams for different customer segments or campaigns.
If someone could only implement one thing from this book, what should it be?
Start measuring and managing cognitive load. Ask your teams regularly what's slowing them down that isn't core to their main responsibility. Then systematically address those things.
That's interesting , not starting with reorganization?
Reorganization without understanding the actual bottlenecks often just creates new problems. Understanding cognitive load helps you see where the real issues are.
Let's talk about the book itself. What does it do really well?
It gives you concrete patterns instead of vague principles. Too many organizational design books say 'communicate better' or 'align around customer value' without saying how. This book gives you specific team types and interaction modes.
What about examples and case studies?
The examples are solid, though sometimes a bit abstract. They do a good job of showing how the patterns apply in different contexts, but I sometimes wished for more detailed implementation stories.
Where does the book fall short?
It's light on change management. The patterns are great, but getting from your current state to the desired state often involves a lot of organizational politics that the book doesn't address much.
What else?
The cognitive load concept is powerful but under-developed. They introduce it as central to their thesis but don't give you enough tools to actually measure or manage it systematically.
How does this compare to other books in the space?
It's much more practical than something like 'The Fifth Discipline' but less comprehensive than 'Accelerate' when it comes to research backing. It fills a specific gap around team design that wasn't well addressed before.
Are there things the book leaves out that readers should look elsewhere for?
Leadership and culture change. This book assumes you can reorganize teams, but it doesn't tell you how to build buy-in or handle resistance. You'd want to supplement with change management resources.
Also measurement, right?
Yes. They talk about flow and effectiveness but don't give you specific metrics. You might want to look at something like 'Accelerate' for the research on what actually predicts high performance.
How has this book influenced the field since it came out?
You hear the terminology everywhere now. People talk about stream-aligned teams and platform teams as standard concepts. It's given organizations a common language for discussing team design.
Has that created any problems?
Some people treat it like a cookbook and miss the deeper principles. I've seen organizations create platform teams without thinking about whether they actually need them or have the scale to support them.
What criticism has the book received?
Some people argue it's too focused on technology organizations and doesn't translate well to other contexts. Others think it underestimates the importance of individual skills and career development.
How would you respond to those criticisms?
The first one is fair , it's definitely written from a tech perspective. The second one I think misses the point. Good team design should actually make people more effective and help them develop better skills.
As we wrap up, what's the single most important thing you want listeners to take away from this conversation?
That team design is a practice, not a one-time decision. You should be continuously evolving your team structure based on what you're learning about your domain and your constraints.
And the key insight that makes this book worth reading?
Conway's Law is inevitable, but it doesn't have to be accidental. If you're going to end up with systems that mirror your organization anyway, you might as well design your organization to create the systems you actually want.
That's a perfect place to end. Marcus, thanks for the conversation.
Thanks, Sarah. This was fun.