Conway's law

From Wikipedia, the free encyclopedia
  (Redirected from Conway's Law)
Jump to: navigation, search

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.[1] It states that

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

—M. Conway[2]

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.

Variations[edit]

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

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

The impact of Conway's Law can be seen in the design of corporate websites. Nigel Bevan, the Usability expert, states that "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."[6] A similar effect may be found when websites undergo design by committee.

Supporting evidence[edit]

Evidence in support of Conway's law that has been published by a team of MIT and Harvard Business School researchers, who found "strong evidence to support [what they term the equivalent]… mirroring hypothesis", and that "significant differences in [product] modularity" were "consistent with a view that distributed teams tend to develop more modular products".[7]

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,[8] and by Syeed and Hammouda at Tampere University of Technology, in Finland.[9]

See also[edit]

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.

References[edit]

  1. ^ Yourdon, E. N., and Constantine, L. L. Structured Design (Prentice Hall, 1978), p. 400
  2. ^ Conway, Melvin E. (April 1968), "How do Committees Invent?", Datamation 14 (5): 28–31, retrieved 2015-04-10 
  3. ^ Eric S. Raymond (October 1996). The New Hacker's Dictionary - 3rd Edition. ISBN 978-0-262-68092-9. 
  4. ^ Eric S. Raymond, Conway's Law, retrieved 2012-06-18 
  5. ^ Coplien and Harrison (July 2004). Organizational Patterns of Agile Software Development. ISBN 978-0-13-146740-8. 
  6. ^ "Usability Issues in Web Site Design" (PDF). Retrieved 30 March 2015. 
  7. ^ "Exploring the Duality between Product and Organizational Architectures : A Test of the “Mirroring” Hypothesis" (PDF). Hbs.edu. Retrieved 15 January 2015. 
  8. ^ Nachiappan Nagappan, Brendan Murphy & Victor Basili, 2008, "The Influence of Organizational Structure On Software Quality: An Empirical Case Study," ACM TechReport MSR-TR-2008-11, see [3], accessed 9 March 2015.
  9. ^ M. M. Mahbubul Syeed & Imed Hammouda, 2013, "Socio-technical Congruence in OSS Projects: Exploring Conway’s Law in FreeBSD," In Open Source Software: Quality Verification, Part I (Etiel Petrinja, Giancarlo Succi, Nabil El Ioini & Alberto Sillitti, Eds.), IFIP Advances in Information and Communication Technology Volume 404 (Proceedings of the 9th IFIP WG 2.13 International Conference, OSS 2013, Koper-Capodistria, Slovenia, June 25-28, 2013), pp. 109-126, Berlin:Springer, DOI 10.1007/978-3-642-38928-3_8, ISBNs 9783642389276 and 9783642389283, see [4], accessed 9 March 2015.