応用情報技術者試験 令和4年秋期 問53
あるシステムの設計から結合テストまでの作業について,開発工程ごとの見積工数を表1に,開発工程ごとの上級技術者と初級技術者の要員割当てを表2に示す。上級技術者は,初級技術者に比べて,プログラム作成・単体テストにおいて2倍の生産性を有する。表1の見積工数は,上級技術者の生産性を基に算出している。
全ての開発工程に対して,上級技術者を1人追加して割り当てると,この作業に要する期間は何か月短縮できるか。ここで,開発工程の期間は重複させないものとし,要員全員が1カ月当たり1人月の工数を投入するものとする。ア:1 イ:2 ウ:3 エ:4
出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000008smf-att/2022r04a_ap_am_qs.pdf
工数計算では「人月」という単位が使われます。1人が1ヶ月で処理できる作業量を「1人月」と表現します。1人月の作業を1人で行う場合は1ヶ月で完了しますが、2人で行うと0.5ヶ月で完了します。
本問では技術者が上級と初級に分かれます。問題文には「上級技術者は,初級技術者に比べて,プログラム作成・単体テストにおいて2倍の生産性を有する。」とあります。2倍の生産性というのは初級技術者に比べて2倍のスピードで作業を行えるということです。ただし、表1の見積もり工数は上級技術者を基に算出されていますので、上級技術者の作業スピードを1として考えていきます。そうすると初級技術者の作業スピードは上級技術者の半分となりますので上級技術者が1ヶ月かかる工数でも初級技術者では2ヶ月かかることになります。そのため、初級技術者2人で上級技術者1人として数えます。
表1の各作業に対して表2の割当た場合に完了するまでの期間を計算します。
設計:6ヶ月 ÷ 2人 = 3ヶ月
プログラム作成・単体テスト:12ヶ月 ÷ (2人+1人) = 4ヶ月
結合テスト:12ヶ月 ÷ 2人 = 6ヶ月
合計:3ヶ月 + 4ヶ月 + 6ヶ月 = 13ヶ月
次に各作業に上級技術者を1人追加した場合:
設計:6ヶ月 ÷ 3人 = 2ヶ月
プログラム作成・単体テスト:12ヶ月 ÷ (3人+1人) = 3ヶ月
結合テスト:12ヶ月 ÷ 3人 = 4ヶ月
合計:2ヶ月 + 3ヶ月 + 4ヶ月 = 9ヶ月
上級技術者を1人追加することで13ヶ月かかっていた工数が9ヶ月で完了します。
正解は、「エ:4」です。