工程ごとの工数と期間からピーク時の要員数を求める

広告

プロジェクトでは、工程ごとに必要な工数と作業期間が異なります。

この問題では、各工程に必要な人数を求め、その中で最も人数が多くなる工程、つまりピーク時の要員数を求めます。

単純にプロジェクト全体の工数を全期間で割るだけでは、ピーク時の人数は求められません。

目次

問題

開発期間10か月、開発工数200人月のプロジェクトを計画する。

次の配分表を前提とすると、ピーク時の要員は何人か。

ここで、各工程では開始から終了までの要員数は一定とする。

工程要件定義設計開発・テストシステムテスト
工数配分(%)1633429
期間配分(%)20304010
  • ア.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{人}

しかし、問題で求められているのは平均要員数ではありません。

求めるのは、工程ごとの人数を比較したときのピーク時の要員数です。

工程ごとに工数配分と期間配分が異なるため、それぞれの工程について人数を計算する必要があります。

工程ごとの要員数を求める手順

各工程について、次の三つを順番に求めます。

  1. 工程に割り当てられる工数
  2. 工程に割り当てられる期間
  3. 工数を期間で割った要員数

工程ごとの要員数は、次の式で求めます。

\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人は、与えられた工数配分と期間配分を前提にした理論上のピーク要員数です。

試験での解き方を整理する

この種類の問題では、次の順番で解くと安定します。

  1. 全体工数に工数配分を掛ける
  2. 全体期間に期間配分を掛ける
  3. 工程の工数を工程の期間で割る
  4. 各工程の人数を比較する
  5. 最も大きい人数を選ぶ

基本式は次のとおりです。

\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人より多い可能性も、少ない可能性もあります。

訪問数 1 回, 今日の訪問数 1回

広告