康威定律
康威定律 (康威法則 , 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.