基本情報技術者 2016年 秋期 午前(科目A) 問54
問題文
開発期間10か月、開発工数200人月のプロジェクトを計画する。次の配分表を前提とすると、ピーク時の要員は何人か。ここで、各工程では開始から終了までの要員数は一定とする。

選択肢
ア:18
イ:20
ウ:21
エ:22(正解)
開発工数と期間配分からピーク要員を求める【午前2 解説】
要点まとめ
- 結論:総工数200人月・開発期間10か月を前提に各工程の要員は16、22、21、18人となりピークは設計工程の22人(選択肢エ)です。
- 根拠:各工程の要員は「工程の工数(人月)÷工程の期間(月)」で求まり、 を係数にして 20\times(\text{工数%}/\text{期間%}) が便利です。
- 差がつくポイント:工数割合と期間割合を取り違えないこと、%をそのまま比として扱い小数変換を省略できる点を理解すると計算ミスを防げます。
正解の理由
正解:エ
各工程の要員は「工程の割当工数(人月)」を「工程の期間(月)」で割って算出します。総工数200人月、総期間10か月なので基本係数は であり、各工程の要員は次のように計算できます。
各工程の要員は「工程の割当工数(人月)」を「工程の期間(月)」で割って算出します。総工数200人月、総期間10か月なので基本係数は であり、各工程の要員は次のように計算できます。
- 要件定義:工数 人月、期間 月、要員 人
- 設計:工数 人月、期間 月、要員 人
- 開発・テスト:工数 人月、期間 月、要員 人
- システムテスト:工数 人月、期間 月、要員 人
これらの中で最大は22人(設計工程)なので、選択肢はエが正解です。
よくある誤解
- 工数割合と期間割合を入れ替えて計算してしまう(例:工数%÷期間%ではなく期間%÷工数%で計算するミス)。
- 全体平均要員(200人月÷10か月=20人)をピークと誤認する。実際は工程ごとの分配でピークが変わる。
- %をそのまま掛け算する際に小数に直すか、係数化(ここでは20倍)することを忘れて計算を誤る。
解法ステップ
- 各工程の割当工数(人月)を求める:総工数×工数配分%。
- 各工程の期間(月)を求める:総期間×期間配分%。
- 各工程の要員=(工程の割当工数)÷(工程の期間)。
- 全工程の要員を比較し、最大値がピーク要員。選択肢と照合する。
- 短縮:係数 を使い、要員=20\times(\text{工数%}/\text{期間%}) で一括計算。
選択肢別の誤答解説
- ア:18
- 誤答理由例:システムテスト工程の18人をピークと誤認した、または要件定義と混同して選んだ可能性。ピークは設計の22人です。
- イ:20
- 誤答理由例:全体平均20人(200人月÷10か月)をピークと誤解。工程配分を無視するとこの値になるが、実務では各工程で偏りがあるため不適。
- ウ:21
- 誤答理由例:開発・テスト工程の21人をピークと考えた選択。開発・テストは工数最大だが期間も長いため要員は22ではなく21であり、設計の22が上回る。
- エ:22(正解)
- 正答理由:設計工程が工数比33%に対して期間比30%と比率が高く、要員が最大になるため正解。
補足コラム
- 速算テクニック:今回のように「総工数÷総期間」が整数になる場合、各工程の要員は係数と比率の比だけで計算できます。ここでは なので、要員=20\times(\text{工数%}/\text{期間%})。
- 実務上の注意:本問は各工程内で要員が一定という単純化したモデルです。実際はフェーズの重なりや漸増・漸減があり、ピークはさらに高くなることがあります。
- 計算用Python(確認用)
total_effort = 200
total_months = 10
tasks = {
"要件定義": (16,20),
"設計": (33,30),
"開発・テスト": (42,40),
"システムテスト": (9,10)
}
for name,(w_pct,t_pct) in tasks.items():
effort = total_effort * w_pct / 100
months = total_months * t_pct / 100
staff = effort / months
print(name, effort, months, staff)
FAQ
Q1: なぜ総平均(20人)ではダメですか?
A1: 総平均は全期間に均等に要員を割り振った場合の値で、工程ごとの工数と期間の偏りを無視するためピーク判定には不適です。
A1: 総平均は全期間に均等に要員を割り振った場合の値で、工程ごとの工数と期間の偏りを無視するためピーク判定には不適です。
Q2: %は小数に直す必要がありますか?
A2: 小数に直して計算しても良いですが、比率のまま 20\times(\text{工数%}/\text{期間%}) の形で使えば簡潔に計算できます。
A2: 小数に直して計算しても良いですが、比率のまま 20\times(\text{工数%}/\text{期間%}) の形で使えば簡潔に計算できます。
Q3: フェーズが重なる場合はどう計算しますか?
A3: フェーズ重複があるときは月ごとの要員分布を時間軸で合算し、各月の合計要員の最大値をピークとして求めます。本問は重複なしの単純モデルです。
A3: フェーズ重複があるときは月ごとの要員分布を時間軸で合算し、各月の合計要員の最大値をピークとして求めます。本問は重複なしの単純モデルです。
関連キーワード: 開発工数、要員配分、ピーク要員、工数配分、期間配分、工程別要員算出、プロジェクト計画、リソース見積り

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

