令和2年秋期試験午後問題 問9
問9 プロジェクトマネジメント
⇱問題PDF
稼働延期に伴うプロジェクト計画の変更に関する次の記述を読んで,設問1~4に答えよ。ただし,新型コロナウイルス感染症の影響は考慮しないものとする。
稼働延期に伴うプロジェクト計画の変更に関する次の記述を読んで,設問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の前提条件に基づいて,③再実施する結合テスト工程で二つの指標の実績値を監視することにした。
〔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:原因工程 (4文字)
b:基本設計 (4文字)
b:基本設計 (4文字)
解説
〔aについて〕空欄を含む一文を確認すると次のように記述されています。
「さらにa別の観点の分析から,成果物を確認したところ,機能をまたがる整合性の確認が不十分であったことが分かった」
前文の「サブシステム別の観点の分析から」という文に続けて、「a別の観点の分析から」と書かれていることから、空欄に当てはまるのは表3、表4の表題のいずれかであるだろうと判断できます。
さらに「成果物を確認したところ」と書かれているように、R氏は分析結果を受けて成果物の確認を実施しています。通常、システム開発においては、要件定義工程では要件定義書、基本設計工程では基本設計書、製造工程ではプログラム…というように、工程ごとに成果物が発生します。成果物と工程は紐づいていますから、成果物の確認を行ったという事実から、R氏が「特定の工程に障害発生の根本原因がある」と推測したことを読み取れます。
表3、表4のうち、特定の工程に障害の根本原因があることを示唆するのは表4「原因工程別の障害分析表」の方です。よって、aには表4の表題である「原因工程」が当てはまります。
表4「原因工程別の障害分析表」を見ると、基本設計に基因する障害が飛び抜けて多く、それを見たR氏が基本設計の成果物(設計書等)を確認し、基本設計(ソフトウェア方式設計)における各インタフェースの設計が不十分だったことを見つけるというシナリオが想像できます。
∴a=原因工程
〔bについて〕
空欄を含む一文を確認すると次のように記述されています。
「そこで,R氏はこれまでに発生した障害の状況を踏まえて是正処置を講じた上で,b工程から作業を再実施する方針とした」
ここでは問題となっているシステム開発を、どの工程まで立ち戻って進めたら良いかがポイントとなっています。
表4の「原因工程別の障害分析表」を確認すると、障害件数が最も多いのが基本設計工程となっています。また、同じく表4から直前の要件定義工程に起因する障害は発生していないことが読み取れます。これらのことから、今回のシステム開発では要件定義までは品質に問題なく、基本設計工程の品質に根本原因があることがわかります。したがって、基本設計工程から再実施することで、「テスト検出不具合密度を大幅に超過する障害が発生している」状況が解消されると判断できます。よって、bには「基本設計」が当てはまります。
∴b=基本設計
広告
設問2
〔販売部門との調整〕について,(1)~(3)に答えよ。
- 本文中のdに入れる適切な字句を解答群の中から選び,記号で答えよ。
- 本文中の下線①について,R氏がリベートサブシステムを6月30日の稼働のスコープから外せると考えた理由を40字以内で述べよ。
- 本文中のc,eに入れる適切な数値を答えよ。ここで,〔経理の処理のパターンへの対応〕に記載のある追加テストは見積りに含めない。
d に関する解答群
- コミュニケーション計画
- 導入可否判断基準
- マスタスケジュール
- リスク管理表
解答例・解答の要点
- d:イ
- 稼働日からリベートサブシステムの機能を実施する日まで期間に余裕があるから (36文字)
- c:116
e:95
解説
- 〔dについて〕
空欄は本文中で次の2ヶ所に使われています。- R氏は販売部門とシステム稼働の開始を判断するためのdを変更することにした。
- 6月30日の稼働後に追加開発を行うことを条件に販売部門とdの変更の合意が取れた。
さらに、上記1文目の「dを変更する」の具体的な施策としたものが、次の2つになります。- 画面表示の障害はシステム利用の際に支障のある問題点とはならないので6月30日の稼働後に対応する
- 稼働日を考慮し,リベートサブシステムを6月30日に稼働するスコープから外す
∴d=イ:導入可否判断基準
なお、他の選択肢は以下の理由で不適切です。- コミュニケーション計画は、プロジェクトとステークホルダとのコミュニケーションをどのように実施し、またいかにして有効性を監視するか等をプランニングしたものです。スコープマネジメント計画なら関係ありますが、コミュニケーション計画はここでは無関係なので不適切です。
- 正しい。導入可否判断基準は、システムの導入にゴーサインを出す基準です。
- マスタスケジュールは大日程計画とも呼ばれ、プロジェクトの開始から終了までの実行スケジュールの大枠を表したものです。スケジュールに関しては販売部門から「業務の都合上,2020年6月30日に稼働させてほしい」と要望を受けていて変更できないので不適切です。
- リスク管理表を変更してしまうと、そのシステム開発で優先すべき事項を守れなくなってしまうので不適切です。
- リベートサブシステムを6月30日稼働のスコープ外とした理由を考えます。
表1の「リベートサブシステム」行を見ると、リベートサブシステムは「年2回(6月1日, 12月1日)実施する, 払戻し金額の計算と顧客企業への払戻しの通知の機能」を提供するものであることがわかります。また〔プロジェクト計画の変更〕に、「R氏は,販売部門に稼働日についてヒアリングして,"業務の都合上,2020年6月30日に稼働させてほしい"との回答を得た」と記述されているように、今回のシステムは6月30日リリースになっています。
これらのことからリベートサブシステムの機能はリリース後、初めて実施するのが約5ヶ月後の12月1日であり、期間に余裕があることがわかります。R氏はこの状況を踏まえて、リベートサブシステムを6月30日稼働のスコープから外せると考えたと判断できます。
解答としては、下記の例のようにリベートサブシステムの機能実施までには時間的余裕があるという旨を記述すればOKだと思われます。- リベートサブシステムの初回稼働は12月1日で期間があるから(29文字)
- リベートシステムの次回実行が12月のため、6月30日に稼働させる必要がないから(39文字)
∴稼働日からリベートサブシステムの機能を実施する日まで期間に余裕があるから - 〔cについて〕
表5に基づいて、システムの稼働までの作業に必要な日数を算定します。- 再実施する工程
- 販売システムは1機能当たり20人日、それ以外のシステムは1機能当たり10人日なので、表1に記載されている各サブシステムの機能数に工数を乗じると、
15[機能]×20[人日]+(16+8+8)[機能]×10[人日]=620[人日]
開発要員は現状から2名追加の10名で進めるとあるので、所要日数は「620人日÷10人=62日 … ①」です。 - 再実施する結合テスト工程の障害の解消
- 作業対象の障害件数は120件、1件当たり2人日を要するので、
120[件]×2[人日]=240[人日]
開発要員数は10名なので、所要日数は「240人日÷10人=24日 … ②」です。 - 適格性確認テスト・受入テスト
- 合計で30日 … ③
∴c=116
〔eについて〕
表6の変更点に基づき、変更後のシステムの稼働までの作業に必要な日数を算定します。- 再実施する工程
- リベートシステム(8機能)がスコープから外れるので、
15[機能]×20[人日]+(16+8)[機能]×10[人日]=540[人日]
所要日数は「540人日÷10人=54日 … ①」です。 - 再実施する結合テスト工程の障害の解消
- 作業対象の障害件数が75件になるので、
75[件]×2[人日]=150[人日]
所要日数は「150人日÷10人=15日 … ②」です。 - 適格性確認テスト・受入テスト
- 4日短縮されて合計で26日 … ③
∴e=95
※削減できる日数に注目して、以下のように計算しても良いでしょう。
8[機能]×10[人日]=80[人日] → 8日
(120[件]-75[件])×2[人日] → 9日
30日-26日=4日
∴116日-(8日+9日+4日)=95日
広告
設問3
本文中の下線②について,どのようなことを確認するテストを追加したのか。30字以内で述べよ。
解答例・解答の要点
現行業務と経理サブシステムで算出する金額の一致 (23文字)
解説
結合テストの他に追加するテストを答える設問です。設問の条件に従い、下線②の前後の文章を確認すると〔経理の処理のパターンへの対応〕に以下の記述があります。
「全ての経理の処理のパターンにおいて現行業務で算出している金額と経理サブシステムで算出する金額に差異がないように,特に注意して検証するよう要請があった」
この記述から、経理サブシステムに関しては、結合テストでシステム自体の問題がないことだけでなく、システムで算出される結果について網羅的に検証する必要があることがわかります。Q社の経営会議では、プロジェクト計画について品質の確保を最優先にすることという指示があるので、PMには、経理サブシステムの品質を高めるための施策を講じることが求められます。
この部分がそのまま解答根拠となります。すなわち、経理部門から提供されたデータを経理サブシステムに入力し、その全てのデータにおいて、現行業務が出力する金額と一致するかどうかを確認するテストを追加するのが適切です。
∴現行業務と経理サブシステムで算出する金額の一致
一般的にこのようなテストは「業務テスト」と呼ばれ、システムとしての整合性に加えて、業務の中での正当性を担保することを目的として実施されます。新システムが出力する数値が正しいことを現行と比較し検証するテストは、品質を高めるために重要です。
広告
設問4
本文中の下線③について,何の実績値を監視することにしたのか。25字以内で述べよ。
解答例・解答の要点
障害の発生件数と1件当たりの解消の作業工数 (21文字)
解説
計画通りの工数で完了できるかどうかを見極めるため、"再実施する結合テスト工程の障害の解消"について監視すべき2つの指標を考えます。プロジェクトが予定通りに進捗するかどうかは、実際の作業が、見積りの際に前提とした工数以内で進むかどうかに掛かっています。表5中の"再実施する工程"については一部機能で先行作業を行って、見積りどおりの工数に収まることが確認されていますが、"再実施する結合テスト工程の障害の解消"は未実施、かつ、先行作業によって検証も行われていないので、どの程度の実績値となるかは予期できない部分があります。
残所要日数の算定の際に計算したように、"再実施する結合テスト工程の障害の解消"の作業工数は、
作業対象の障害件数×1件当たりの障害の解消に要する作業工数
で求めるので、計画通りの工数に収めるためには、この2つの指標の実績値が計画値を超過しないかを監視し管理することになります。この2点について記述されていれば正解になると思われますが、このままだと文字数オーバーですので、少々文字を削った次のような解答が考えられるでしょう。
- 障害件数と1件当たりの障害解消工数(17文字)
- 障害発生件数と1件当たりの障害解消に要する工数(23文字)
広告
広告