康威定律
康威定律 (康威法则 , Conway's Law) 是马尔文·康威1967年提出的:
"设计系统的架构受制于产生这些设计的组织的沟通结构。"
——M. Conway[1]
即系统设计本质上反映了企业的组织机构。系统各个模块间的接口也反映了企业各个部门之间的信息流动和合作方式。
康威定律源于模块的设计者需要互相之间频繁沟通。而跨部门交流比较难。[2]
埃里克·雷蒙在《新黑客词典》中,称康威定律指出了软件架构与软件团队架构的等价(congruent)。例如,“如果你有4个团队在做一个编译器,你会得到一个4遍处理的编译器”。[3][4]
James O. Coplien与Neil B. Harrison在《敏捷软件开发的组织模式》中写道:
“如果团队、部门、子部门等的组织结构没有紧密反映产品的必要组成或产品组成的关系,那么项目将会遇到麻烦。因此,应该确保组织结构兼容于产品架构。”[5]
康威的原文中提出的各定律[1]:
- 第一定律 组织沟通方式会通过系统设计表达出来
- 第二定律 时间再多一件事情也不可能做的完美,但总有时间做完一件事情
- 第三定律 线型系统和线型组织架构间有潜在的异质同态特性
- 第四定律 大的系统组织总是比小系统更倾向于分解
Eric Hollnagel在2009年的《Efficiency-Effectiveness Trade Offs》一书中类似的论点:
Problem too complicated? Ignore details. Not enough resources?Give up features.
参见
参考文献
- ^ 1.0 1.1 Conway, Melvin E., How do Committees Invent?, Datamation, April 1968, 14 (5): 28–31 [2015-04-10], (原始内容存档于2015-03-18)
- ^ Yourdon, E. N., and Constantine, L. L. Structured Design (Prentice Hall, 1978), p. 400
- ^ Eric S. Raymond. The New Hacker's Dictionary - 3rd Edition. October 1996. ISBN 978-0-262-68092-9.
- ^ Eric S. Raymond, Conway's Law, [2012-06-18], (原始内容存档于2012-05-15)
- ^ Coplien and Harrison. Organizational Patterns of Agile Software Development. July 2004. ISBN 978-0-13-146740-8.
进一步阅读
- 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.