Conway's law

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Conway's law is an adage stating that organizations design systems that mirror their own communication structure. It is named after computer programmer Melvin Conway, who introduced the idea in 1967.[1] His original wording was:

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

— M. Conway[2]

The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interface structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult. Conway's law was intended as a valid sociological observation, although sometimes it's used in a humorous context. It was dubbed Conway's law by participants at the 1968 National Symposium on Modular Programming.[3]

In colloquial terms, it means software or automated systems end up "shaped like" the organizational structure they are designed in or designed for. Some interpretations of the law say this organizational pattern mirroring is a helpful feature of such systems, while other interpretations say it's merely a result of human nature or organizational bias.

Variations[edit]

Eric S. Raymond, an open-source advocate, restated Conway's law in The New Hacker's Dictionary, a reference work based on the Jargon File. 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:

"If you have four groups working on a compiler, you'll get a 4-pass compiler."[4][5]

Raymond further presents Tom Cheatham's amendment of Conway's Law, stated as:

"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."[4]

Yourdon and Constantine, in their 1979 book on Structured Design, gave a more strongly stated variation of Conway's Law:

"The structure of any system designed by an organization is isomorphic to the structure of the organization."[3]

James O. Coplien and Neil B. Harrison stated in a 2004 book concerned with organizational patterns of Agile software development:

"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."[6]

Supporting evidence[edit]

An example of the impact of Conway's Law can be found in the design of some organization websites. Nigel Bevan stated in a 1997 paper, regarding usability issues in websites: "Organisations often produce web sites with a content and structure which mirrors the internal concerns of the organisation rather than the needs of the users of the site."[7]

Evidence in support of Conway's law has been published by a team of Massachusetts Institute of Technology (MIT) and Harvard Business School researchers who, using "the mirroring hypothesis" as an equivalent term for Conway's law, found "strong evidence to support the mirroring hypothesis", and that the "product developed by the loosely-coupled organization is significantly more modular than the product from the tightly-coupled organization". The authors highlight the impact of "organizational design decisions on the technical structure of the artifacts that these organizations subsequently develop".[8]

Additional and likewise supportive case studies of Conway's law have been conducted by Nagappan, Murphy and Basili at the University of Maryland in collaboration with Microsoft,[9] and by Syeed and Hammouda at Tampere University of Technology in Finland.[10]

See also[edit]

References[edit]

  1. ^ Conway, Melvin. "Conway's Law". Mel Conway’s Home Page. Archived from the original on 2019-09-29. Retrieved 2019-09-29.
  2. ^ Conway, Melvin E. (April 1968). "How do Committees Invent?". Datamation. 14 (5): 28–31. Archived from the original on 2019-10-10. Retrieved 2019-10-10. […] organizations which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.
  3. ^ a b Yourdon, Edward; Constantine, Larry L. (1979). Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design (2nd ed.). Englewood Cliffs, N.J.: Prentice Hall. ISBN 0138544719. OCLC 4503223. Lay summary. Conway's Law: The structure of a system reflects the structure of the organization that built it. Conway's Law has been stated even more strongly: The structure of any system designed by an organization is isomorphic to the structure of the organization.
  4. ^ a b Raymond, Eric S. (October 1996). The New Hacker's Dictionary (3rd ed.). Cambridge, Massachusetts: MIT Press. p. 124. ISBN 978-0-262-68092-9. Conway's Law: prov. The rule […] originally stated as "If you have four groups working on a compiler, you'll get a 4-pass compiler". […] Tom Cheatham's amendment of Conway's Law: "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."
  5. ^ Eric S. Raymond. "Conway's Law". The Jargon File, version 4.4.8. Archived from the original on 2012-03-26. Retrieved 2012-03-26.
  6. ^ Coplien and Harrison (July 2004). Organizational Patterns of Agile Software Development. ISBN 978-0-13-146740-8.
  7. ^ Bevan, Nigel (November 1997). "Usability issues in website design" (PDF). Design of Computing Systems: Social and Ergonomic Considerations. Proceedings of the Seventh International Conference on Human-Computer Interaction (HCI International '97). 2. San Francisco, California, USA: Elsevier. pp. 803–806.
  8. ^ MacCormack, Alan; Rusnak, John; Baldwin, Carliss Y. (2011). "Exploring the Duality between Product and Organizational Architectures: A Test of the Mirroring Hypothesis" (PDF). doi:10.2139/ssrn.1104745. ISSN 1556-5068. We find strong evidence to support the mirroring hypothesis. In all of the pairs we examine, the product developed by the loosely-coupled organization is significantly more modular than the product from the tightly-coupled organization. […] Our results have significant managerial implications, in highlighting the impact of organizational design decisions on the technical structure of the artifacts that these organizations subsequently develop. Cite journal requires |journal= (help)
  9. ^ Nagappan, Nachiappan; Murphy, Brendan; Basili, Victor (2008). "The influence of organizational structure on software quality". Proceedings of the 13th International Conference on Software Engineering - ICSE '08. New York, New York, USA: ACM Press: 521. doi:10.1145/1368088.1368160. ISBN 9781605580791.
  10. ^ Syeed, M. M. Mahbubul; Hammouda, Imed (2013). "Socio-technical Congruence in OSS Projects: Exploring Conway's Law in FreeBSD". Open Source Software: Quality Verification. IFIP Advances in Information and Communication Technology. 404. pp. 109–126. doi:10.1007/978-3-642-38928-3_8. ISBN 978-3-642-38927-6.

Further reading[edit]

  • Alan MacCormack, John Rusnak & Carliss Baldwin, 2012, "Exploring the Duality between Product and Organizational Architectures: A Test of the 'Mirroring' Hypothesis," Research Policy 41:1309–1324 [earlier Harvard Business School Working Paper 08-039], see [1], accessed 9 March 2015.
  • Lise Hvatum & Allan Kelly, Eds., "What do I think about Conway's Law now? Conclusions of a EuroPLoP 2005 Focus Group," European Conference on Pattern Languages of Programs, Kloster Irsee, Germany, January 16, 2006, see [2], addressed 9 March 2015.
  • Lyra Colfer & Carliss Baldwin. "The Mirroring Hypothesis: Theory, Evidence and Exceptions." Harvard Business School Working Paper, No. 16-124, April 2016. (Revised May 2016.) See [3], accessed 2 August 2016.