工程ごとの工数と期間からピーク時の要員数を求める
プロジェクトでは、工程ごとに必要な工数と作業期間が異なります。
この問題では、各工程に必要な人数を求め、その中で最も人数が多くなる工程、つまりピーク時の要員数を求めます。
単純にプロジェクト全体の工数を全期間で割るだけでは、ピーク時の人数は求められません。
- 1. 問題
- 2. 先に答えを確認
- 3. まず「人月」の意味を確認する
- 4. この問題で求めるのは「平均人数」ではない
- 5. 工程ごとの要員数を求める手順
- 6. 工程ごとの要員数を比較する
- 7. イラストで計算の流れを確認しよう
- 8. なぜ200人月を10か月で割るだけではいけないのか
- 9. なぜ工数配分が最大の工程がピークとは限らないのか
- 10. 短い解き方
- 11. よくある間違い1:平均人数の20人を選ぶ
- 12. よくある間違い2:工数配分だけを比較する
- 13. よくある間違い3:割合をそのまま人数として扱う
- 14. 現場では本当に22人を一定配置するのか
- 15. 試験での解き方を整理する
- 16. まとめ
- 17. 現場感覚と合わない点
- 18. この問題の正しい位置付け
問題
開発期間10か月、開発工数200人月のプロジェクトを計画する。
次の配分表を前提とすると、ピーク時の要員は何人か。
ここで、各工程では開始から終了までの要員数は一定とする。
| 工程 | 要件定義 | 設計 | 開発・テスト | システムテスト |
|---|---|---|---|---|
| 工数配分(%) | 16 | 33 | 42 | 9 |
| 期間配分(%) | 20 | 30 | 40 | 10 |
- ア.18人
- イ.20人
- ウ.21人
- エ.22人
先に答えを確認
各工程の要員数は、次のようになります。
| 工程 | 必要な要員数 |
|---|---|
| 要件定義 | 16人 |
| 設計 | 22人 |
| 開発・テスト | 21人 |
| システムテスト | 18人 |
最も人数が多いのは、設計工程の22人です。
したがって、答えは次のとおりです。
エ.22人
まず「人月」の意味を確認する
人月とは、作業量を表す単位です。
例えば、1人が3か月間作業すると、作業量は3人月です。
1\text{人}\times3\text{か月}=3\text{人月}また、3人が1か月間作業した場合も、作業量は3人月になります。
3\text{人}\times1\text{か月}=3\text{人月}つまり、人月は次の関係で表されます。
\text{人月}=\text{人数}\times\text{作業月数}反対に、工数と期間から要員数を求める場合は、工数を期間で割ります。
\text{要員数}=\frac{\text{工数}}{\text{期間}}今回の問題でも、この関係を使います。
この問題で求めるのは「平均人数」ではない
プロジェクト全体の開発工数は200人月、開発期間は10か月です。
全体の工数を全期間で割ると、平均要員数は20人になります。
\frac{200\text{人月}}{10\text{か月}}=20\text{人}しかし、問題で求められているのは平均要員数ではありません。
求めるのは、工程ごとの人数を比較したときのピーク時の要員数です。
工程ごとに工数配分と期間配分が異なるため、それぞれの工程について人数を計算する必要があります。
工程ごとの要員数を求める手順
各工程について、次の三つを順番に求めます。
- 工程に割り当てられる工数
- 工程に割り当てられる期間
- 工数を期間で割った要員数
工程ごとの要員数は、次の式で求めます。
\text{工程の要員数}
=
\frac{\text{工程の工数}}{\text{工程の期間}}この問題では、各工程の開始から終了まで要員数が一定で、工程同士の重なりもないものとして計算しています。
そのため、求められる22人は、与えられた工数と期間から求めた理論上の平均要員数です。
実際のプロジェクトでは、工程内の人数変動、工程の重なり、担当者の技能差、レビュー、会議、手戻りなどを考慮して要員計画を作成します。
手順1:要件定義の要員数を求める
要件定義の工数配分は16%です。
プロジェクト全体の工数は200人月なので、要件定義の工数は次のようになります。
200\text{人月}\times\frac{16}{100}=32\text{人月}要件定義の期間配分は20%です。
プロジェクト全体の期間は10か月なので、要件定義の期間は次のようになります。
10\text{か月}\times\frac{20}{100}=2\text{か月}したがって、要件定義に必要な要員数は次のとおりです。
\frac{32\text{人月}}{2\text{か月}}=16\text{人}要件定義では、2か月間に16人が必要です。
手順2:設計の要員数を求める
設計の工数配分は33%です。
200\text{人月}\times\frac{33}{100}=66\text{人月}設計の期間配分は30%です。
10\text{か月}\times\frac{30}{100}=3\text{か月}したがって、設計に必要な要員数は次のとおりです。
\frac{66\text{人月}}{3\text{か月}}=22\text{人}設計工程では、3か月間に22人が必要です。
手順3:開発・テストの要員数を求める
開発・テストの工数配分は42%です。
200\text{人月}\times\frac{42}{100}=84\text{人月}開発・テストの期間配分は40%です。
10\text{か月}\times\frac{40}{100}=4\text{か月}したがって、開発・テストに必要な要員数は次のとおりです。
\frac{84\text{人月}}{4\text{か月}}=21\text{人}開発・テスト工程では、4か月間に21人が必要です。
手順4:システムテストの要員数を求める
システムテストの工数配分は9%です。
200\text{人月}\times\frac{9}{100}=18\text{人月}システムテストの期間配分は10%です。
10\text{か月}\times\frac{10}{100}=1\text{か月}したがって、システムテストに必要な要員数は次のとおりです。
\frac{18\text{人月}}{1\text{か月}}=18\text{人}システムテスト工程では、1か月間に18人が必要です。
工程ごとの要員数を比較する
ここまでの計算結果を表に整理します。
| 工程 | 工数 | 期間 | 要員数 |
|---|---|---|---|
| 要件定義 | 32人月 | 2か月 | 16人 |
| 設計 | 66人月 | 3か月 | 22人 |
| 開発・テスト | 84人月 | 4か月 | 21人 |
| システムテスト | 18人月 | 1か月 | 18人 |
最も人数が多いのは、設計工程の22人です。
したがって、ピーク時の要員数は22人になります。
答え
エ.22人
イラストで計算の流れを確認しよう

工程ごとの計算をまとめると、次のようになります。
要件定義
\frac{
200\text{人月}\times\frac{16}{100}
}{
10\text{か月}\times\frac{20}{100}
}
=
16\text{人}設計
\frac{
200\text{人月}\times\frac{33}{100}
}{
10\text{か月}\times\frac{30}{100}
}
=
22\text{人}開発・テスト
\frac{
200\text{人月}\times\frac{42}{100}
}{
10\text{か月}\times\frac{40}{100}
}
=
21\text{人}システムテスト
\frac{
200\text{人月}\times\frac{9}{100}
}{
10\text{か月}\times\frac{10}{100}
}
=
18\text{人}最大となるのは22人です。
なぜ200人月を10か月で割るだけではいけないのか
プロジェクト全体の平均人数は20人です。
\frac{200\text{人月}}{10\text{か月}}=20\text{人}しかし、20人は10か月間を通した平均人数です。
今回求めるのは、最も人数が多くなる工程の要員数です。
工程によって、工数配分と期間配分の関係が異なります。
例えば、設計工程では、全工数の33%を、全期間の30%で実施します。
工数配分の割合が期間配分の割合より大きいため、全体平均の20人より多い人数が必要になります。
20\text{人}\times\frac{33}{30}=22\text{人}そのため、平均人数の20人を選ぶことはできません。
なぜ工数配分が最大の工程がピークとは限らないのか
工数配分が最も大きいのは、開発・テスト工程の42%です。
そのため、開発・テスト工程の人数が最大になるように思えるかもしれません。
しかし、要員数は工数だけでは決まりません。
\text{要員数}=\frac{\text{工数}}{\text{期間}}同じ工数でも、短い期間で実施するほど、多くの要員が必要になります。
開発・テスト工程は84人月を4か月で実施します。
\frac{84\text{人月}}{4\text{か月}}=21\text{人}一方、設計工程は66人月を3か月で実施します。
\frac{66\text{人月}}{3\text{か月}}=22\text{人}工数そのものは開発・テスト工程の方が多いのですが、設計工程の方が短い期間に工数が集中しています。
そのため、設計工程の22人がピークになります。
短い解き方
試験では、最初にプロジェクト全体の平均要員数を求める方法も使えます。
\frac{200\text{人月}}{10\text{か月}}=20\text{人}工程ごとの要員数は、次の式で求められます。
\text{工程の要員数}
=
\text{平均要員数}
\times
\frac{\text{工数配分}}{\text{期間配分}}要件定義
20\text{人}\times\frac{16}{20}=16\text{人}設計
20\text{人}\times\frac{33}{30}=22\text{人}開発・テスト
20\text{人}\times\frac{42}{40}=21\text{人}システムテスト
20\text{人}\times\frac{9}{10}=18\text{人}最大値は22人なので、答えは「エ」です。
よくある間違い1:平均人数の20人を選ぶ
全体の工数と期間だけを使うと、次のようになります。
\frac{200\text{人月}}{10\text{か月}}=20\text{人}これはプロジェクト全体の平均要員数です。
問題で求められているピーク時の要員数ではありません。
工程ごとの人数を求め、その中の最大値を選ぶ必要があります。
よくある間違い2:工数配分だけを比較する
工数配分だけを見ると、開発・テスト工程の42%が最大です。
しかし、人数を求めるには、工数だけでなく期間も必要です。
工数が大きくても期間が長ければ、必要人数は少なくなることがあります。
反対に、工数がそれほど大きくなくても、短期間に作業が集中すれば、多くの人数が必要になります。
よくある間違い3:割合をそのまま人数として扱う
工数配分の33%や42%は、人数を表しているわけではありません。
工数配分は、200人月のうち、各工程へ何人月を割り当てるかを表しています。
期間配分は、10か月のうち、各工程を何か月実施するかを表しています。
それぞれを実際の工数と期間に直した後で、割り算をする必要があります。
現場では本当に22人を一定配置するのか
この問題には、次の条件があります。
各工程では開始から終了までの要員数は一定とする。
したがって、この問題では設計工程の3か月間に、常に22人が配置されるものとして計算します。
しかし、実際のプロジェクトでは、工程の途中でも人数が変化します。
例えば設計工程でも、次のようなことがあります。
- 前半は少人数で基本設計を行う
- 中盤に詳細設計の担当者が増える
- 後半にレビュー担当者が加わる
- 設計を終えた担当者が順次、開発工程へ移る
また、設計と開発が一部並行して進む場合もあります。
そのため、実際の工程表や要員計画を作る場合は、作業をさらに細かく分解したWBSや、作業の開始日・終了日、前後関係、担当者の技能などが必要です。
この問題で求めた22人は、与えられた工数配分と期間配分を前提にした理論上のピーク要員数です。
試験での解き方を整理する
この種類の問題では、次の順番で解くと安定します。
- 全体工数に工数配分を掛ける
- 全体期間に期間配分を掛ける
- 工程の工数を工程の期間で割る
- 各工程の人数を比較する
- 最も大きい人数を選ぶ
基本式は次のとおりです。
\text{工程の要員数}
=
\frac{
\text{全体工数}\times\text{工数配分}
}{
\text{全体期間}\times\text{期間配分}
}まとめ
各工程の要員数は、工数を期間で割って求めます。
要件定義
\frac{32\text{人月}}{2\text{か月}}=16\text{人}設計
\frac{66\text{人月}}{3\text{か月}}=22\text{人}開発・テスト
\frac{84\text{人月}}{4\text{か月}}=21\text{人}システムテスト
\frac{18\text{人月}}{1\text{か月}}=18\text{人}各工程を比較すると、最大は設計工程の22人です。
したがって、ピーク時の要員数は次のようになります。
22\text{人}答えは「エ.22人」です。
この問題も、試験問題としては成立していますが、現場感覚とはかなりずれる部分があります。
最大の違和感は、工程ごとに人数が一定で、工程がきれいに順番どおり進む前提です。
現場感覚と合わない点
1.工程の中で人数は一定ではない
問題では、
各工程では開始から終了までの要員数は一定
としています。
しかし実際には、設計工程でも人数は変動します。
- 前半は少人数で基本設計
- 中盤に詳細設計担当が増える
- 後半にレビュー担当が加わる
- 終わった人から次工程へ移る
そのため、設計工程が3か月間ずっと22人というのは、かなり単純化されたモデルです。
2.工程は完全には分離しない
現場では、
要件定義 → 設計 → 開発 → テスト
が完全に切り替わるとは限りません。
例えば、設計の後半で一部の開発が始まったり、開発中に設計修正が発生したりします。
つまり、工程同士が重なることがあります。
この問題の表だけでは、その重なりを表現できません。
3.22人いれば設計が進むとは限らない
必要人数を、\[ \text{工数} \div \text{期間} \]
で求めていますが、22人全員が同じ役割をこなせるとは限りません。
実際には、
- 業務に詳しい人
- 基本設計ができる人
- 詳細設計が得意な人
- レビューできる人
- 顧客と調整できる人
など、役割や技能が異なります。
22人という人数だけ分かっても、必要なスキル構成が不明です。
4.人を増やせば比例して早くなるわけではない
この問題では、工数を人数で割れば期間が決まるように扱っています。
しかし、人数が増えるほど、
- 会議が増える
- 情報共有が難しくなる
- レビュー調整が増える
- 手戻りが増える
ことがあります。
人数と生産性は単純な比例関係ではありません。
5.工数配分と期間配分が既に決まっている
現場では本来、WBSや作業量、依存関係を見て工程期間を決めます。
この問題では、最初から、
- 工数配分
- 期間配分
が与えられています。
そのため、工程計画を作る問題というより、既に作られた計画から人数を逆算する問題です。
6.休日や稼働率を考慮していない
200人月という工数を、そのまま人数と月数で割っています。
実際には、1人が1か月ずっと100%作業できるわけではありません。
- 会議
- 教育
- 管理作業
- 休暇
- 障害対応
- 他案件対応
などがあります。
現場では稼働率を考慮することが多いです。
例えば、稼働率80%なら、22人分の実作業を確保するために、実際にはより多い人数が必要になる場合があります。
この問題の正しい位置付け
この問題は、
工数配分と期間配分から、各工程の平均要員数を計算し、その最大値を求める問題
です。
したがって、22人は厳密には、
設計工程における平均要員数
です。
現場でいう瞬間的なピーク人数とは限りません。
工程内でも人数が変動するため、実際の最大人数は22人より多い可能性も、少ない可能性もあります。











ディスカッション
コメント一覧
まだ、コメントがありません