Conway's Law
Encyclopedia
Conway's Law is an adage
named after computer
programmer
Melvin Conway
, who introduced the idea in 1968:
Although sometimes construed as humorous, Conway's Law was intended as a valid sociological observation. It is based on the reasoning that in order for two separate software modules to interface correctly, the designers and implementers of each module must communicate with each other. Therefore, the interface structure of a software system will reflect the social structure of the organization(s) that produced it.
Another example: Consider a two-person team of software engineers, A and B. Say A designs and codes a software class X. Later, the team discovers that class X needs some new features. If A adds the features, A is likely to simply expand X to include the new features. If B adds the new features, B may be afraid of breaking X, and so instead will create a new derived class X2 that inherits X's features, and puts the new features in X2. So, in this example, the final design is a reflection of who implemented the functionality.
A real life example: NASA's Mars Climate Orbiter
crashed because one team used United States customary units
(e.g., inches, feet and pounds) while the other used metric units
for a key spacecraft operation. This information was critical to the maneuvers required to place the spacecraft in the proper Mars orbit. "People sometimes make errors," said Dr. Edward Weiler, NASA's Associate Administrator for Space Science. "The problem here was not the error, it was the failure of NASA's systems engineering, and the checks and balances in our processes to detect the error. That's why we lost the spacecraft."
, restated Conway’s Law in The New Hacker's Dictionary, a reference work based on the Jargon File
he maintained for years. The organization of the software and the organization of the software team will be congruent, he said. He originally stated that "If you have four groups working on a compiler, you’ll get a 4-pass compiler"
...
Therefore: Make sure the organization is compatible with the product architecture."
, where the only train of the day is scheduled to leave exactly two minutes before the bus to the station arrives.
Another case study of Conway's Law can be found on Microsoft Research.
Adage
An adage is a short but memorable saying which holds some important fact of experience that is considered true by many people, or that has gained some credibility through its long use....
named after computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
programmer
Programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...
Melvin Conway
Melvin Conway
Melvin Edward Conway was an early computer scientist, computer programmer, and hacker who coined what's now known as Conway's Law: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations."Apart from the above,...
, who introduced the idea in 1968:
...organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.
Although sometimes construed as humorous, Conway's Law was intended as a valid sociological observation. It is based on the reasoning that in order for two separate software modules to interface correctly, the designers and implementers of each module must communicate with each other. Therefore, the interface structure of a software system will reflect the social structure of the organization(s) that produced it.
Examples of Conway's Law
Consider a large system S that a 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.).Another example: Consider a two-person team of software engineers, A and B. Say A designs and codes a software class X. Later, the team discovers that class X needs some new features. If A adds the features, A is likely to simply expand X to include the new features. If B adds the new features, B may be afraid of breaking X, and so instead will create a new derived class X2 that inherits X's features, and puts the new features in X2. So, in this example, the final design is a reflection of who implemented the functionality.
A real life example: NASA's Mars Climate Orbiter
Mars Climate Orbiter
The Mars Climate Orbiter was a 338 kilogram robotic space probe launched by NASA on December 11, 1998 to study the Martian climate, atmosphere, surface changes and to act as the communications relay in the Mars Surveyor '98 program, for Mars Polar Lander...
crashed because one team used United States customary units
United States customary units
United States customary units are a system of measurements commonly used in the United States. Many U.S. units are virtually identical to their imperial counterparts, but the U.S. customary system developed from English units used in the British Empire before the system of imperial units was...
(e.g., inches, feet and pounds) while the other used metric units
International System of Units
The International System of Units is the modern form of the metric system and is generally a system of units of measurement devised around seven base units and the convenience of the number ten. The older metric system included several groups of units...
for a key spacecraft operation. This information was critical to the maneuvers required to place the spacecraft in the proper Mars orbit. "People sometimes make errors," said Dr. Edward Weiler, NASA's Associate Administrator for Space Science. "The problem here was not the error, it was the failure of NASA's systems engineering, and the checks and balances in our processes to detect the error. That's why we lost the spacecraft."
Raymond’s version
Eric S Raymond, an open source advocate who co-founded the Open Source InitiativeOpen Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...
, restated Conway’s Law in The New Hacker's Dictionary, a reference work based on the Jargon File
Jargon File
The Jargon File is a glossary of computer programmer slang. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab and others of the old ARPANET AI/LISP/PDP-10 communities, including Bolt, Beranek and Newman, Carnegie Mellon...
he maintained for years. The organization of the software and the organization of the software team will be congruent, he said. He originally stated that "If you have four groups working on a compiler, you’ll get a 4-pass compiler"
Coplien and Harrison’s version
"If the parts of an organization (e.g. teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the relationships between product parts, then the project will be in trouble....
Therefore: Make sure the organization is compatible with the product architecture."
Service industries
Conway's law may extend to the service industries; for example whether train services are run for the convenience of an individual company or for those they connect with (to the benefit of all). A good example is given in Bill Bryson's Notes From a Small IslandNotes from a Small Island
Notes from a Small Island is a humorous travel book on Great Britain by American author Bill Bryson, first published in 1995.-Overview:Bryson wrote Notes from a Small Island when he decided to move back to his native United States, but wanted to take one final trip around Great Britain, which had...
, where the only train of the day is scheduled to leave exactly two minutes before the bus to the station arrives.
Supporting evidence
There is supporting evidence of Conway's Law that has been published by a team of Harvard Business School researchers. Their study reveals significant differences in modularity, consistent with a view that distributed teams tend to develop more modular products.Another case study of Conway's Law can be found on Microsoft Research.