Conway’s law is an adage named after computer programmer Melvin Conway, who introduced the idea in 1968; it was first dubbed Conway’s law by participants at the 1968 National Symposium on Modular Programming. It states that
organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations—M. Conway
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.
Eric S Raymond, an open source advocate who co-founded the Open Source Initiative, 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. Summarizing an example in Conway’s paper, Raymond wrote that “If you have four groups working on a compiler, you’ll get a 4-pass compiler”.
James O. Coplien and Neil B. Harrison stated that “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”.
There is supporting evidence of Conway’s law that has been published by a team of Harvard Business School researchers. They “find strong evidence to support the mirroring hypothesis” and their study reveals “significant differences in modularity, consistent with a view that distributed teams tend to develop more modular products”.