Team Topologies Matthew Skelton, Manuel Pais
Organizing Business and Technology Teams for Fast FlowMarch 31, 2022 - 438 words - 3 mins Found a typo? Edit me
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.
- High cohesion: Group related things together.
- Loose coupling: There must be clear boundaries between the teams.
- Cognitive load: It’s like the RAM of the team. The team can burn down if you load with more than the team can handle.
In order to avoid bottleneck teams, you need to make sure their cognitive load is not very high.
- The organization structure will influence the architecture of the team.
- Conway’s Law says that organizations will design systems that copy their communication structure.
- In other words, there will be no focus on the optimal architecture for the project.
- First you need to define the architecture of the project, and then form the teams.
- Who is in the team matters less than the team dynamics.
- When measuring performance, teams matter more than individuals.
- Team = group of 5-9 who work towards a shared goals as a unit.
- Check Dunbar number.
- Forming a team takes from 2 weeks to 3 months.
- Cognitive load is the total amount of mental effort being used in the working memory.
- 3 Types of cognitive load:
- Intrinsic: Fundamentals of the problem space. Example: programming language.
- Extraneous: Environment related. Example: how to deploy.
- Germane: Special attention is required. Example: business domain.
- 3 types of domain: Simple, complicated, complex.
- If the domain is too big, split it into subdomains.
- One team, either:
- 2-3 simple domains.
- 1 complex domain.
- Avoid 2 complicated domains, better split the team.
- Define a Team API:
- Code: endpoints, libraries, clients, …
- Practices and principles.
- Communication tools.
Instead of structuring teams according to know-how or activities, organize teams according to business domain areas.
- Success of topology depends both on team members and surrounding environment, teams and interactions.
- Split responsibilities to breakdown silos.
- Types of dependencies: Knowledge, task, and resource.
- Four types of teams:
- Stream-aligned: deliver features, projects, products to the market asap.
- Enabling: grow the capabilities for the Stream-aligned team(s).
- Complicated-subsystem: reduce the cognitive load of the Stream-aligned team(s).
- Platform: make the Stream-aligned team(s) autonomous.
- Collaboration. Work closely between teams with different skill sets.
- X-as-a-Service. Clear ownership, small cognitive load.
- Facilitation. Helping to clear impediments, focus on quality interactions between other teams.