人月の神話メモChapter3
第三章
外科手術チーム
以上の研究から、優秀な者とそうでない者との間には、格段に大きな個人差がたいていの場合あるということが分かった。
サックマン、エリソン、およびグラントより
少数精鋭が望ましい。
- 人によって生産性が10倍近く違うのはザラ。
- コミュニケーションのコストが格段に低い。
- コンセプトの統制が出来る。
大規模プロジェクは小数精鋭が出来ない。
- 精鋭を100人集めたら精鋭ではなくなる。
- コミュニケーションのコスト。
- 管理階級が必要。
- 財務や人事、総務や秘書、マシンオペレータと言った担当も必要。
- 精鋭は少ないから精鋭
では実際の大規模プロジェクトはどうしたらいい?
ミルズの案
実装と設計を分ける。
設計は、人員をいくつかのチームに分けたチームの長(執刀医)が行う。
- 小数精鋭
- コンセプトの統一性
- コミュニケーションコストの限定
- 実装は独立した外科手術チームのように編成されたチームで行う。
- チームの機能ごとに担当者を設定する。
役割 | 説明 |
執刀医 | 成果物を作る(デザイン・コーディング・ドキュメント・テスト) |
副執刀医 | 成果物を作る(執刀医の子分・分身・予備) |
管理者 | 人事・法務・機器管理を行う。法的にクリティカルなシステム開発でなければ、複数チームを掛け持ち |
編集者 | 成果物を評価・手直し・整形して参照や参考文献をつける |
プログラム事務 | 成果物の管理をする・配布をする |
ツール制作者 | 成果物を作成するためのツール(治具)を作成する |
テスト担当者 | 成果物のテスト準備とテストを行う |
言語エキスパート | 実装上の相談を受ける。複数のチームを掛け持ち |
コミュニケーションコストの限定
- おざなりにされがちな仕事がきちんと行われる。
- 実際にプログラム製品を製作する執刀医・副執刀医が、プログラム製品製作に集中できる。