人月神話 : 外科手術團隊

Leave a Comment

外科手術團隊
人月神話書中提出專案中有幾個現象 :
  1. 短小精悍團隊最棒。
  2. 兩人團隊,其中一人當領導者,這通常是最佳的用人方式。
  3. 絕大多數大型軟體系統的經驗顯示,使用一堆人蠻幹的方式最耗成本、最慢、最沒有效率,做出來的系統在概念上也最不完整。
        因此以一位首席程式設計師為主、類似於外科手術團隊的組織提供了一個良方,既可因少數人的決策而兼顧到產品的整體性,又可因多數人的合作與大幅溝通減少而得到全部人的生產力,使外科手書團隊是同心一致的。

        在青茶過去四年的工作歷史上,因為公司發展逐漸擴大、業務量變多,所招募的工程師也是直線上升,開發方式從所謂的英雄硬幹模式,改為母雞帶小雞的方式來進行專案開發 :
  • 英雄模式 : 一個專案一個工程師
  • 母雞帶小雞 : 一個專案 : 一個首席工程師看著3 - 5個工程師開發
        為何走向母雞帶小雞這個方法,因為期望整個公司出現越來越多的母雞(技術leader),期待新人在實作之中不停的提升能力。
        因此在專案中我們鼓勵工程師獨立思考與嘗試,在過程中與主管產品與製作方法,也因為這樣專案經理容忍因為設計錯誤或者是技術不佳消耗額外時間與金錢(現在的失敗會成為未來甜美的果實嘛)。

        但實際上能成為母雞的工程師四年中實際出現少之又少,多數在工作兩年後就離職(這邊先不探討留不住人)在這個情況之下,我們耗費了專案的時間與精力去培養小雞,期待它們茁壯後回報公司是否是最好的方法呢 ? 外科手術團隊的概念,或許可以解決問題,所以根據過去的工作組織,進行新的團隊劃分 :
  1. 系統架構師 : 將系統拆解成不同的個體,並分配不同的外科醫師進行開發,需撰寫專案文件與開發規格。
  2. 外科醫師(首席程式設計師) : 完成程式的主體架構(80%),在確認副手可以接手之後,就在旁監督(副手、文書編輯、程式助理)
  3. 副手 : 與外科醫師合作,接手外科醫師的工作,完善程式開發,此腳色也是培訓未來的首席程式設計師
  4. 文書編輯 : 由第三者撰寫文書資料,外科醫師有製作文件的責任,文書編輯負責擬稿,筆錄外科醫師的口述,加以潤飾與編撰,並處理文件的改版。
  5. 程式助理 : 分擔程式設計師的一些例行性工作如上版
  6. 測試員 : 撰寫測試個案,站在對立者的角度,同時也是專案經理的好朋友,不僅要根據規格來設計測試個案,同時跟副手協助除錯。
因此套用在過去的公司將會是以下的配置並有以下規則
備註 : 這並非完全參照書本,因應人力有調整並精簡幾個腳色

  1. 外科醫師之外的腳色在不同專案中會進行輪調(讓新人了解與熟悉各腳色的業務)
  2. 如副手成熟則可另外組成新的小組(招募新人擔任文書編輯與程式助理)
  3. 建議小組固定(增加默契)





期望可以達到的優點

  1. 讓首席程式設計師的工作更加有效率
  2. 獨立出"檢查員"的腳色,讓PM的check point完成度更加客觀,相對應需要更明確的繳交項目(PM定義)、更清楚的產出結果(文書編輯 & 測試員提交)
  3. 專人負責文書編輯期望可以解決以往文件總是很爛的問題,我相信寫出看得懂的文件是需要訓練的一件事情。


4/26 初稿
5/4 修正

0 意見: