All laws

07Organization

Conway's Law

Mirroring.

If

The software architecture is a map of the organizational chart. If two teams don't talk, their services won't integrate smoothly.

Then

If you want a modular architecture, create modular, independent teams first. Do not fight the org chart with code.

Unless

Inverse Conway Maneuver

Two team structures and the two architectures they produceCommunication structureWhat shipsABCThree teams, one shared channelOne integrated service, one seamABCThree teams, no channelThree services, two brittle seamsseam
The architecture is downstream of the communication structure, not the org chart on paper — the one that describes who actually talks to whom. Redraw the teams and the seam moves with them; redraw the diagram alone and the old seam grows back.

Improve this article on GitHub