建立乙個外科手術團隊那樣分工明晰,合作有序的開發團隊,是高效率軟體開發的重要保障之一。
效率高和效率低的實施者之間個體差異非常大,經常能夠達到數量級的水平。
需要協作溝通的人員數量影響著開發成本,因為成本的主要組成部分是相互的溝通和交流,以及更正溝通不當所引起的不良結果。這一點,也暗示系統應該由盡可能少的人員來開發(小型、精幹隊伍是最好的——思緒盡可能少);
絕大多數大型程式設計系統的經驗顯示出,一擁而上的開發方法是高成本的、速度緩慢的、低效的,開發出的是無法在概念上進行整合的產品;
小型、精幹隊伍概念上的問題:對於真正意義上的大型系統,它太慢了;
大型專案的每乙個部分由乙個團隊解決,但是該隊伍以類似外科手術的方式組建,而並非一擁而上。由乙個人來完成問題的分解,其他人給予他所需要的支援,以提高效率和生產力;
外科手術隊伍的團隊——既能獲得由少數頭腦產生的產品完整性,又能得到多位協助人員的總體生產率,還徹底地減少了溝通的工作量;
mills概念的真正關鍵是:它向所有的團隊成員展現了所有計算機的執行和產物,並將所有的程式和資料看做是團隊的所有物,而非私人財產;
系統是乙個人或者最多兩個人思考的產物,因此其在客觀上達到了概念的一致性。
傳統隊伍中每人負責一部分工作的設計和實現,外科隊伍中外科醫生和副手了解所有的設計和**。這確保工作概念上的完整性;
傳統隊伍中大家是平等的,出現觀點差異時,不可避免需要討論和進行相互的妥協和讓步。由於工作和資源的分解,不同的意見會造成策略和介面上的不一致,而事實上最終它們必須整合在一起。外科隊伍中,不存在利益的差別,觀點的不一致之處可以由外科醫生單方面來統一;
這兩種團隊組建上的差異——對問題不進行分解和上下級的關係——使外科手術隊伍可以達到客觀一致性;
擴建過程的成功依賴於這樣乙個事實,即每個部分的概念完整性得到了徹底的提高——減少設計的人員。降低了協調「外科醫生」的難度;
整個系統必須具備概念上的完整性,要有乙個系統結構師從上至下地進行所有的設計。要使工作易於管理,必須清晰地劃分體系結構設計和實現之間的界線,系統結構師必須一絲不苟地專注於體系結構;
人月神話 外科手術隊伍 團隊建設
程式設計師之間存在差異,最好的和最壞的程式設計師之間的工作效率差異可以達到10 1,而執行速度和空間上的差異達到5 1。資料顯示,經驗和實際的表現沒有相互的關係。需要協作溝通的人員的數量影響著開發成本,因此系統應該由盡可能少的人來開發 如果乙個200人的專案中,有25個最能幹和最有開發經驗的專案經理...
人月神話讀書筆記3
交流和交流的結果 組織,是成功的關鍵。交流和組織的技能需要管理者仔細考慮,相關經驗的積累和能力的提高同軟體技術本身一樣重要。作者總結巴比倫塔專案失敗的原因是缺乏交流和缺乏組織,因此作者認為在軟體專案中有效的交流和組織是十分重要的,專案工作手冊作為成員交流的成果並且保證了專案的概念一致性。在大型程式設...
《人月神話》讀書筆記
p8,程式設計的快樂在於它不僅滿足了我們內心深處進行創造的渴望,而且還喚醒了每個人內心的情感。p19,用人月作為衡量一項工作的規模是乙個危險和帶有欺騙性的神話。因為它暗示人員數量和時間是可以相互替換的。人數和時間的互換僅僅適用於以下情況 某個任務可以分解參與人員,並且他們之間不需要相互交流。p23,...