応用情報技術者 2020年 秋期 午後 問09
稼働延期に伴うプロジェクト計画の変更に関する次の記述を読んで、設問1~4に答えよ。ただし、新型コロナウイルス感染症の影響は考慮しないものとする。
Q社は中堅の飲料メーカーであり、卸や小売の顧客企業に酒類を販売している。一定規模以上の顧客企業からはEDIで注文を受けているが、小規模な顧客企業からはQ社の販売部門がファックスや電話で注文を受けていた。小規模な顧客企業は約150社存在し、販売部門の業務負荷が高かった。そこで業務効率向上を目的にWeb受注システムを開発することを経営会議で決定した。さらに顧客企業への受注金額に応じた支払代金の一部の定期的な払戻しや売掛金管理や入出金管理などの業務を手作業で実施しているので、これらの業務も併せてシステム化することにした。販売部門からシステム部に開発を依頼し、プロジェクト(以下、Q社プロジェクトという)を立ち上げた。
〔Q社プロジェクトの概要〕
(1) 開発対象のサブシステム
開発対象のサブシステムの概要と機能数を表1に示す。なお、各機能は全て同等の開発規模である。


(2) 開発体制
Q社のシステム部のR氏がプロジェクトマネージャ(PM)に任命され、開発要員8人が割り当てられた。稼働日は2020年3月末が目標であった
〔プロジェクト計画の変更〕
Q社プロジェクトはソフトウェア要件定義(以下、要件定義という)、ソフトウェア方式設計(以下、基本設計という)、ソフトウェアコード作成及びテスト(以下、製造という)の工程が終了し、テスト密度やテスト検出不具合密度などの品質管理の指標値に問題がないことを確認した。しかし、ソフトウェア結合テスト(以下、結合テストという)のテスト項目の消化が終了した時点で、全てのサブシステムで目標とするテスト検出不具合密度を大幅に超過する障害が発生していた。R氏は、システム部の部長に状況を説明し、次週の経営会議に報告するよう指示を受けた。
経営会議では、品質に問題があって注文が正しく処理されないと顧客企業に迷惑が掛かるので、品質の確保を最優先にすること、社内の業務効率向上が目的であり稼働日には調整の余地があるので販売部門に確認すること、予算を超過するコストの追加が必要な場合は経営会議の承認を得ること、が指示された。この指示を受けてR氏は、一旦プロジェクトを中断してプロジェクト計画変更の検討を開始した。
R氏は、販売部門に稼働日についてヒアリングして、“業務の都合上、2020年6月30日に稼働させてほしい”との回答を得た。1週間後の経営会議で承認が得られて、翌日にプロジェクトを再開すれば、6月29日までのプロジェクトの作業可能な日数は100日であった。
〔結合テスト工程の障害の原因分析〕
R氏は上司のアドバイスを受けながら、結合テスト工程で発生した障害を複数の観点で分析し、表2~4に整理した。テストケースの不備やテスト作業のミスを除くと、障害件数は合計240件であった。

なお、表3の画面表示の障害とは、画面に表示する項目の位置がずれる障害で、商品サブシステム及び販売サブシステムで発生している。また、表4の原因工程とは障害の原因が作り込まれた工程を意味する。
R氏は品質の状態をサブシステム別の観点の分析から見た結果、特に販売サブシステムの品質を強化することにした。さらにa別の観点の分析から、成果物を確認したところ、機能をまたがる整合性の確認が不十分であったことが分かった。これによって、障害件数が目標とするテスト検出不具合密度を大幅に超過した根本原因を特定した。そこで、R氏はこれまでに発生した障害の状況を踏まえて是正処置を講じた上で、b工程から作業を再実施する方針とした。
〔販売部門との調整〕
R氏は、プロジェクト計画の変更に向けて、工数と期間の再見積りをすることにした。その際、“再実施する工程”、“再実施する結合テスト工程の障害の解消”及び“ソフトウェア適格性確認テスト・受入れテスト”に分けて見積もることにして、表5にその前提条件をまとめた。また、Q社のシステムの開発の経験があり、現在の開発要員と同様の開発生産性を期待できる開発要員を社外から2名調達して、開発要員を合計10名とすることにした。なお、開発要員は全てのサブシステムの全ての工程に対応が可能なので、タスクの待ちはなくフル稼働し、PMの工数は見積りに含めないものとする。

“再実施する工程”と“再実施する結合テスト工程の障害の解消”それぞれの工数と期間を見積もり、“ソフトウェア適格性確認テスト・受入れテスト”の期間を加えた。
見積りの結果、全てのサブシステムを b工程からやり直し、再実施する結合テスト工程の全ての障害を解消する場合、開発要員を増員した体制でも、稼働までの作業に必要な日数はc日となり、期限に間に合わないことが分かった。
R氏は、開発要員を更に増やして作業期間を短縮する方法と、各工程の一部を並行実行して作業期間を短縮する方法を検討したが、いずれも品質を確保する上でリスクがあるので、別の方法を検討する必要があると考えた。
そこで、R氏は販売部門とシステム稼働の開始を判断するためのdを変更することにした。検討の結果、“画面表示の障害はシステム利用の際に支障のある問題点とはならないので6月30日の稼働後に対応する”、“稼働日を考慮し、①リベートサブシステムを6月30日に稼働するスコープから外す”ことを提案することにした。これによる見積りの前提条件の変更点を表6にまとめた。


調整の結果、6月30日の稼働後に追加開発を行うことを条件に販売部門とdの変更の合意が取れた。作業が必要な日数はe日となり、期限に間に合う計画になった。
〔経理の処理のパターンへの対応〕
販売部門からシステム部に、経理サブシステムで算出する金額の誤りは業務への影響が大きいので、全ての経理の処理のパターンにおいて現行業務で算出している金額と経理サブシステムで算出する金額に差異がないように、特に注意して検証するよう要請があった。R氏は、経理の処理に関する条件は多にわたるので、販売部門にデータの提供を依頼し、②結合テストで予定していたテストの他に別のテストを追加した。このテストを追加しても期限には間に合うことも確認した。
〔プロジェクトの監視)
R氏は、これまでの検討結果を反映して、プロジェクト計画を変更し、予定していた経営会議で承認を得たので、プロジェクトを再開した。R氏は、プロジェクトを再開するにたって、進捗管理に加えて、計画どおりの工数で完了できるかどうかを見極めるため、検証と監視を強化した。実施する工程については、一部機能で先行作業を行って、見積りどおりの工数に収まることを検証した。さらに再実施する結合テスト工程の障害の解消については、表5及び表6の前提条件に基づいて、③再実施する結合テスト工程で二つの指標の実績値を監視することにした。
設問1:
本文中のa、bに入れる適切な字句を8字以内で答えよ。
模範解答
a:原因工程
b:基本設計
解説
解答の論理構成
-
まず a の手掛かりです。問題文には
“表4 原因工程別の障害分析表” と記載され、直後に
“表4の原因工程とは障害の原因が作り込まれた工程を意味する。”
さらに本文で
“さらにa別の観点の分析から、成果物を確認したところ…”
と続きます。ここで参照している観点は “原因工程別” にほかなりません。したがって a には “原因工程” が入ります。 -
次に b です。本文の後段で
“R氏はこれまでに発生した障害の状況を踏まえて是正処置を講じた上で、b工程から作業を再実施する方針とした。”
とあります。障害の大半は “表4” で “基本設計 180件” と集中しており、根本原因は “機能をまたがる整合性の確認が不十分” と説明されています。この不備は “ソフトウェア方式設計(以下、基本設計という)” の成果物に起因するため、再実施の起点となるのは “基本設計工程” です。よって b は “基本設計” となります。 -
以上より解答は
a:原因工程
b:基本設計
誤りやすいポイント
- 表2・表3の分類を見て “サブシステム別” や “障害動作別” を a に当てはめてしまう。本文に “a別の観点” とだけ書かれているため誤読しやすいです。
- “再実施する” という語から b を “結合テスト” と短絡的に決めつけてしまう。原因が設計段階に集中している点を見落としてしまうとミスになります。
- “ソフトウェア要件定義” を最上流と考え “要件定義工程” からやり直すと判断するケース。表4で “要件定義 0件” と明示されているため、再実施する必要はありません。
FAQ
Q: “原因工程別” ではなく “障害動作別” を元にした分析だと思ったのですが?
A: 本文に “さらにa別の観点の分析から、成果物を確認したところ…” とあり、障害の作り込み工程を特定する分析と読めます。したがって “原因工程” が正解です。
A: 本文に “さらにa別の観点の分析から、成果物を確認したところ…” とあり、障害の作り込み工程を特定する分析と読めます。したがって “原因工程” が正解です。
Q: なぜ “製造工程” からやり直さないのですか?
A: 障害の集中箇所は “基本設計 180件” であり、製造起因は “40件” にすぎません。設計の誤りを正さないまま製造をやり直しても同種の障害が再発するため、設計から手戻りする判断となります。
A: 障害の集中箇所は “基本設計 180件” であり、製造起因は “40件” にすぎません。設計の誤りを正さないまま製造をやり直しても同種の障害が再発するため、設計から手戻りする判断となります。
Q: “基本設計” と “詳細設計” の違いは?
A: 本問題では “ソフトウェア方式設計(基本設計)” がシステム全体の構造・機能間インタフェースを定義し、個々のモジュール内部の設計は “ソフトウェア詳細設計” に相当します。機能間の整合性欠如は方式設計レベルの課題なので、基本設計をやり直します。
A: 本問題では “ソフトウェア方式設計(基本設計)” がシステム全体の構造・機能間インタフェースを定義し、個々のモジュール内部の設計は “ソフトウェア詳細設計” に相当します。機能間の整合性欠如は方式設計レベルの課題なので、基本設計をやり直します。
関連キーワード: 故障密度、テストケース、手戻り、工数見積、インテグレーション
設問2:〔販売部門との調整〕について、(1)〜(3)に答えよ。
(1)本文中のdに入れる適切な字句を解答群の中から選び、記号で答えよ。
解答群
ア:コミュニケーション計画
イ:導入可否判断基準
ウ:マスタスケジュール
エ:リスク管理表
模範解答
d:イ
解説
解答の論理構成
-
該当箇所の確認
【問題文】には
“R氏は販売部門とシステム稼働の開始を判断するためのdを変更することにした。”
とあります。ここからdは「稼働の開始を判断する際の基準」を示す語句であると分かります。 -
候補語句との照合
- ア:コミュニケーション計画
→ “稼働開始を判断”ではなく、利害関係者との情報伝達手順をまとめた計画なので不適。 - イ:導入可否判断基準
→ “稼働の開始を判断する”内容と整合します。 - ウ:マスタスケジュール
→ 工程全体の日程表のため、“判断基準”とは目的が異なります。 - エ:リスク管理表
→ リスクの識別・対策を記した表であり、“稼働開始の判断”そのものではありません。
- ア:コミュニケーション計画
-
合意形成の記述との整合性
【問題文】には
“調整の結果、6月30日の稼働後に追加開発を行うことを条件に販売部門とdの変更の合意が取れた。”
とあり、実際に“判断基準”の内容を変更することで合意を得ています。これは「導入可否判断基準」を変更したと読むのが自然です。 -
よって、dに入るのは
“導入可否判断基準” → 解答群「イ」となります。
誤りやすいポイント
- “マスタスケジュールを変更=稼働日調整”と短絡的に考え、判断基準の変更である点を見落とす。
- “コミュニケーション計画”を「販売部門との調整」と結び付けて選択してしまう。
- “リスク管理表”を「品質リスク低減のため」と連想して選ぶが、文脈は“稼働可否の条件”である。
FAQ
Q: 「導入可否判断基準」とは具体的に何を指しますか?
A: 稼働前に「この条件が満たされていれば導入可能」とする品質・機能・コストなどの合否ラインを定めた基準です。今回は「画面表示の障害は後回し」「リベートサブシステムは除外」などを変更項目としています。
A: 稼働前に「この条件が満たされていれば導入可能」とする品質・機能・コストなどの合否ラインを定めた基準です。今回は「画面表示の障害は後回し」「リベートサブシステムは除外」などを変更項目としています。
Q: 稼働後にリベートサブシステムを追加することはプロジェクト計画変更になるのですか?
A: はい。スコープを分割し段階的導入とするため、追加フェーズの計画(範囲・日程・コスト)を再度策定し、関係者の承認を得る必要があります。
A: はい。スコープを分割し段階的導入とするため、追加フェーズの計画(範囲・日程・コスト)を再度策定し、関係者の承認を得る必要があります。
Q: 判断基準を緩和すると品質リスクが高まるのでは?
A: “画面表示のずれ”のように業務影響が小さい項目を対象外とし、重要度の高い「値不正」「異常終了」を優先修正することで、ビジネスリスクと納期の両立を図る手法です。
A: “画面表示のずれ”のように業務影響が小さい項目を対象外とし、重要度の高い「値不正」「異常終了」を優先修正することで、ビジネスリスクと納期の両立を図る手法です。
関連キーワード: スコープ変更、可否判定、品質基準、段階導入、工程再実施
設問2:〔販売部門との調整〕について、(1)〜(3)に答えよ。
(2)本文中の下線①について、R氏がリベートサブシステムを6月30日の稼働のスコープから外せると考えた理由を40字以内で述べよ。eに入れる適切な数値を答えよ。ここで、
模範解答
稼働日からリペートサブシステムの機能を実施する日まで期間に余裕があるから
解説
解答の論理構成
- リベートサブシステムの業務は、表1で“年2回(6月1日、12月1日)実施する、払戻し金額の計算と顧客企業への払戻しの通知”と定義されています。
- 稼働希望日は販売部門ヒアリングで“2020年6月30日に稼働させてほしい”と確定しました。
- 6月1日は稼働前に既に経過しているため、次の業務実行日は“12月1日”です。
- したがって、リベート機能だけは稼働後でも12月1日までに整備すれば業務に影響が及びません。
- 以上から、R氏はリベートサブシステムをスコープ外とし、残り機能の品質確保と期限厳守を優先できると判断しました。
- 表5・表6を用いて再試算すると、
・再実施工程工数:
16機能×10人日+15機能×20人日+8機能×10人日=540人日
・障害解消工数:75件×2人日=150人日
・合計工数=690人日
・要員10名 → 690人日÷10=69日
・“ソフトウェア適格性確認テスト・受入れテスト”期間は“26日間”
→ 69日+26日=95日 - 作業可能日数は“100日”なので、95日で完了し期限内に収まります。
【回答】
①理由(40字以内)
払戻しは次回12月1日実施のため稼働後までに開発猶予があるから
①理由(40字以内)
払戻しは次回12月1日実施のため稼働後までに開発猶予があるから
e 95
誤りやすいポイント
- 「リベート=販売促進だから稼働直後必須」と早合点し、年2回実施の日時を見落とす。
- 画面表示障害を除外したのに障害件数を“75件”ではなく“120件”で計算する。
- 工数(人日)と期間(日数)の違いを混同し、10名体制の割戻しを忘れる。
FAQ
Q: 工数算出でPM分は考慮しないのですか?
A: 問題文に“PMの工数は見積りに含めない”と明記されています。
A: 問題文に“PMの工数は見積りに含めない”と明記されています。
Q: 画面表示障害を除外しても品質上問題はありませんか?
A: “画面表示の障害はシステム利用の際に支障のある問題点とはならない”と販売部門と合意済みです。
A: “画面表示の障害はシステム利用の際に支障のある問題点とはならない”と販売部門と合意済みです。
Q: リベート機能を後回しにすると他サブシステムに影響しませんか?
A: 表6に“この変更による他のサブシステムの作業への影響はない。”と示されています。
A: 表6に“この変更による他のサブシステムの作業への影響はない。”と示されています。
関連キーワード: スコープ調整、工数見積り、人日換算、テスト密度、要件後回し
設問2:〔販売部門との調整〕について、(1)〜(3)に答えよ。
(3)本文中のc、eに入れる適切な数値を答えよ。ここで、〔経理の処理のパターンへの対応〕に記載のある追加テストは見積りに含めなに記載のある追加テストは見積りに含めない。
模範解答
c:116
e:95
解説
解答の論理構成
-
再実施範囲(全サブシステム)の工数
- 【問題文引用】「販売サブシステムは1機能当たり20人日、他のサブシステムは1機能当たり10人日」
- 機能数:販売 15、その他(商品 16+リベート 8+経理 8)=32
- 人日
- 販売:15 × 20 = 300
- その他:32 × 10 = 320
- 合計=620 人日
-
障害解消の工数
- 【問題文引用】「作業対象の障害件数は…120件になる」「1件当たり2人日の作業工数」
- 120 × 2 = 240 人日
-
適格性確認テスト・受入れテストの期間
- 【問題文引用】「両テスト合計で30日の期間」
- 期間だけを確保(人日は計上しない)
-
要員10名での暦日換算
- 総工数=620+240=860 人日
- 1日あたり処理量=10人日 ⇒ 860÷10 = 86 日
- 86日+30日=116 日 … よって c=116
-
スコープ調整後(リベート除外)の工数
- 【問題文引用】「リベートサブシステムをスコープから外す」「作業対象の障害件数は75件」
(1) 工程やり直し - 機能数:販売 15(変わらず)、その他(商品 16+経理 8)=24
- 人日
- 販売:15 × 20 = 300
- その他:24 × 10 = 240
- 合計=540 人日
(2) 障害解消- 75 × 2 = 150 人日
(3) テスト期間- 【問題文引用】「期間は4日短縮できて、26日間」
(4) 暦日換算- 総工数=540+150=690 人日
- 690÷10 = 69 日
- 69日+26日=95 日 … よって e=95
- 【問題文引用】「リベートサブシステムをスコープから外す」「作業対象の障害件数は75件」
誤りやすいポイント
- 人日→暦日への換算を忘れ、「工数÷要員数」をせずに直接合算してしまう。
- リベート除外後も販売サブシステムの15機能を誤って減らして計算する。
- テスト期間(30日/26日)を“工数”として足してしまい、過大見積りになる。
- 障害件数を120件→75件と変える箇所を見落とす。
FAQ
Q: テスト期間を人日に換算しなくてよいのはなぜですか?
A: 問題文では「期間」と明示されており、必要なのは“暦日”を確保することだけだからです。工数として計上しない点に注意します。
A: 問題文では「期間」と明示されており、必要なのは“暦日”を確保することだけだからです。工数として計上しない点に注意します。
Q: 要員10名は常にフル稼働している前提ですが、PMの工数は?
A: 【問題文引用】「PMの工数は見積りに含めない」とあるため、10名全員が純粋に開発工数を消化する体制として扱います。
A: 【問題文引用】「PMの工数は見積りに含めない」とあるため、10名全員が純粋に開発工数を消化する体制として扱います。
Q: スコープを縮小するとき、障害件数も自動的に減るのですか?
A: はい。【問題文引用】「リベートサブシステムの障害を障害件数から除外する」と明示されているため、計算対象の障害件数は75件に変更されます。
A: はい。【問題文引用】「リベートサブシステムの障害を障害件数から除外する」と明示されているため、計算対象の障害件数は75件に変更されます。
関連キーワード: 工数見積り、人日換算、スコープ調整、テスト密度、作業平準化
設問3:
本文中の下線②について、どのようなことを確認するテストを追加したのか。
模範解答
現行業務と経理サブシステムで算出する金額の一致
解説
解答の論理構成
- 【問題文】には、販売部門からの要請として
“経理サブシステムで算出する金額の誤りは業務への影響が大きいので、全ての経理の処理のパターンにおいて現行業務で算出している金額と経理サブシステムで算出する金額に差異がないように、特に注意して検証するよう要請があった”
と明記されています。 - さらに、R氏は “②結合テストで予定していたテストの他に別のテストを追加した” とあります。
- 追加テストが何を確認するかは、上記要請に対応する内容でなければなりません。要請の核心は「金額に差異がないこと」の確認です。
- したがって、②で追加したテストは
“現行業務と経理サブシステムで算出する金額が一致することを確認するテスト”
となります。
誤りやすいポイント
- 「経理の処理のパターンが多い」点に注目しすぎて、テストの目的を「パターン網羅」にしてしまう。目的は網羅ではなく金額の一致確認です。
- 「追加テスト=結合テストの範囲拡大」と早合点し、他サブシステムとの連携を想像するケース。本文で強調されているのは金額差異のみです。
- 「経理サブシステム内の単体テスト」と誤解すること。②は結合テスト工程で予定外に加えるテストであり、工程レベルを下げる話ではありません。
FAQ
Q: 追加テストは結合テストのタイミングで実施するのですか?
A: はい。本文に “②結合テストで予定していたテストの他に別のテストを追加” とあるため、結合テスト工程内で実施します。
A: はい。本文に “②結合テストで予定していたテストの他に別のテストを追加” とあるため、結合テスト工程内で実施します。
Q: 金額一致はどのように判定するのですか?
A: 販売部門から提供された現行業務の計算結果データと、経理サブシステムが出力する計算結果を突き合わせ、完全一致すれば合格と判定します。
A: 販売部門から提供された現行業務の計算結果データと、経理サブシステムが出力する計算結果を突き合わせ、完全一致すれば合格と判定します。
Q: 追加テストによるスケジュール影響はありませんか?
A: 【問題文】に “このテストを追加しても期限には間に合うことも確認した” と記載されています。
A: 【問題文】に “このテストを追加しても期限には間に合うことも確認した” と記載されています。
関連キーワード: 結合テスト、検証、金額差異、経理サブシステム、テスト観点
設問4:
本文中の下線③について、何の実績値を監視することにしたのか。25字以内で答えよ。
模範解答
障害の発生件数と1件当たりの解消の作業工数
解説
解答の論理構成
- 【問題文】には
“表5及び表6の前提条件に基づいて、③再実施する結合テスト工程で二つの指標の実績値を監視することにした。”
とあり、監視対象は表5・表6で前提値が定義されているものになります。 - 表5「再実施する結合テスト工程の障害の解消」の前提には
“障害の解消には、1件当たり2人日の作業工数を要する。”
とあり、1件当たり工数が数値管理の対象であると分かります。 - 表6では障害件数を再算定し、
“作業対象の障害件数は75件となる。”
と明示しています。従って件数そのものも監視すべき指標です。 - 以上から、R氏が結合テスト再実施時に追跡する2指標は
・障害の発生件数
・1件当たりの解消の作業工数
となります。
誤りやすいポイント
- 「テスト検出不具合密度」や「テストケース消化率」を選んでしまう
→ これらは結合テスト開始前の品質指標であり、③で示す“再実施する結合テスト工程”の監視対象ではありません。 - 「総工数」を指標に含める
→ 工数全体はPMが別途管理しますが、③では“二つ”と限定され、表5・表6に直接数値がある項目だけを指します。
FAQ
Q: なぜ「障害修正完了件数」は指標に入らないのですか?
A: 修正件数は「障害件数」と同義で、一方が増減すれば自動的にもう一方も変わるため、独立した指標とは扱いません。
A: 修正件数は「障害件数」と同義で、一方が増減すれば自動的にもう一方も変わるため、独立した指標とは扱いません。
Q: 1件当たり工数の目標値はどこで確認できますか?
A: 表5に “1件当たり2人日” と明示されています。実績がこの値を超えないかどうかを監視します。
A: 表5に “1件当たり2人日” と明示されています。実績がこの値を超えないかどうかを監視します。
Q: テスト期間短縮のために障害件数が増えた場合はどう対応しますか?
A: 件数の実績が計画を上回れば、すぐに原因分析を行い、追加工数を確保するかリカバリープランを発動します。
A: 件数の実績が計画を上回れば、すぐに原因分析を行い、追加工数を確保するかリカバリープランを発動します。
関連キーワード: 障害管理、工数見積り、品質指標、テストプロセス、リカバリープラン


