Development Teams Are Software: Team Topologies and Domain-Driven Design Map How
When you struggle to find the proper design for your software, you may need to fix how you designed your teams
As Matthew Skelton writes in the first pages of his Team Topologies: Organizing Business and Technology Teams for Fast Flow (non-affiliated link):
The key takeaway here is that thinking of software architecture as a standalone concept that can be designed in isolation and then implemented by any group of teams is fundamentally wrong.
Software architectures and people are two gears of the same engine, but manipulating software is much less sensitive than organizing people. That’s why organizations often design teams as if they were other than the software they produce.
Conway’s law says:
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
Don’t look at this “law” as a dogma; treat it as a hypothesis to check because even if it doesn’t apply to your organization — never say never — it forces you to focus on the edge between humans and software. Assuming that your organization delivers software made by humans for…