計算問題の解き方・7/20

工数配分からの要員数・期間・増員数・進捗度の求め方

工数(人月・人日)と期間・配分比率・完成本数が与えられ、必要な要員数、工程ごとのピーク要員数、遅れを取り戻すための追加要員数、全体の進捗度などを求める問題です。どれも「工数=要員数×期間」の関係と、配分比率を掛けて工程ごとの値を出すことで解けます。

公開過去問での出題:本試験系 6 回・免除試験 34 回(観測値)

覚える式
  • 要員数=工数÷期間(期間=工数÷要員数)
  • 工程の工数=全体工数×工数配分、工程の期間=全体期間×期間配分
  • 実績効率=完了した工数÷投入した工数、必要要員数=残り工数÷(残り期間×実績効率)
  • 進捗度=完了した工程の工数配分の合計+作業中の工程の工数配分×(完成本数÷全本数)

解き方の手順

  1. まず全体の工数を出します。プログラム本数×1本当たりの工数を合計し、付随作業(設計・テストなど)の倍率があれば足します。単位(人日・人月、1か月の稼働日数)もここでそろえます。
  2. 工程ごとに聞かれているときは、工程の工数=全体工数×工数配分、工程の期間=全体期間×期間配分を工程ごとに計算します。
  3. 要員数は工程ごとに工数÷期間で求めます。ピーク要員数を聞かれたら、全工程の要員数を出してからいちばん大きい値を選びます。期間を聞かれたら、工程ごとに工数÷要員数を出して合計します。
  4. 増員の問題では、実際に投入した工数と完了した工数から実績効率を出します。残り工数÷(残り期間×実績効率)で必要な人数を出し、いまの人数を引いたものが追加要員数です。
  5. 進捗度の問題では、完了した工程の工数配分を足し、作業中の工程は工数配分×完成した割合だけを加えます。まだ着手していない工程は0とします。

例題

開発期間 10 か月,開発工数 200 人月のプロジェクトを計画する。次の配分表を前提とすると,ピーク時の要員は何人か。ここで,各工程では開始から終了までの要員数は一定とする。
項目\工程名要件定義設計開発・テストシステムテスト
工数配分(%)1633429
期間配分(%)20304010

ア 18
イ 20
ウ 21
エ 22

出典:平成28年度 秋期 基本情報技術者試験 午前 問54(解き方は当サイト作成)

解き方と答えを見る
  1. 要件定義:工数200×16%=32人月、期間10×20%=2か月 → 32÷2=16人
  2. 設計:工数200×33%=66人月、期間10×30%=3か月 → 66÷3=22人
  3. 開発・テスト:工数200×42%=84人月、期間10×40%=4か月 → 84÷4=21人
  4. システムテスト:工数200×9%=18人月、期間10×10%=1か月 → 18÷1=18人
  5. 4工程の要員数16・22・21・18人のうち最大は設計の22人です

答え:22人(エ)

ひっかけ

  • 工数配分がいちばん大きい工程をピークと決めつけるのは誤りです。例題では工数配分が最大の開発・テスト(42%)は21人で、ピークは設計の22人でした。必ず工数÷期間を全工程で計算してから比べます。
  • 「コーディング工数の8倍の工数が掛かる」のような付随作業を、全体工数に足し忘れたり、8倍だけで済ませてコーディング分を落としたりしがちです。全体=元の工数×(1+倍率)と式を書いてから計算します。
  • 遅れが出ている問題で、計画どおりの生産性のまま残りを割ると少ない人数になってしまいます。実際に完了した量÷投入した量で実績効率を出し、その効率で残りを割ります。最後に、聞かれているのが「必要な総人数」か「追加する人数」かを確かめます。
  • 進捗度で、作業中の工程を丸ごと完了扱いにしたり、逆に完了済みの工程を足し忘れたりしがちです。また完成本数÷全本数だけを進捗度と思うのも誤りです。工程ごとの配分×完了割合を全工程分足します。人日と人月が混ざる問題では、1か月の稼働日数で換算してから計算します。

類題(手順を使って解く)

類題 1

投入した工数と完了した工数から実績効率を出し、残り期間に必要な人数から現在の人数を引けるかが試されます。

ある開発プロジェクトの見積工数は 88 人月である。作業を開始した 1 月から 5 月までは各月に 10 名を投入したが,5 月末時点で 40 人月分の作業しか完了していない。8 月末までにこのプロジェクトを完了するためには,6 月以降は最低何名の要員を追加する必要があるか。ここで,6 月以降の全ての要員の作業効率は,5 月までの要員と同じであるものとする。

出典:基本情報技術者試験 科目A免除 修了試験 20250727 実施分 問42(問題文は IPA の公開問題。答えと解説はリンク先)

類題 2

要員数ではなく期間を求める逆向きの問題です。工程ごとに工数÷要員数を出して合計できるかが試されます。

ある会社におけるウォータフォールモデルによるシステム開発の標準では,開発工程ごとの工数比率を表 1 のとおりに配分することになっている。全体工数が 40 人月と見積もられるシステム開発に対し,表 2 に示す開発要員数を割り当てることになった。このシステム開発に要する期間は何か月になるか。
表 1
開発工程工数比率
基本設計10%
詳細設計20%
コーディング・単体テスト30%
結合テスト30%
総合テスト10%
表 2
開発工程開発要員数
基本設計2
詳細設計4
コーディング・単体テスト6
結合テスト2
総合テスト2

出典:基本情報技術者試験 科目A免除 修了試験 20240728 実施分 問41(問題文は IPA の公開問題。答えと解説はリンク先)

類題 3

完了した工程の工数配分の合計に、作業中の工程の配分×完成割合を加えて進捗度を出せるかが試されます。

あるプロジェクトの工数配分は表のとおりである。基本設計からプログラム設計までは計画どおり終了した。現在はプログラミング段階であり,3,000 本のプログラムのうち 1,200 本が完成したところである。プロジェクト全体の進捗度は何%か。ここで,各プログラムの開発工数は,全て等しいものとする。
基本設計詳細設計プログラム設計プログラミングテスト
0.080.160.200.250.31

出典:平成30年度 春期 基本情報技術者試験 午前 問52(問題文は IPA の公開問題。答えと解説はリンク先)

「プログラム本数と工数からの要員数計算」の過去問をアプリで解く「工程別の工数配分・期間配分からのピーク要員数計算」の過去問をアプリで解く「進捗実績に基づく増員必要数の計算」の過去問をアプリで解く「工程別工数配分と完成本数からの進捗度計算」の過去問をアプリで解く