技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

炎上プロジェクトへの人員追加のまずさと、正しい人員追加の方法

IT業界では、炎上プロジェクトへの人員追加は悪手とされ、遅れが更に拡大する結果になることが多いです。
(一般的には、スコープ見直しやスケジュール延伸が良い手とされます)
 
このことは「ブルックスの法則」として知られており、その法則では以下の理由により人員追加が悪手とされています。
 
1.新たに投入された人員を育成するのに時間がかかる
育成するまでの間、新たに投入された人員がプロジェクトへ貢献するのは難しく、逆に育成コストがかかってしまう。
スキル面で問題のない人員だとしてむ、システム固有の知識を得るのにある程度の時間はかかってしまう。
 
2.人員が増えるとコミュニケーションコストが増大する
人員が増えれば増える程、コミュニケーションに費やす労力が増えることになる。
そのため、人員とパフォーマンスは比例するわけではなく、人員の増加量に応じたパフォーマンスの増加量は徐々に低下する。
仮に、追加人員が全くパフォーマンスを発揮しない場合、コミュニケーションコストが増える分、全体のパフォーマンスはむしろ低下する。
(この問題は、組織を適切に分割することで、ある程度緩和される)
 
3.タスクの分割が難しい場合がある
労働集約的なタスクであれば、一般的に分割は容易である。
例えば、複数のソースコードの修正であれば、ソースコード毎にタスクを分割できる。
しかし、そうではないタスクは分割が難しい場合もあり、例えば、チーム間調整のタスクは分割が困難である。
タスクの分割ができない場合、新たに投入された人員にタスクを割り振ることができず、遊ばせてしまう。
 
----
 
しかし、人員追加は常に悪手ではありません。
1人でこなすことができるタスク量には限界があり、また人員が何らかの理由(体調不良や家庭の事情等)でパフォーマンスを発揮できなくなった場合のリスクヘッジも考える必要があるためです。
悪手なのはあくまでもプロジェクト炎上中に人員を追加することであり、人員は少なければ少ないほど良い、というわけではありません。
 
途中で人員を追加したくなるような炎上プロジェクトは、初めから人員を追加しておけば、問題は無かったはずです。
そのため、プロジェクトの計画時に適切な人員を確保することが重要になります。
人員を追加する際、追加する人員の人数やスキル、人員の育成計画、コミュニケーション計画、各人員のタスク、といったものも合わせて計画することが重要です。
 
仮に、計画時の見積もりが過小であったことが開発途中で分かったのであれば、炎上する前に計画を見直して人員を追加するのが望ましいです。
炎上する前であれば、人員追加が間に合う可能性があります。
炎上するまで放置すると人員追加が間に合わなくなってしまうので、炎上する気配が見えたらなるべく早く計画を見直すことが重要です。