Team topologies - Organizing business and technology teams for fast flow, by Matthew Skelton and Manuel Pais
Starting from Conway's law "Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure" - the book shows how an organization can organize its technology teams to achieve fast flow.
The book says that there should be 4 different team types.
- Stream aligned team
- Platform team
- Complicated subsystem team
- Enabling team
Most organizations will have the two most important of those teams, a platform team and stream aligned teams. The platform team is responsible for building and maintaining a platform that the other teams can run their services on. The platform itself should be abstracted away, so the Steam aligned teams do not need to worry about the platform.
This helps reduce the cognitive load of each of the teams. Cognitive load is vital to keep at a minimum, so each team can focus on specific domains.
The book also touches how communication between teams can be optimized, again to achieve the best flow in an organization.
Team topologies was a delightful book, and relevant to my current position at Umbraco, where we have been through some team adjustments over the years, and some of the concepts and ideas in the book can be applied. It does seem to fit organizations that are heavily invested in Domain Driven Design (splitting domains and bounded contexts for teams), but also for organizations that have a few more teams that Umbraco currently have. None the less it was truly relevant, and informative.