Conway's Law
Conway's Law, formulated by Melvin Conway in a 1968 paper, states that any system's design mirrors the communication structure of the organisation that built it. Systems built by three teams will have three major components with the seams between teams becoming architectural seams. The corollary — sometimes called the Inverse Conway Maneuver — is that if you want a particular architecture, you should design the team structure to match.
Conway's Law is the most empirically-validated 'law' in software engineering. It explains why: monoliths emerge from single teams; microservice boundaries that don't match team boundaries get crossed constantly; integration projects between merged companies stay rough at the merge seam for years. The Inverse Conway Maneuver — pioneered by Thoughtworks and codified in Team Topologies — uses the law deliberately: design the team structure first, knowing the architecture will follow. It works. The practical implication for engineering leaders: a re-architecture proposal that doesn't include a team-structure change usually fails; a team-structure change without an architecture plan usually drifts.
Related terms
- Team Topologies
Team Topologies, codified in the 2019 book by Matthew Skelton and Manuel Pais, is a framework for organising engineering teams using four team types and three interaction modes.
- Bounded context
A bounded context is the boundary within which a particular domain model — its terms, rules, and invariants — is consistent and authoritative.
- Microservices
Microservices is an architectural style where a single application is composed of many small, independently-deployable services, each owning its own data and communicating over the network.