Conway's law

expression

ops cultureprogramming

The observation that systems end up mirroring the communication structure of the organizations that build them.

If four teams build a compiler, you tend to get a four-pass compiler, because the software's seams form where the teams' conversations do. The modern corollary, the 'inverse Conway maneuver', is to shape teams deliberately so the desired architecture emerges.

Conway's law says organizations design systems that mirror their own communication structure, and it was published in 1968 as an observation rather than advice. Four teams building a compiler produce a four-pass compiler, not because anyone decided that, but because the interfaces people can negotiate easily become the interfaces in the software.

The reason it has outlasted almost everything else from that era is that it keeps being confirmed. A monolith maintained by one team splits along team lines the moment there are three teams. A service boundary that nobody can agree on usually maps to two groups who do not talk. If you want to know why a system is shaped as it is, the org chart explains more than the architecture documents.

The deliberate use of it is called the inverse Conway manoeuvre: change the team structure to get the architecture you want, rather than mandating an architecture the organization cannot sustain. That is a genuine strategy and also an argument against reorganizing casually, since every reorg is an architectural decision whether or not anyone frames it that way.

Also known as: Conway's law

Sources

  • Conway, 'How Do Committees Invent?' (1968)

All glossary entries