基本情報技術者 2017年 春期 午後 問06
プロジェクトの要員計画に関する次の記述を読んで、設問1,2に答えよ。
A社では、社内で使用する新システムの構築に関するプロジェクトの検討を進めてきた。プロジェクトは、システム開発が大規模になるので、要員の確保と納期遵守の観点から、一期開発と二期開発から成る2段階の開発とした。開発チームは、A社の要員と、協力会社B社の要員で編成することにした。
〔プロジェクトの説明〕
(1) 開発規模は、一期開発及び二期開発ともに同一である。
(2) 開発は、ウォータフォールモデルに基づいて、外部設計、内部設計、プログラム開発(単体テストを含む)、結合テスト及び総合テストの五つの工程に分ける。
(3) 一期開発は2017年4月に開始する。二期開発は、一期開発のプログラム開発の開始月に開始する。
(4) 各工程での月別要員計画の前提条件は、次のとおりである。
① 業務ノウハウ蓄積の観点から、外部設計工程の要員には、A社の要員を80%以上割り当てる。
② ①の条件を満たす最少の人数をA社の要員数とし、全期間を通して一定の人数とする。すなわち、A社の要員には、各月とも、全員が必ず担当する工程があるものとする。
③ プログラム開発工程には、一期開発及び二期開発ともに、B社の要員だけを割り当てる。
④ プログラム開発工程を除き、各月の必要要員については、まずA社の要員を割り当て、A社の要員だけでは不足する場合に、B社の要員を割り当てる。
⑤ 一期開発と二期開発の作業が重なる期間については、A社の要員を、一期開発に優先して割り当てる。
⑥ 一人が一期開発と二期開発の作業を同一月に行うことはない。
設問1:
問題文を見る 要員数に関する次の記述中のに入れる適切な答えを、解答群の中から選べ。
一期開発及び二期開発における各工程の工数及び配分月数を、表1のとおりに設定した。ここで、配分月数とは、あらかじめ各工程に配分した開発期間(月数)である。二期開発は、一期開発における成果が活用できることから、一期開発よりも、工数を削減することを目標とした。

一期開発、二期開発それぞれにおける各工程の各月の要員数は次式で算出する。ここで、各月の要員数は、小数点以下を切り上げた整数値とする。
各月の要員数(人) = 各工程の工数(人月) ÷ 各工程の配分月数(月)
A社の要員数は、〔プロジェクトの説明〕(4)の前提条件に基づきa人になる。一期開発の外部設計工程では、B社の要員数は、各月ともにb人になる。一期開発及び二期開発の全工程について、要員数を求めた結果、各月でB社の要員数がばらついていることが分かった。そこで、各月のB社の要員数をできるだけ平準化するために、プログラム開発工程の配分月数を調整することにした。ここで、納期などの制約から、プログラム開発工程で許容される配分月数は、3〜5である。
プログラム開発工程の配分月数を一期開発及び二期開発ともに4にする開発スケジュール案を表2に示す。この案の場合、2018年cが、〔プロジェクトの説明〕(4)の条件②を満たせないことが分かった。これは、プログラム開発工程の配分月数を、“d”又は“一期開発を5に、二期開発を4にする”ことで解消できる。

a, bに関する解答群
ア:2
イ:3
ウ:11
エ:12
オ:14
カ:42
cに関する解答群
ア:5月
イ:6月
ウ:7月
エ:8月
dに関する解答群
ア:一期開発を3に、二期開発を4にする
イ:一期開発を3に、二期開発を5にする
ウ:一期開発を4に、二期開発を3にする
エ:一期開発を4に、二期開発を5にする
模範解答
a:エ、b:ア、c:ウ、d:ウ
解説
解答の導き方
まず、月ごとに必要な人数を計算します。工数の「人月」は、人数と作業月数を掛けた値です。たとえば、14人で1か月作業すると14人月です。問題文のとおり、計算結果に小数がある場合は切り上げます。
a:A社の要員数
一期開発の外部設計は、工数が42.0人月、配分月数が3か月です。したがって、毎月の必要人数は次のとおりです。
このうちA社の要員を80%以上にするには、少なくとも次の人数が必要です。
人は整数で数えるため、11.2人を満たす最少人数は12人です。
二期開発の外部設計は、次のとおり毎月13人が必要です。
この場合、80%以上を満たす最少人数は、人を切り上げた11人です。
A社の要員数は全期間を通して一定なので、一期開発と二期開発の両方で条件を満たすには、より多い12人が必要です。したがって、aは12人です。
b:一期開発の外部設計におけるB社の要員数
一期開発の外部設計では、毎月14人が必要です。そのうちA社の要員が12人なので、残りをB社の要員で補います。
したがって、bは2人です。
c:表2の案で条件②を満たせない月
ウォータフォールモデル(工程を順番に進める方式)なので、各工程の開始月は前の工程の配分月数から決まります。
一期開発は2017年4月に始まります。プログラム開発の配分月数を4にすると、一期開発の工程は次のようになります。
- 外部設計:2017年4月〜6月
- 内部設計:2017年7月〜9月
- プログラム開発:2017年10月〜2018年1月
- 結合テスト:2018年2月〜3月
- 総合テスト:2018年4月〜6月
二期開発は、一期開発のプログラム開発が始まる2017年10月に開始します。したがって、二期開発のプログラム開発は、外部設計と内部設計の後の2018年4月に始まり、配分月数が4なら2018年7月まで続きます。
このため、2018年7月は一期開発が終わっており、二期開発はプログラム開発中です。プログラム開発にはB社の要員だけを割り当てるので、この月にはA社の要員が担当できる工程がありません。A社の要員全員に毎月工程を担当させるという条件②を満たせないため、cは7月です。
d:条件②を満たす配分月数
プログラム開発の配分月数を「一期開発を4に、二期開発を3にする」と、二期開発のプログラム開発は2018年4月〜6月になります。その次の結合テストは2018年7月に始まります。
二期開発の結合テストは、工数48.0人月を2か月で行うため、毎月24人が必要です。
プログラム開発以外では、必要人数に対してまずA社の要員を割り当てます。そのため、2018年7月にはA社の12人全員を二期開発の結合テストに割り当てられます。これで条件②を満たせます。
ほかの選択肢では、A社の要員が担当できる工程のない月が残ります。
したがって、dは「一期開発を4に、二期開発を3にする」です。
誤りやすいポイント
- A社の要員数を求めるとき、80%を掛けた結果が小数なら切り上げます。一期開発では11人では不足するため、12人が必要です。
- 二期開発の外部設計に必要な人数は、12.7人を切り上げて13人です。工数を配分月数で割った後に切り上げる点に注意します。
- A社の要員数は、一期開発と二期開発で別々に決めるのではなく、全期間を通して一定です。両方の外部設計の条件を満たす人数が必要です。
- プログラム開発の月数を変えると、その後の結合テストや総合テストの時期も変わります。月数だけでなく、後続工程の開始時期まで追うことが大切です。
- 二期開発のプログラム開発にB社の要員がいるだけでは、A社の要員にも仕事があることにはなりません。A社の要員が担当できる工程がその月にあるかを確認します。
FAQ
Q:A社の要員数は、二期開発の外部設計に必要な11人ではいけないのですか?
A:一期開発の外部設計では14人が必要です。11人では全体の80%に届かないため、少なくとも12人が必要です。また、A社の要員数は全期間を通して一定です。
A:一期開発の外部設計では14人が必要です。11人では全体の80%に届かないため、少なくとも12人が必要です。また、A社の要員数は全期間を通して一定です。
Q:なぜプログラム開発の配分月数を変えると、A社の要員の条件を満たせるのですか?
A:プログラム開発にはB社の要員だけを割り当てるため、その工程中はA社の要員が担当できる工程が別に必要です。プログラム開発の終了時期を早めると、その後の結合テストが早く始まり、A社の要員を割り当てられる月ができます。
A:プログラム開発にはB社の要員だけを割り当てるため、その工程中はA社の要員が担当できる工程が別に必要です。プログラム開発の終了時期を早めると、その後の結合テストが早く始まり、A社の要員を割り当てられる月ができます。
Q:工数を配分月数で割った結果が整数でない場合は、どう扱いますか?
A:問題文の指定どおり、小数点以下を切り上げます。たとえば、12.7人なら13人として扱います。
A:問題文の指定どおり、小数点以下を切り上げます。たとえば、12.7人なら13人として扱います。
関連キーワード: 工数、人月、要員計画、ウォータフォールモデル、要員平準化
設問2:
問題文を見る 要員計画に関する次の記述中のに入れる適切な答えを、解答群の中から選べ。
プログラム開発工程の配分月数を、“一期開発を5に、二期開発を4にする”案を選択した。その上で、更に要員計画策定中にユーザ部門から二期開発の追加要件を受けて見直した開発スケジュール案を表3に示す。

各月のB社の総要員数(B社の一期開発及び二期開発の要員数の合計)は、ピーク時の2018年4月に他の月よりも突出する。ピーク時のB社の総要員数を減らし、3月から5月の3か月間の各月のB社の総要員数を等しくしたい。そのためには、この3か月間に実施する各工程の月ごとの要員数は一定ではなくなるが、4月の一期開発の要員のうちe人を3月に移動し、二期開発の要員のうちf人を5月に移動すればよい。
e, fに関する解答群
ア:1
イ:2
ウ:3
エ:4
オ:5
カ:6
模範解答
e:ウ、f:オ
解説
解答の導き方
求めるのは、2018年3月から5月までの各月について、一期開発と二期開発を合わせたB社の要員数が同じになるようにする人数です。要員とは、ここでは作業を担当する人のことです。
まず、表3のB社の人数を、各月の開発ごとに確認します。
たとえば2018年4月は、一期開発の15人と二期開発の33人を合わせて、48人です。3か月の中で最も多い月です。
ここから、一期開発の要員のうち、4月から3月に移す人数を 人、二期開発の要員のうち、4月から5月に移す人数を 人とします。
- 3月は一期開発の要員が 人増えるので、合計は 人です。
- 4月は一期開発から 人、二期開発から 人を移すので、合計は 人です。
- 5月は二期開発の要員が 人増えるので、合計は 人です。
3か月の総要員数を同じにするには、次の関係が成り立ちます。
まず、3月と5月を等しくします。
したがって、
次に、3月と4月を等しくします。
整理すると、
ここに を代入します。
これを に代入すると、 です。
確認すると、移動後の総要員数は3月が40人、4月が40人、5月が40人となります。したがって、 は3人でウ、 は5人でオです。
誤りやすいポイント
- 一期開発と二期開発の人数を別々にそろえるのではありません。そろえるのは、各月のB社の総要員数です。
- 4月から3月へ移した人数は、3月に加算されると同時に、4月から減算されます。
- 4月から5月へ移した人数も、5月に加算されると同時に、4月から減算されます。
- 4月のピーク人数だけを見て移動人数を決めるのではなく、3月・4月・5月の合計がすべて等しくなる条件を使います。
FAQ
Q: なぜ、A社の要員数は計算に入れないのですか?
A: 問われているのは「B社の総要員数」だからです。表3のB社の人数を月ごとに合計して考えます。
A: 問われているのは「B社の総要員数」だからです。表3のB社の人数を月ごとに合計して考えます。
Q: 4月から3月と5月へ移す人数を、同じ人数にする必要はありますか?
A: ありません。3月・4月・5月の元の人数が異なるため、3か月の合計をそろえる計算から、それぞれの移動人数を求めます。
A: ありません。3月・4月・5月の元の人数が異なるため、3か月の合計をそろえる計算から、それぞれの移動人数を求めます。
Q: 移動後の人数を確かめるには、どうすればよいですか?
A: 3月は 人、4月は 人、5月は 人となることを確認します。
A: 3月は 人、4月は 人、5月は 人となることを確認します。
関連キーワード: 要員計画、要員平準化、開発工程、ウォータフォールモデル



