基本情報技術者 2011年 秋期 午後 問06
プロジェクトの要員計画に関する次の記述を読んで、設問1~3に答えよ。
製造会社のA社では、社内の情報システムを再構築することになった。新システムは、将来の保守性を考慮して、既存システムの改修による機能強化ではなく、全て新規に開発する。開発が大規模になることから、要員を確保しやすいよう、2期(第一期と第二期)に分けて開発することになった。新システムの開発は、A社の要員と、システムの保守を委託しているSI企業B社の要員との共同体制で行うことにした。既存システムの開発実績を基に、開発規模や要員の生産性などを推定して、プロジェクトの要員計画を作成する。
〔プロジェクトの説明〕
(1) 新システムの開発規模は、第一期及び第二期ともに480kステップである。
(2) 両期ともにウォータフォールモデルに基づいて、外部設計、内部設計、プログラム開発(単体テストを含む)、結合テスト及び総合テストの五つの工程に分ける。
(3) 各工程での要員計画の前提条件は、次のとおりである。
① 各月のA社の要員数は、第一期及び第二期の全期間を通して13名に固定する。
② A社の要員には、全期間を通して全員に作業を常に割り当てる。
③ プログラム開発工程には、第一期及び第二期ともにA社の要員を割り当てない。
④ 各月の必要要員のうち、A社の要員だけでは不足する場合には、B社の要員を割り当てる。
(4) 第一期は平成24年1月から開始する。第二期は第一期のプログラム開発の開始月から並行して開始する予定である。
設問1:
問題文を見る 要員数の算出に関する次の記述中のに入れる正しい答えを、解答群の中から選べ。
第一期における各工程の生産性、工数及び配分月数を表1のとおりに設定した。生産性とは、各工程での1人月当たりの開発規模であり、配分月数とは、あらかじめ各工程に設定した開発期間(月数)である。
各工程の工数は次の式で算出する。
各工程の工数(人月) = 開発規模(kステップ)/各工程の生産性(kステップ/人月)

各工程の各月の要員数を求めるために、各月の平均要員数を次の式によって算出し、その値を該当する工程の各月の要員数とする。
なお、平均要員数の値は、小数点以下を切り上げた整数値にする。
各月の平均要員数(人) = 各工程の工数(人月)/各工程の配分月数(月)
例えば、外部設計工程では、平成24年1月〜3月のB社の要員数は、各月ともにb人になる。同様にして、第一期及び第二期の全工程についてB社の要員数を求める。ここで、第二期の各工程の生産性、工数及び配分月数は第一期に同じとする。
aに関する解答群
ア:52
イ:60
ウ:68
エ:72
オ:80
bに関する解答群
ア:2
イ:3
ウ:4
エ:15
オ:16
カ:17
模範解答
a:イ、b:イ
解説
解答の導き方
この設問では、aで結合テストの工数を求め、bで外部設計の各月に必要なB社の要員数を求めます。
まず、結合テストの工数を計算します。問題文では、工数は「開発規模(kステップ)/各工程の生産性(kステップ/人月)」で求めるとあります。第一期の開発規模は480kステップで、結合テストの生産性は表1から8.0kステップ/人月です。
したがって、結合テストの工数は60人月です。解答群ではイに当たります。
次に、外部設計の各月に必要な要員数を求めます。表1では、外部設計の工数が48人月、配分月数が3か月です。各月の平均要員数は、工数を配分月数で割って求めます。
つまり、外部設計では各月に16人が必要です。各月のA社の要員数は13名なので、必要人数に足りない分をB社の要員で補います。
したがって、外部設計の各月に必要なB社の要員数は3人です。解答群ではイに当たります。
誤りやすいポイント
- 工数と、各月に必要な要員数を混同しないようにしましょう。48人月は3か月分の合計工数であり、各月の要員数は48を3で割った16人です。
- bでは、必要な16人全員をB社から確保するのではありません。A社の13名を割り当てた後、不足する3人をB社から割り当てます。
- aの計算では、結合テストの生産性8.0を使います。外部設計など、別工程の生産性と取り違えないようにしましょう。
FAQ
Q: 工数の「人月」とは何ですか?
A: 1人が1か月作業した量を1人月とする単位です。例えば、48人月の作業を3か月に均等に配分すると、各月に必要な要員は16人です。
A: 1人が1か月作業した量を1人月とする単位です。例えば、48人月の作業を3か月に均等に配分すると、各月に必要な要員は16人です。
Q: 各月の平均要員数に小数が出た場合はどうしますか?
A: 問題文の指示どおり、小数点以下を切り上げて整数にします。人の人数は端数のまま割り当てられないためです。
A: 問題文の指示どおり、小数点以下を切り上げて整数にします。人の人数は端数のまま割り当てられないためです。
Q: プログラム開発工程にA社の要員を割り当てない条件は、今回の計算に関係しますか?
A: 今回のbは外部設計について尋ねているため、直接は関係しません。工程ごとに必要な要員数を計算し、その工程に割り当てられるA社の要員数と比べます。
A: 今回のbは外部設計について尋ねているため、直接は関係しません。工程ごとに必要な要員数を計算し、その工程に割り当てられるA社の要員数と比べます。
関連キーワード: 工数、生産性、配分月数、平均要員数、要員計画
設問2:
問題文を見る 開発スケジュール案の検討に関する次の記述中のに入れる正しい答えを、解答群の中から選べ。
各月でB社の要員数がばらついていることが分かった。そこで、プログラム開発工程の配分月数を調整して、各月のB社の要員数をできるだけ平準化する。納期の制約から、プログラム開発工程の配分月数は、3〜5となる。
第一期及び第二期ともにプログラム開発工程の配分月数を3とした開発スケジュール案1と、配分月数を4とした開発スケジュール案2を検討した。しかし、案1ではc、案2ではdが、プロジェクトの説明(3)の前提条件②を満たせないことが分かった。
この問題は、プログラム開発工程の配分月数を、“e”又は“第一期を5に第二期を4にする”ことで解消できる。後者を選択した場合の開発スケジュールは表2のようになる。

c, dに関する解答群
ア:平成24年11月
イ:平成24年12月
ウ:平成25年1月
エ:平成25年2月
オ:平成25年3月
カ:平成25年4月
eに関する解答群
ア:第一期を3に第二期を4にする
イ:第一期を3に第二期を5にする
ウ:第一期を4に第二期を3にする
エ:第一期を4に第二期を5にする
模範解答
c:オ、d:カ、e:ウ
解説
解答の導き方
この設問では、工程の日程を見て、A社の要員に毎月作業を割り当てられるかを確かめます。
本文には、A社の要員は全期間を通して13名で、「全員に作業を常に割り当てる」とあります。一方で、「プログラム開発工程には、第一期及び第二期ともにA社の要員を割り当てない」とあります。
つまり、A社の要員が作業できるのは、外部設計、内部設計、結合テスト、総合テストなどの工程です。二つの期が同時にプログラム開発工程に入っていたり、一方の期が終わったあと、もう一方の期がプログラム開発工程だけになったりすると、A社の要員に作業を割り当てられない月が生じます。
工程の順番に沿って開発を進める方式を、ウォータフォールモデルといいます。この問題では、プログラム開発工程の月数を変えると、その後の工程の時期も変わります。そこで、案1と案2について、第一期と第二期の工程を順に確認します。
案1:第一期、第二期ともにプログラム開発工程が3か月
第一期は、平成24年1月に外部設計を始めます。外部設計と内部設計を終えた後、プログラム開発工程は平成24年7月から9月です。その後、結合テストと総合テストを行い、総合テストは平成24年12月から平成25年2月までです。
第二期は、第一期のプログラム開発工程が始まる平成24年7月に始まります。第二期の外部設計と内部設計の後、プログラム開発工程は平成25年1月から3月です。
平成25年3月には、第一期はすでに総合テストを終えています。一方、第二期はプログラム開発工程の最中です。この月は、A社の要員が作業できる工程がなくなります。したがって、案1で前提条件②を満たせないのは平成25年3月です。
案2:第一期、第二期ともにプログラム開発工程が4か月
第一期のプログラム開発工程は平成24年7月から10月となり、その後、結合テスト、総合テストと進みます。総合テストは平成25年1月から3月までです。
第二期のプログラム開発工程は平成25年1月から4月です。平成25年4月には第一期の総合テストが終わっている一方、第二期はまだプログラム開発工程です。この月も、A社の要員に作業を割り当てられません。
したがって、案2で前提条件②を満たせないのは平成25年4月です。
工程の月数を変えて、作業がない月をなくす
第一期を4か月、第二期を3か月にすると、第一期は平成25年3月まで総合テストを行い、第二期は平成25年1月から3月までプログラム開発工程を行います。第二期はその後、結合テストに進みます。
そのため、平成25年1月から3月までは第一期の総合テストにA社の要員を割り当てられます。平成25年4月以降は、第二期が結合テストに進むため、A社の要員に作業を割り当てられます。案1のように、第二期のプログラム開発工程だけが残る月は生じません。
また、表2のように第一期を5か月、第二期を4か月にする案でも、平成25年2月から4月は第一期の総合テストと第二期のプログラム開発工程が並行します。平成25年5月からは第二期が結合テストに進むため、A社の要員の作業が途切れません。
よって、空欄には、案1について平成25年3月、案2について平成25年4月、解消方法について第一期を4に第二期を3にするが入ります。
誤りやすいポイント
- プログラム開発工程の月数だけを見て、他の工程の終了時期を確認しないことです。プログラム開発工程の月数が変わると、その後の結合テストや総合テストの時期も変わります。
- B社の要員を割り当てれば、A社の要員にも作業があると考えてしまうことです。B社の要員は不足分を補いますが、A社の要員に作業が割り当てられない月があると、前提条件②は満たせません。
- 二つの期でプログラム開発工程が重なるかどうかだけを見ることです。第一期が終了した後に第二期がプログラム開発工程を続ける場合も、A社の要員に作業を割り当てられない月が生じます。
FAQ
Q: プログラム開発工程にA社の要員を割り当てられないのはなぜですか?
A: 本文の前提条件③で、第一期、第二期ともにA社の要員を割り当てないと定められているためです。この条件があるので、A社の要員が作業できる月かどうかを、各期の工程全体で確認します。
A: 本文の前提条件③で、第一期、第二期ともにA社の要員を割り当てないと定められているためです。この条件があるので、A社の要員が作業できる月かどうかを、各期の工程全体で確認します。
Q: B社の要員を増やせば、A社の要員に作業がない月も問題ありませんか?
A: 問題は解消しません。B社の要員を割り当てるのは、必要要員のうちA社だけでは不足する場合です。A社の要員全員に作業を割り当てるという条件は、B社の要員数を増やしても変わりません。
A: 問題は解消しません。B社の要員を割り当てるのは、必要要員のうちA社だけでは不足する場合です。A社の要員全員に作業を割り当てるという条件は、B社の要員数を増やしても変わりません。
Q: 「平準化」とは、この設問では何をすることですか?
A: 各月に必要なB社の要員数のばらつきを小さくすることです。この設問ではプログラム開発工程の月数を調整しますが、その際もA社の要員に毎月作業を割り当てられるかを確認する必要があります。
A: 各月に必要なB社の要員数のばらつきを小さくすることです。この設問ではプログラム開発工程の月数を調整しますが、その際もA社の要員に毎月作業を割り当てられるかを確認する必要があります。
関連キーワード: ウォータフォールモデル、要員計画、要員平準化、工程スケジュール
設問3:
問題文を見る 最終的な要員計画に関する次の記述中のに入れる適切な答えを、解答群の中から選べ。
最終的な要員計画として、プログラム開発工程の配分月数を、第一期を5に第二期を4にする案を選択した。
第一期及び第二期の各工程における各月の平均要員数を算出する。その値を各月の要員数とすると、各月の総要員数のピーク時はfでg人となり、その月だけ他の月よりも要員数が突出する。ピークを減らして、その月と前後の月の3か月の要員数を同じにするためには、当該月のhとすればよい。
なお、当該月の作業の一部を同一工程内の前月に移動することを“前倒し”と呼び、後月に移動することを“後ろ倒し”と呼んでいる。
fに関する解答群
ア:平成24年7月
イ:平成24年10月
ウ:平成24年12月
エ:平成25年1月
オ:平成25年2月
gに関する解答群
ア:56
イ:59
ウ:63
エ:66
オ:70
hに関する解答群
ア:第一期及び第二期の作業をともに前倒し
イ:第一期及び第二期の作業をともに後ろ倒し
ウ:第一期の作業を前倒しとし、第二期の作業を後ろ倒し
エ:第一期の作業を後ろ倒しとし、第二期の作業を前倒し
模範解答
f:エ、g:オ、h:ウ
解説
解答の導き方
まず、工程ごとの「1か月に必要な要員数」を求めます。工数の単位である人月は、1人が1か月働く作業量を表します。各月の平均要員数は小数点以下を切り上げ、その工程の月ごとの必要要員数にします。
第一期と第二期は開発規模も生産性も同じです。異なるのは、プログラム開発工程の配分月数です。最終案では、第一期が5か月、第二期が4か月です。
プログラム開発工程にはA社の要員を割り当てません。それ以外の工程ではA社の要員が13人なので、B社の要員数は「その工程の必要要員数から13人を引いた数」です。
表2のスケジュールでは、第一期の結合テストと第二期のプログラム開発が平成25年1月に重なります。このように複数の工程が同じ月に並行する場合は、それぞれの工程の要員数を足します。
平成25年1月は、第一期の結合テスト30人と第二期のプログラム開発40人が重なるため、総要員数は人です。これが全期間のピークです。
次に、ピーク月とその前後の月の要員数をそろえる方法を考えます。対象となる3か月の要員数は、次のとおりです。
- 平成24年12月:57人
- 平成25年1月:70人
- 平成25年2月:56人
3か月の合計は人分です。3か月を同じ要員数にするなら、1か月当たりは人になります。つまり、平成24年12月には4人分を増やし、平成25年2月には5人分を増やし、その分を平成25年1月から移せばよいことになります。
第一期の結合テストの作業を平成25年1月から前月の平成24年12月へ移すと、12月が増えて1月が減ります。第二期のプログラム開発の作業を平成25年1月から後月の平成25年2月へ移すと、1月が減って2月が増えます。したがって、3か月の要員数は次のようにそろいます。
したがって、第一期の作業は前倒し、第二期の作業は後ろ倒しにします。選択肢ではウに当たります。
誤りやすいポイント
- 平均要員数が割り切れない場合、切り捨てずに小数点以下を切り上げます。内部設計は人なので、27人です。
- プログラム開発工程にはA社の要員を割り当てません。プログラム開発の必要要員数は、そのままB社の要員数になります。
- 2つの工程が同じ月に行われる場合、工程ごとの必要要員数を足して、その月の総要員数を求めます。
- 前倒しは作業を前の月へ移すこと、後ろ倒しは作業を後の月へ移すことです。ピーク月の作業を前後に分けて移すため、第一期と第二期で移動方向が異なります。
FAQ
Q: なぜ平成25年1月だけ要員数が多くなるのですか?
A: 第一期の結合テスト30人と、第二期のプログラム開発40人が同じ月に重なるからです。合計すると70人になります。
A: 第一期の結合テスト30人と、第二期のプログラム開発40人が同じ月に重なるからです。合計すると70人になります。
Q: なぜ前後の月に移す作業量を、両方とも同じにしないのですか?
A: 移動前の要員数が、12月は57人、2月は56人と異なるためです。3か月を61人ずつにするには、12月に4人分、2月に5人分を増やす必要があります。
A: 移動前の要員数が、12月は57人、2月は56人と異なるためです。3か月を61人ずつにするには、12月に4人分、2月に5人分を増やす必要があります。
Q: B社の要員数を先に合計してからA社の要員数を引いてもよいですか?
A: 工程ごとに必要要員数を求め、A社の要員を割り当てた後にB社の要員数を出すと整理しやすいです。複数の工程が並行する月は、工程ごとの必要要員数を足します。
A: 工程ごとに必要要員数を求め、A社の要員を割り当てた後にB社の要員数を出すと整理しやすいです。複数の工程が並行する月は、工程ごとの必要要員数を足します。
関連キーワード: 工数、生産性、要員計画、ウォータフォールモデル、要員平準化



