Brooksの法則とは
「スケジュールが遅れているソフトウェア開発プロジェクトの後半に開発メンバを追加すると、更なる遅延を招く」という有名な法則(経験則)を含み、それ以外にもいくつかの法則が紹介されている。「The Mythical Man-Month」という本に記述されている。かなり古い本である。
// 最近ではperson monthのほうが一般的だろう。
この法則は、人員追加によるコミュニケーションが人員追加による作業消化の効果を打ち消してしまうことをあらわしているといえる。同書籍にはコミュニケーションの複雑さや作業分割に関して、オーダ等の記述があるが、そこを言及されることはあまりないようだ。
ともあれ、メンバ追加時の経験を思い出すと、なんとなく「引継ぎ、(更新されていない)ドキュメントの説明、状況の説明」というコミュニケーションオーバヘッドが思い当たるのではないだろうか。有名な法則ではあるが、これ自身が意識されていなかったり、管理者層への説明の簡便さから「プロジェクトが遅れはじめているから人員増強」というのはよくある話だろう。
プロセス定義やドキュメントの整備が当時よりも進んでいると思われる現在においても、この法則は大枠成り立つだろう。しかしながら、計測にもとづいたもう少し細かい検証がもっと実施されてもよいように思う。これはエンピリカルソフトウェア工学の課題の1つで、既にいくつかの検証結果が発表されている。実際のところ、どれくらい遅れるかということがある程度明らかになれば、人員に関する再計画を立てるタイミングの参考になるだろう。たとえば工程の区切りでは他と比べて遅延リスクが下がるとか、特定の作業は1人でやったほうがいい、というような結果が得られれば、「遅れているプロジェクトに人員を追加してはいけない」というパッシブな対策ではなくもっと積極的な対策がとれるのではないだろうか。