概要
納期に間に合わない、予定していた締め切りまでに作業が終わらない、、、など、プロジェクトにおいて想定よりもスケジュールが遅れてしまうことがありますよね。
そういう時に良くとられる対策として、新しく人材を投入して、作業分担できるところは分担して、スケジュールに間に合わせる、という策が取られます。
この対応策は一見正しいのですが、大きな罠が隠れています。
「人を投入したのに思っているよりも作業スピードが上がらない。」となってしまう理由を分かっていただけるのではないかと思います。
罠
プロジェクトは作業に対して、”〇〇人月”のように、人月(人数×月数)単位で作業見込みとヒトの割当てが行われます。例えば、『機械学習モデルの構築に2人月』のように。意味は、2人の人間が1ヶ月100%作業したら完了できるタスク、という意味です(1人で2か月あれば完了できる仕事、とも読み替えることができます)。
プロジェクトにおいて、ヒトを投入しても作業効率が上がらない理由を”人月”の観点で解き明かしてみます。
例として、1人月の仕事を考えてみましょう。
つまり、1人の人間が仕事の時間の100%を使って1ヶ月で終了する仕事です。
ケース1:2人に任せる場合
この仕事を任された人をAさんとBさんとしましょう。
AさんもBさんもそれぞれもともと持っている別の仕事があり、それぞれ0.5人月分の時間がたまたま空いていたという状況だとします。
AさんもBさんも有能でそのタスクを終わらせるためには申し分のない人材です。
直感的に考えると、1人月の仕事を「Aさんの0.5人月+ Bさんの0.5人月 = 1.0人月」と数値の上では過不足ない状況となります。何の問題もなく作業を終えることができそうだと考えますよね。
実際は違います。
実際にこういう仕事をするときは、AさんとBさんとでお互いの仕事の進捗や作業内容について相談、確認が必要となります。お互いの仕事に依存関係があり(Aさんの仕事が終わらないとBさんの仕事を始められない、など)、そういった各種仕事の状況を確認が必要だからです。このコミュニケーションがやっかいです。
少なくともAさんとBさんとで、0.1人月はコミュニケーションの時間が必要でしょう。
AさんとBさんの作業とコミュニケーションの時間をそれぞれ明示すると、以下のようになります。
- Aさん:使える工数 = 0.5人月
- コミュニケーションの時間:0.1人月
- 作業の時間:0.5-0.1 = 0.4人月
- Bさん:使える工数 = 0.5人月
- コミュニケーションの時間:0.1人月
- 作業の時間:0.5-0.1 = 0.4人月
そうです。コミュニケーションの時間(0.1人月)の分だけ、使える時間が減ってしまい、それぞれ0.4人月の作業時間しかとれません。
コミュニケーションの時間は作業に当てられる時間ではないので、本来すべき仕事の進捗への貢献はゼロです。したがって、
AさんとBさんがそれぞれ0.4人月分の作業を進めるので、1ヶ月後の作業の進捗としては「0.4人月×2人 = 0.8人月」となってしまい、0.2人月分の作業が遅れてしまいます。
コミュニケーションの時間は1人だけが負う時間ではなく、そのプロジェクトに参加しているメンバー全員が負う時間です。したがって、コミュニケーションのための時間が0.1人月だけだったとしてもそれは参加している人数の分で考えると、「0.1人月×人数」となり、プロジェクトの進捗に対して大きな影響を与えてしまうのです。
1人の人を最初から1人月分当てておけば、0.2人月分の遅れが発生することは無かったはずですが、2人に分けた(人材を投下した)ことが原因でコミュニケーションの時間の分だけ作業する時間が減ってしまっているのです。
0.1人月もコミュニケーションにかける(必要が)あるのか?と思うかもしれませんが、0.1人月は1ヶ月の時間で言えば、約15時間/月で、週で言えば4時間程度です。2人しかいない仕事で週に4時間もコミュニケーションに時間をかけることは少ないかもしれませんが、
- 1回1時間のMTGを週に1回開催
- 必要に応じた急ぎの会話で1時間
- 週のMTGの準備のための時間として1時間半
のように考えると、トータルで3.5時間なので、時間としては妥当な仮定と言えると思います。
ケース2:4人に任せる場合
上記の2人のケースで、思っているよりも作業時間が減ってしまう、ということがわかりましたが、人数を増やすともっと悲惨なことになります。
そして、往々にしてプロジェクトの進捗が間に合わなくなると、大規模に人数を投下する、ということを(偉い)人は判断しがちです。
ここでは人数を多く投下した場合の影響の大きさを考えてみるために、4人で考えてみます。Aさん、Bさん、Cさん、Dさんとします。
4人で投下した場合、数値上の工数の按分は、1人月÷4 = 0.25人月 です。
今回もコミュニケーションにかかる工数を0.1人月とましょう。
そうすると、各メンバーの作業とコミュニケーションにかかる工数は以下のようになります。
コミュニケーションの時間(人月) | 作業の時間(人月) | |
---|---|---|
Aさん | 0.1 | 0.15 (=0.25-0.1) |
Bさん | 0.1 | 0.15 (=0.25-0.1) |
Cさん | 0.1 | 0.15 (=0.25-0.1) |
Dさん | 0.1 | 0.15 (=0.25-0.1) |
合計 | 0.4 | 0.6 |
作業に当てられる時間(=プロジェクトにおいて成果物/納品物を作成するための時間)の合計は0.6人月しかないのです。
2人でやった時よりも減ってしまっています。これは各人が割り当てられている作業工数に対して、コミュニケーションにかかる工数の割合が大きすぎて、作業時間が大きく減ってしまったということを意味します。
直感的には人数が多ければ多いほど、できることが増える、という風に思ってしまいますが、今回のように作業時間(工数)が固定の場合、コミュニケーションコストという隠れたコストがあるために、人数を増やすと作業時間が減ってしまい、結果としてできることが減ってしまうことがあるのです。
まとめ
今回の例で見たように、プロジェクト進行においては、人数を増やすことが必ずしも作業スピードの向上に貢献する、というわけではないということが分かったと思います。
本記事のタイトルの「銀の弾丸」ですが、不死身の狼男が相手の時に、銀の弾丸であれば倒せる、というところからきています。プロジェクトなどでもマネージャや上役の人が問題発生時に、銀の弾丸がごとく、人を投下することをよくやりますが、実はそれは問題の解決策ではない、という意味を込めてみました。
私もプロジェクトマネジメントの役割を任されることが出てきたのですが、上での考察をわすれずに安易に人材投下しないマネジメントを行っていきたいと思います。
書いた理由
プロジェクトマネジメントをしていて、人数を増やしても作業スピードが上がらない時に、その理由を考えていたら思いつきました。
プロジェクトに限らないですが、経営でもなんでもそうですが、問題が起きた時に人を投下して解決を図ろうとすることが多々あると思います。しかし、それはコミュニケーションコストという見えづらい(測りづらい)コストが隠れており、それによって、実は作業スピードが遅くなってしまう、ということがあるのです。