1. 程式人生 > >《人月神話》閱讀筆記(3)

《人月神話》閱讀筆記(3)

-s 總線 sof 高效 保持 生命 發的 對象之間的關系 開發

對於效率和概念的完整性來說,最好由少數幹練的人員來設計和開發,而對於大型系統,

則需要大量的人手,以使產品能在時間上滿足要求。如何調和這兩方面的矛盾呢?建立怎

樣的組織架構是項目成功的關鍵。第三章作者提到了Mills的提議“大型項目的每一個

部分由一個團隊解決,但是該隊伍以類似外科手術的方式組建,而並非一擁而上”。即提

倡外科手術式的團隊組織:就是一個主治大夫,其他的如助理大夫,護士等,都是配合主

治大夫來進行手術。在軟件開發組織上的過份民主,往往帶來的是沒有效率和責任,參與

其中的人想法太多,層面參差不齊。所以,軟件開發的組織,應該借鑒外科手術式的團隊

方式,有一個主要的負責人,其他人都是分工協作的副手,這樣效率最好,結果最好。

外科手術這一章節其實比較簡單,但是這個比喻可以說是很形象了。外科手術隊伍的目的是

為了提高整體效率,要達到這個目的就需要分清主次,由外科醫生和副手主體人員復制解決問

題和保持概念完整性。

《人月神話》Brooks一直強調概念完整性的重要性。概念的完整性,是指針對於一個領域,不

僅了解該領域的所有對象,並且了解所有對象之間的關系。概念不完整,就在開始註定一個軟

件項目要失敗了。概念不完整,換言之,就是,始終都沒有搞明白問題域有那些對象,各個對

象之間是什麽樣的聯系。而概念的完整性,是建立在已經完全了解領域的對象及對象之間的關

聯。這種完全了解,並不是感性地了解,而是理性地了解。保證概念的完整性,一方面需要設

計人員具備良好的經驗。同時,不要嘗試著去將所有人的意見都融入其中。概念完整性是系統

設計中最重要的考慮因素。軟件項目的核心概念要由很少的人來完成,以保證概念的完整性。

少就是多,項目的定位需要和功能多少的權衡。太多的想法,使項目沒有焦點,什麽都要放進

去,結果什麽都做不像。

最後就是軟件開發過程中必要的溝通手段。軟件開發中最大的風險往往不是技術的缺陷,而是

缺少溝通。工作人員之間需要溝通確定任務分工,老員工需要花時間跟新員工交流清楚工作內

容,程序員更是需要與客戶做好溝通,、外科醫生和副手是核心保證高度的概念完整性,跟傳

統按生命周期階段來分角色的團隊相比,我們可以看到一個顯著的差別就是流水線式的溝通方

式朝扁平的總線式溝通方式轉化。這種方式溝通更加高效,同時概念完整性更加容易保證,當

出現沖突的時候外科醫生具有絕對的權威。

以上便是我對人月神話第三章外科醫生的理解與感悟。

《人月神話》閱讀筆記(3)