Law 1
Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations
As an example from Team Topologies1, a set of development teams that are supported by a single DBA for their workflow are more likely to produce a monolithic (single DB) software architecture rather than a microservices architecture since all teams are coupled and constrained by the single DBA’s ability to think about a monolithic DB.
Implications of Conway’s law1
- Technical organization design requires technical communication
- Not everyone should (need to) talk to everyone, I.e. more communication is not better. Communication pathways should be deliberate
- People who make decisions about org structure are making decisions about system architecture
- We must be mindful of the tools used to communicate (this goes beyond the chat) and includes ticketing, log aggregators, etc
- Regular reorganizations for management purposes destroy the ability of organizations to build and operate software systems
- Organization design reduces the search space of system architecture
1. Skelton, M., Pais, M. & Malan, R. Team Topologies: Organizing Business and Technology Teams for Fast Flow. (IT Revolution Press, Portland, OR, 2019).