Conway's Law
From
Wikipedia, the free encyclopedia
Conway's Law is an adage named after computer programmer Melvin Conway, who
introduced the idea in 1968.
It concerns the structure of organizations and the corresponding structure of
systems (particularly computer
software) designed by those organizations. In various versions,
Conway's Law states:
á
Organizations
which design systems are constrained to produce designs which are copies of the
communication structures of these organizations.
á
If
you have four groups working on a compiler, you'll get a
4-pass compiler.
Or more concisely:
á
Any
piece of software reflects the organizational structure that produced it.
Despite jocular usage and jocular derivative
"laws," Conway's law was not intended as a joke or a Zen koan, but as a valid sociological
observation. It is a consequence of the fact that two software modules A and B
cannot interface correctly with each other unless the designer and implementer
of A communicates with the designer and implementer of B. Thus the interface
structure of a software system necessarily will show a congruence with the social structure of the
organization that produced it.
There is also Cheatham's Amendment to Conway's
Law, named after Tom Cheatham.
á
If
a group of N persons implements a COBOL
compiler, there will be N-1 passes. Someone in the group has to be the manager.
Examples of Conway's Law
Consider a large system S that the government
wants to build. The government hires company X to build system S. Say company X
has three engineering groups, E1, E2, and E3 that participate in the project.
Conway's law suggests that it is likely that the resultant system will consist
of 3 major subsystems (S1, S2, S3), each built by one of the engineering
groups. More importantly, the resultant interfaces between the subsystems
(S1-S2, S1-S3, etc) will reflect the quality and nature of the real-world
interpersonal communications between the respective engineering groups (E1-E2,
E1-E3, etc).
Corollary of Conway's Law
Conway's Law can be construed as humorous, to the
extent that rigid organizations that are not willing to re-organize to generate
an optimal design, can end up producing a sub-standard design that merely
reflects the pre-existing organization.
But the essence of Conway's Law also applies to
flexible organizations that are willing to re-organize to produce an optimal
design.
For example, consider a flexible company that is
charged with designing a car, and the company does not yet have a car-design
organization. The new car-design organization will probably consist of groups
that correspond to the major components of a car: engine, body, transmission,
interior, electrical, etc.
The essence of Conway's Law applies even in this
re-organization situation: the components and interfaces of the resultant car
mirror the engineering groups and their interfaces.
And, significantly, any shortcoming with the
interpersonal relationships between the engineering groups, may manifest itself
in a shortcoming of the resultant design.
Another "Conway's Law"
Conway's Law is sometimes reported as a
different adage:
In every organization there will always be one person who knows what is going on. That person must be fired.