応用情報技術者 2019年 春期 午後 問09
システム更改プロジェクトのスケジュールの作成に関する次の記述を読んで、設問1、2に答えよ。
P社は、家電製品の製造・販売を行う中堅企業である。これまでオンプレミスで運用してきた会計システムと人事給与システムが、更改時期を迎えた。P社では、開発コストと運用費用の削減、及び事業継続性の確保を図るために、両システムともクラウドサービスを利用して更改することになった。そこで、情報システム部のQ部長は、クラウドサービスを提供する発注先候補に対して、提案依頼書を発行し、具体的な提案を求めた。
数社から提出された提案書を評価した結果、会計システムはR社が製造業向けに提供しているSaaSを、人事給与システムはR社の提供しているPaaSを、それぞれ利用することにした。R社のクラウドサービスでは、セキュリティが強化された新しいOS(以下、新OSという)と新しいミドルウェア(以下、新MWという)を採用している。
Q部長は、両システムを更改するプロジェクトのプロジェクトマネージャにS課長を指名し、120日以内にシステム更改を完了させることをプロジェクト目標の一つとして、作業内容を整理して、スケジュールを作成するよう指示した。
〔システム更改の作業内容の整理〕
更改する両システムを利用する部署からの要求は、次のとおりである。
・会計システムを主に利用する経営企画部と経理部は、各種の財務データを取得、集計、分析するSaaSの機能について、P社向けに一部の改修を要求している。両部は、“この改修を加えれば、十分に業務に適合可能である”と判断している。
・人事給与システムを主に利用する総務人事部は、“P社特有の人事制度及び職位に基づく給与体系への対応と、プログラムを改修することなく、人事評価区分及び給与区分の追加・削除ができること”を要求している。
これらの要求は、情報システム部の支援の下、要件定義書としてまとめられた。S課長はまず、要件定義書に基づき、システム更改の作業内容を次のとおり整理した。
(1) 会計システムの更改
・P社の経理業務に適合させるために、R社のSaaSに対して小規模のカスタマイズを行う。
(2) 人事給与システムの更改
・総務人事部の要求に対応するために、現行の人事給与システムのソフトウェアを改修して、R社のPaaSに配置し、実行できるようにする。
・ソフトウェアの改修は、R社のPaaSを利用し、P社の情報システム部の開発要員だけで、全ての作業を行う。
・ソフトウェアは、人事、給与及び共通の三つのモジュールで構成され、全てのモジュールのプログラムを改修する必要がある。各モジュールとも改修の規模及び改修の難易度は同等である。
〔システム更改スケジュールの作成〕
次に、S課長は、システム更改スケジュールを明確にするために、プロジェクトで実施すべき作業項目と成果物(文書)を洗い出して、表1の作業一覧を作成した。
人事給与システムの外部設計からプログラム製造・単体テストまでの各作業項目では、設計チーム及び製造チームは、三つのモジュールに対応して、両チームとも4人ずつの三つのグループに分ける。三つのグループとも、生産性は同じである。三つのグループは、同時に作業を開始し、それぞれ並行して作業を行う。作業が完了した後は、既に計画されている他のプロジェクトの作業を行う。
また、ソフトウェア設計とプログラム製造・単体テストについては、各作業項目とも全グループの作業が完了した時点で、S課長が成果物の品質を判定する。良好と判定されると、各チームは次の作業に着手するルールとする。
続いて、S課長は、表1の作業一覧に基づいて、図1の作業工程図を作成した。
S課長が、表1の作業一覧と図1の作業工程図について、Q部長に説明したところ、会計システムの更改においては、①フィット&ギャップ分析が完了した時点で、必要に応じて作業一覧と作業工程図を修正するよう、指示があった。
〔システム更改スケジュールの見直し〕
会計システムのフィット&ギャップ分析が完了した時点で、作業一覧と作業工程図の見直しは、不要であると判断された。
一方、人事給与システムの外部設計の途中で、総務人事部から、“人事評価区分及び給与区分の見直し時期を早めるので、開発期間を短縮してほしい”という要請があった。そこで、S課長は、作業IDのB3からB5までの連続する作業の経路が、c の一部となるので、人事給与システムのソフトウェア設計からソフトウェア適格性確認テストまでの作業を対象として、クラッシング及びファストトラッキングの考え方を用いて、開発期間を短縮することにした。開発期間を短縮できた場合には、P社の事業運営において、1日当たり5万円のコストの削減が見込まれる。
開発期間の短縮策として、開発要員を追加して作業計画を見直す案(以下、案1という)と開発要員を追加しないで作業計画を見直す案(以下、案2という)を評価して、採用する案を決定することにした。
S課長は、案1と案2の評価に当たっては、次の前提を置いた。
(1) 案1
・新OSと新MWの環境でのシステム開発経験がある開発要員を設計チーム、製造チームにそれぞれ10人ずつ追加し、設計チーム、製造チームとも22人の体制で、ソフトウェア設計からソフトウェア適格性確認テストまでの作業を行う。
・追加する開発要員の生産性は、業務要件を理解するのに必要な時間を考慮して、当初計画の80%で見積もる。
・開発要員を追加した場合の三つのグループの生産性は同じである。
・開発要員の追加によって増加するコストは、当初の開発要員と同じく、工数1人日当たり5万円とする。
(2) 案2
・開発要員を追加しないで、設計チーム、製造チームとも12人の体制のまま、ソフトウェア設計からソフトウェア適格性確認テストまでの作業を行う。
・人事給与システムの設計チーム、製造チームの開発要員は、既に計画されている他のプロジェクトの作業に優先して、人事給与システムの作業に参加するように調整する。
・既に計画されている他のプロジェクトの作業が遅延し、P社の事業運営において増加するコストを150万円と見積もる。
・当初の予定どおり、人事給与システムのソフトウェア設計の作業は設計チームが担当し、プログラム製造・単体テストの作業は、製造チームが担当する。両チームとも、それぞれ一つのグループで作業を行う。当初の計画では、三つのモジュールについて、同時に作業を開始し、それぞれ並行して作業することにしていたが、この方式をやめて、両チームとも、人事、給与、共通のモジュールの順に作業を行う。一つのグループで行っても作業効率は、当初と変わらない。これによって、ソフトウェア設計の作業が全て完了する予定であった日の16日前から並行してdの作業を開始することができ、開発期間が短縮できる。
S課長は、これらの前提に基づき、案1と案2の評価を表2のように整理した。
S課長は、この評価を基に、総務人事部と話し合った結果、増加コストを考慮して、案2を採用することにした。そこで、S課長は、開発期間の短縮を確実に実現するために、設計変更が発生した場合には、プロジェクト内で直ちに情報を共有するルールを設定するとともに、ソフトウェア設計及びプログラム製造・単体テストの各作業項目において、②成果物の品質判定のタイミングを見直すことにした。
設問1:〔システム更改スケジュールの作成〕について、(1)、(2)に答えよ。
問題文を見る模範解答
a:21
b:54
解説
解答の論理構成
-
最早時刻 (ES、EF) のforward pass
① A系列
• A1のES=1 → EF=1+10-1=10
• A2はA1完了翌日から着手できるのでES=10+1=11、EF=11+10-1=20
• A3はA2完了翌日から着手できる。従ってA3のES=20+1=21
→ この「21」がA2 ― A3間矢印に記載する値である。
よって a=21② B系列
• B2:ES=1、EF=1+30-1=30
• B1:ES=1、EF=1+10-1=10
• B3のESは「B2完了翌日」と「B1完了翌日」の遅い方
⇒ max(30+1, 10+1) =31
• B3のEF=31+24-1=54
→ この「54」がB1 ― B3間矢印に記載する値である。
よって b=54 -
結論
・a=「21」
・b=「54」
誤りやすいポイント
- 「翌日から着手」の1日加算を忘れ、ESやEFを1日ずつずらしてしまう。
- B3のESを「30+1=31」の計算だけで求め、B1からの制約を無視する。
- A3のESとEFまで計算せずに a をA2のEF(=20)と勘違いする。
FAQ
Q: a と b は作業日数(ラグ)ではなく何を示していますか?
A: forward passで得られる次作業の最早開始日(A3)と、B3の最早終了日をネットワーク図上で示したものです。
A: forward passで得られる次作業の最早開始日(A3)と、B3の最早終了日をネットワーク図上で示したものです。
Q: なぜB1の完了時刻よりB2の完了時刻を優先したのですか?
A: B3は両作業の終了を待って開始するため、「より遅い方」が制約になります。B2が30日かかるのでB1側の10日より遅く、B2が支配的になります。
A: B3は両作業の終了を待って開始するため、「より遅い方」が制約になります。B2が30日かかるのでB1側の10日より遅く、B2が支配的になります。
Q: 1日加算をどこでも行うのですか?
A: 「前作業が終わった翌日から始める」というFS(Finish-Start)関係なので、各つなぎ目で1日を加えます。
A: 「前作業が終わった翌日から始める」というFS(Finish-Start)関係なので、各つなぎ目で1日を加えます。
関連キーワード: クリティカルパス, forward pass, 最早開始日, 余裕時間, プロジェクト日程
設問1:〔システム更改スケジュールの作成〕について、(1)、(2)に答えよ。
問題文を見る(2)本文中の下線①について、どのような場合に、作業一覧と作業工程図を修正する必要があるか。30字以内で答えよ。
模範解答
カスタマイズの規模が事前の想定とかい離した場合
解説
解答の論理構成
- 指示①は、Q部長が「“フィット&ギャップ分析が完了した時点で、必要に応じて作業一覧と作業工程図を修正する”」よう求めた場面です。
- 同じ段落で、会計システムの作業内容について「“P社の経理業務に適合させるために、R社のSaaSに対して小規模のカスタマイズを行う。”」と前提を置いています。
- フィット&ギャップ分析では、SaaS標準機能と要求仕様を突き合わせて差分(ギャップ)を洗い出します。
- もし分析結果で「小規模」と見込んでいたカスタマイズ量が想定より大きい/小さいと判明すれば、必要日数・担当要員・後続作業の開始時期が変動し、工程図やWBS(作業一覧)の前提が崩れます。
- したがって「カスタマイズの規模が事前の想定とかい離した場合」にのみ修正が必要となり、模範解答と一致します。
誤りやすいポイント
- 「フィット&ギャップ分析が終わったら必ず修正する」と早合点しやすい
- “要件変更があれば修正”と広く書き過ぎてしまう
- 人事給与システム側の変更理由を書いてしまい、質問対象(会計システム)を取り違える
- 「分析期間が遅延した場合」とスケジュールの遅れにフォーカスし過ぎる
FAQ
Q: フィット&ギャップ分析が予定より長引いた場合も修正対象になりますか?
A: 遅延自体よりも、分析結果によってカスタマイズ規模が変わり、所要日数が再見積りになるかどうかが判断基準です。
A: 遅延自体よりも、分析結果によってカスタマイズ規模が変わり、所要日数が再見積りになるかどうかが判断基準です。
Q: ギャップがなく、カスタマイズ不要と判明した場合も修正しますか?
A: はい。所要日数が短縮されるため、工程図を更新しクリティカルパスを再計算する必要があります。
A: はい。所要日数が短縮されるため、工程図を更新しクリティカルパスを再計算する必要があります。
Q: 人事給与システムの要件追加が出たときに会計システム側の工程図を修正しますか?
A: 会計システムと無関係の変更であれば不要です。各システムのWBSと工程図は独立に管理します。
A: 会計システムと無関係の変更であれば不要です。各システムのWBSと工程図は独立に管理します。
関連キーワード: フィットアンドギャップ, WBS, クリティカルパス, 工数見積り, 変更管理
設問2:〔システム更改スケジュールの見直し〕について、(1)~(4)に答えよ。
問題文を見る(1)本文中のcに入れる適切な字句を、10字以内で答えよ。
模範解答
c:クリティカルパス
解説
解答の論理構成
- 問題文では、外部設計途中の要請に対して、S課長が「作業IDのB3からB5までの連続する作業の経路が、c の一部となるので、人事給与システムのソフトウェア設計からソフトウェア適格性確認テストまでの作業を対象として、クラッシング及びファストトラッキングの考え方を用いて、開発期間を短縮することにした。」と記載しています。
- “クラッシング”も“ファストトラッキング”も、プロジェクト全体の工期短縮を目的としてクリティカルパス上の作業を重点的に圧縮・前倒しするテクニックです。
- よって、B3→B5がプロジェクトの最長経路(遅れると全体が遅延する経路)に乗っているからこそ、短縮対象に選ばれたと判断できます。
- したがって c に入る語句は、プロジェクトマネジメントで「最長経路」を表す “クリティカルパス” となります。
誤りやすいポイント
- “重要な経路” という読み取りで「主要経路」など曖昧な語を入れる失点。
- “クラッシング”“ファストトラッキング”の使いどころを理解せず、単に人員追加や並列化ならどこでも良いと考えてしまう誤認。
- B3〜B5だけを見て “部分的な最長経路” と捉え「サブクリティカルパス」と誤記するケース。
FAQ
Q: クリティカルパスの作業を短縮したのに全体工期が変わらないのは?
A: クリティカルパスが短くなると新たに別経路が最長になることがあります。継続的にパスを再計算し、真の最長経路を把握することが必要です。
A: クリティカルパスが短くなると新たに別経路が最長になることがあります。継続的にパスを再計算し、真の最長経路を把握することが必要です。
Q: クラッシングとファストトラッキングは同時に採用できますか?
A: 可能です。クラッシングで人員を増やし工数を圧縮し、ファストトラッキングで依存関係を見直し並列化するなど、組み合わせて短縮効果を高めます。
A: 可能です。クラッシングで人員を増やし工数を圧縮し、ファストトラッキングで依存関係を見直し並列化するなど、組み合わせて短縮効果を高めます。
Q: クリティカルパス上の作業を短縮できない場合の代替策は?
A: スコープ調整(要件削減)や品質要件の見直しなど、工期以外のプロジェクト目標を調整する方法があります。
A: スコープ調整(要件削減)や品質要件の見直しなど、工期以外のプロジェクト目標を調整する方法があります。
関連キーワード: クリティカルパス, クラッシング, ファストトラッキング, プロジェクトスケジュール管理, PERT
設問2:〔システム更改スケジュールの見直し〕について、(1)~(4)に答えよ。
問題文を見る(2)本文中のdに入れる作業項目を、表1の作業IDから選択して答えよ。
模範解答
d:B4
解説
解答の論理構成
-
【問題文】には、案2の説明として
“これによって、ソフトウェア設計の作業が全て完了する予定であった日の16日前から並行してdの作業を開始することができ、開発期間が短縮できる。”
とあります。
ここで “dの作業” は、“ソフトウェア設計と並行して前倒しで着手できる後続作業” を指します。 -
表1を確認すると
“B4 プログラム製造・単体テスト”
と列記されており、ソフトウェア設計(“B3”)の直後に位置するタスクです。 -
したがって、ソフトウェア設計(B3)の完了を待たずに前倒し着手する作業は “B4” であると論理的に決定できます。
以上より、d に入る作業IDは
B4:プログラム製造・単体テスト
であると結論付けられます。
B4:プログラム製造・単体テスト
であると結論付けられます。
誤りやすいポイント
- “並行して開始” と聞いて “B5” を選びがちですが、B5は “ソフトウェア適格性確認テスト” であり、B4完了後でなければ着手できません。
- “16日前” という数字に惑わされて、人事給与システム外のタスク(例:A系列)を候補に挙げてしまうケースがあります。あくまでB3〜B5の連続経路が対象です。
- “設計チーム” と “製造チーム” の役割が混ざり、B3とB4の順序を取り違えるミスも頻出します。
FAQ
Q: “B4” を前倒しできる根拠は何ですか?
A: 【問題文】で “両チームとも、人事、給与、共通のモジュールの順に作業を行う” とあり、モジュール単位で引き継ぎが可能になるため、B3全体が終わる前に次モジュールのB4に着手できると明示されています。
A: 【問題文】で “両チームとも、人事、給与、共通のモジュールの順に作業を行う” とあり、モジュール単位で引き継ぎが可能になるため、B3全体が終わる前に次モジュールのB4に着手できると明示されています。
Q: “B5” を同様に前倒しすることは検討できないのでしょうか?
A: B5は “B4” が全モジュール完了し、さらに品質判定を経て初めて開始できる工程です。並行開始は論理制約上不可能です。
A: B5は “B4” が全モジュール完了し、さらに品質判定を経て初めて開始できる工程です。並行開始は論理制約上不可能です。
Q: 追加要員を入れない案2でコストが発生する理由は?
A: 【問題文】に “既に計画されている他のプロジェクトの作業が遅延し、…増加するコストを150万円と見積もる。” とあるとおり、兼務による他案件遅延が損失として計上されるためです。
A: 【問題文】に “既に計画されている他のプロジェクトの作業が遅延し、…増加するコストを150万円と見積もる。” とあるとおり、兼務による他案件遅延が損失として計上されるためです。
関連キーワード: クリティカルパス, ファストトラッキング, クラッシング, 工程表, パラレル開発
設問2:〔システム更改スケジュールの見直し〕について、(1)~(4)に答えよ。
問題文を見る模範解答
e:32
f:70
解説
解答の導き方
(要点整理)設問で短縮の対象となるのは「ソフトウェア設計(B3)からソフトウェア適格性確認テスト(B5)」までの連続経路です。表1の所要日数と「設計チーム及び製造チームは、三つのモジュールに対応して、両チームとも4人ずつの三つのグループに分ける。三つのグループとも、生産性は同じである。」という記述から、各モジュール当たりの工数(人日)をまず求めます。
- 元の作業量(人日)を求める
- B3(ソフトウェア設計):1モジュールあたり 人で 日 → 1モジュールの工数は 人日。モジュールは3つあるので全体で 人日。
- B4(プログラム製造・単体テスト):1モジュールあたり 人日、3モジュールで 人日。
- B5(ソフトウェア適格性確認テスト):表1の担当は「設計チーム[12]」で所要日数 日なので工数は 人日。
したがって、B3~B5の合計工数は 人日(ただし工程ごとにチームが別)です。元のカレンダ日数合計は表1の所要日数を足して 日です。
- 案1(追加要員を投入)の効果(短縮日数の算出)
- 前提より「設計チーム、製造チームとも22人の体制」で、追加10人の生産性は当初の とされている。したがって各チームの実効的な等価人数は (等価人)となります(「追加する開発要員の生産性は、…当初計画の80%で見積もる。」)。
- 各工程の新しいカレンダ所要日数はその工程の総工数を等価人数で割って求めます。
- B3': 日
- B4': 日
- B5': 日
- 合計は 日。元の 日からの短縮は 日。よって e = 。
(補足)B4の開始はB1とB3の両方を待ちますが、B1は表1で 日で終わるため、短縮後も実際の開始はB3の完了に依存し、上の単純合計でよいです。
- 案2(要員追加なし)の増加コスト算定(f)
- 問文に「既に計画されている他のプロジェクトの作業が遅延し、P社の事業運営において増加するコストを150万円と見積もる。」とあり、また「開発期間を短縮できた場合には、P社の事業運営において、1日当たり5万円のコストの削減が見込まれる。」とあります。
- 案2では短縮期間が問題文に明示のとおり 日(「ソフトウェア設計の作業が全て完了する予定であった日の16日前から並行して…開始する」)です。したがって節約額は 万円。
- よって増加コストの純額は 万円。よって f = 。
最終答え(表2の補完)
- e:32
- f:70
誤りやすいポイント
- 「1モジュール当たりの工数」を抜かす・3モジュール分への展開を忘れる( を忘れやすい)。
- 追加要員の生産性を単純に100% とする誤り。ここでは追加要員は「80%」なので等価人数は と計算する必要がある。
- 人日(工数)とカレンダー日数を混同する。工程の短縮は「工数÷実効人数」で求める(人日÷人数=日)。
- B4の開始条件(B1とB3の両方)を見落として、誤ってB1のみで判断する。今回B1は早く終わるため影響しませんが、常に確認すること。
- コスト計算で単位(万円)を扱う際の掛け算の向きに注意する(1日あたり5万円 × 日数=万円)。
- 端数(日数の小数)を扱う際、途中で四捨五入すると誤差が出る。計算は小数で正確に行い、最終的に設問が整数を要求する場合のみ整数で示す。
FAQ
Q: B3~B5の「工数」をどうしてモジュール数で掛けているのですか?
A: 表1の説明と「三つのモジュールに対応して、両チームとも4人ずつの三つのグループに分ける。三つのグループとも、生産性は同じである。」から、1モジュールあたりの作業量をまず求め、モジュール数(3)を掛けて工程全体の工数を得るのが基本です。
A: 表1の説明と「三つのモジュールに対応して、両チームとも4人ずつの三つのグループに分ける。三つのグループとも、生産性は同じである。」から、1モジュールあたりの作業量をまず求め、モジュール数(3)を掛けて工程全体の工数を得るのが基本です。
Q: 追加要員の「生産性80%」はどのように反映するのですか?
A: 追加要員1人は元の要員1人の 人分の貢献と見なします。したがって等価人数は のように計算し、その等価人数で総工数を割って日数を求めます。
A: 追加要員1人は元の要員1人の 人分の貢献と見なします。したがって等価人数は のように計算し、その等価人数で総工数を割って日数を求めます。
Q: 計算中に出る日数の小数はどう扱えばいいですか?
A: 中間計算は小数で正確に行います。試験問題では日数差(今回 など)は整数で出ることが多いので最終的な差は整数に整合します。小数を途中で切り上げ・切り捨てると誤答につながるので注意してください。
A: 中間計算は小数で正確に行います。試験問題では日数差(今回 など)は整数で出ることが多いので最終的な差は整数に整合します。小数を途中で切り上げ・切り捨てると誤答につながるので注意してください。
関連キーワード: クリティカルパス法、クラッシング、ファストトラッキング、工数(人日)、リソース配分
設問2:〔システム更改スケジュールの見直し〕について、(1)~(4)に答えよ。
問題文を見る(4)本文中の下線②について、品質判定のタイミングをどのように見直すべきか。35字以内で述べよ。
模範解答
各モジュールの各作業が完了したタイミングで品質判定を行う。
解説
解答の論理構成
-
現行ルールの確認
【問題文】には「ソフトウェア設計とプログラム製造・単体テストについては、各作業項目とも全グループの作業が完了した時点で、S課長が成果物の品質を判定する」とあります。つまり3モジュールすべてが終わるまで品質判定を待つルールです。 -
案2での作業方式の変更
案2では「両チームとも、人事、給与、共通のモジュールの順に作業を行う」と明記され、モジュールを順次処理するシーケンシャル方式に変わります。さらに「ソフトウェア設計の作業が全て完了する予定であった日の16日前から並行してdの作業を開始することができ」と記述され、モジュール単位で次工程へ前倒しする“ファストトラッキング”が狙いであることがわかります。 -
品質判定を前倒しする必要性
従来どおり“全部完了後に一括判定”では、1モジュールが終わっても次工程へ渡せません。モジュール単位で並行を開始するためには、該当モジュールの成果物が出来るたびに品質を確認し、直ちに次工程へ流す品質ゲートが必要になります。 -
したがって
品質判定のタイミングは「各モジュールの作業完了時」に変更するのが合理的であり、模範解答「各モジュールの各作業が完了したタイミングで品質判定を行う。」に至ります。
誤りやすいポイント
- “各作業項目”という語をそのまま写してしまい、モジュール単位であることを示せない。
- 「全グループ完了後」という従来ルールを残したままではファストトラッキングが機能しないことを見落とす。
- “ソフトウェア設計のみ”または“プログラム製造・単体テストのみ”を対象と誤解し、両工程に共通する判定ルールである点を落とす。
FAQ
Q: なぜモジュール単位で判定するだけで16日も短縮できるのですか?
A: 1モジュール分の設計が終わった時点で即座に「プログラム製造・単体テスト」に入れるため、3モジュールの完了を待つ待機時間がなくなるからです。
A: 1モジュール分の設計が終わった時点で即座に「プログラム製造・単体テスト」に入れるため、3モジュールの完了を待つ待機時間がなくなるからです。
Q: 品質判定を早めると品質が落ちる心配はありませんか?
A: 判定基準そのものを緩めるわけではなく、判定を“分割”するだけなので品質は維持できます。むしろ早期フィードバックで不具合を早く発見できます。
A: 判定基準そのものを緩めるわけではなく、判定を“分割”するだけなので品質は維持できます。むしろ早期フィードバックで不具合を早く発見できます。
Q: クラッシングは今回使わないのですか?
A: 案2は要員を増やさないためクラッシング(要員増で所要日数を短縮)ではなく、ファストトラッキング(工程の重畳)を主に活用する案です。
A: 案2は要員を増やさないためクラッシング(要員増で所要日数を短縮)ではなく、ファストトラッキング(工程の重畳)を主に活用する案です。
関連キーワード: ファストトラッキング, クラッシング, クリティカルパス, 品質ゲート, 並行開発






