Datamation · April 1968
Conway's Law
"Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure."
Five Stages of System Design
Define constraints
System notion
Assign teams
Interfaces
Merge designs
The Homomorphism: Systems Mirror Makers
Core Insights
Organizing a team means design decisions are already made implicitly.
Every narrowed scope narrows the class of possible designs.
2 people × 1yr ≠ 100 people × 1wk. Potatoes ≠ systems.
…but always time to do it over. Reorgs are painful and rare.
N² Communication
Conway's Three Examples
Example 1
8 people: 5 on COBOL, 3 on ALGOL.
→ COBOL: 5 phases. ALGOL: 3.
Example 2
Two services told to build one system.
→ Produced a copy of their org chart.
Example 3
HW + sys SW + app = 3 layers.
→ Engineers + sys prog + users = 3 groups.
Schedule pressure forces delegation over simplification. Parkinson's Law ensures the org grows.
Paths ≈ ½n². Communication must be restricted so people can "work" — fragmenting the design.
The homomorphism ensures the system reflects whatever disintegration occurred in the org.
"The biggest single factor behind poorly designed systems has been the availability of a design organization in need of work."
Organize by need for communication, not hierarchy.
Organizational flexibility — first design is never best.
Reward managers for keeping orgs lean.
Adding manpower ≠ adding productivity.