応用情報技術者 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)に答えよ。
(1)図1中のa、bに入れる適切な数値を求めよ。
模範解答
a:21
b:54
解説
解答の論理構成
-
前提整理
【問題文】表1より関係する作業と所要日数は
・作業 A1 :「10」日
・作業 A2 :「10」日
・作業 A3 :「30」日
・作業 B1 :「10」日
・作業 B2 :「30」日
・作業 B3 :「24」日
作業間の制約は図1に示され、A2 ― A3 間と B1 ― B3 間の矢印上に空欄 a、b が置かれている。 -
最早時刻 (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の作業 ID “B4” に該当します。 -
表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)に答えよ。
(3)表2中のe、fに入れる適切な数値を求めよ。
模範解答
e:32
f:70
解説
解答の論理構成
-
もとのクリティカルパス
- 「B3 24 日+B4 36 日+B5 20 日」=合計 80 日
- これが“人事給与システム”側の最長経路であることは【表1】と【問題文】の「ソフトウェア設計からソフトウェア適格性確認テストまでの作業を対象」との記述より明らかです。
-
案1(クラッシング)の日数短縮
① 追加要員後の有効工数- 設計チームも製造チームも「22 人」体制。
- 追加 10 人は生産性 80%なので
有効人数=12 人+10 人×0.8=20 人。
② 必要マンデイ数- B3 の 1 モジュール当たり工数
4 人×24 日=96 人日 - B4 の 1 モジュール当たり工数
4 人×36 日=144 人日 - 3 モジュール総工数
B3:96×3=288 人日、B4:144×3=432 人日 - B5 の総工数
12 人×20 日=240 人日
③ 新たなカレンダー日数- B3 日数=288/20=14.4 日
- B4 日数=432/20=21.6 日
- B5 日数=240/20=12 日
- 合計=14.4+21.6+12=48 日
④ 短縮量- 80-48=32 日 … これが [e]
-
案2(ファストトラッキング)の日数短縮
- 「ソフトウェア設計の作業が全て完了する予定であった日16日前から並行してdの作業を開始」とあるため、短縮量はそのまま 16 日(表中既記)。
-
増加コスト算定
(1) 案1- 追加要員コスト=5 万円/人日×96 人日=480 万円
(96 人日は 10 人×14.4 日+10 人×21.6 日で算出) - 事業運営上の削減効果=5 万円×32 日=160 万円
- 増加コスト=480-160=320 万円(表中既記)
(2) 案2- 他プロジェクト遅延によるコスト=150 万円
- 事業運営上の削減効果=5 万円×16 日=80 万円
- 増加コスト=150-80=70 万円 … これが [f]
- 追加要員コスト=5 万円/人日×96 人日=480 万円
以上より
[e] = 32
[f] = 70
[e] = 32
[f] = 70
誤りやすいポイント
- “追加要員は 20 人同時に稼働”と早合点し、余分な人日でコストを膨らませてしまう。実際には B3→B4→B5 が直列なので、設計側 10 人・製造側 10 人の稼働期間を分けて数える。
- 「生産性 80%」を人数に掛けず日数に掛けてしまい、人日計算を二重に縮める。
- 案2の“16日前から並行して開始”=16 日短縮と素直に読めず、B3 の残り 16 日+B4 の全期間などと誤って合算する。
FAQ
Q: 案1で日数を小数のまま使うのはなぜですか?
A: 14.4 日や 21.6 日は 1 日を 8 時間とみなす工数計算の結果で、端数も稼働時間として消化できます。したがって 14.4+21.6=ちょうど 36 日となり、正味 48 日で工程を完了できます。
A: 14.4 日や 21.6 日は 1 日を 8 時間とみなす工数計算の結果で、端数も稼働時間として消化できます。したがって 14.4+21.6=ちょうど 36 日となり、正味 48 日で工程を完了できます。
Q: 追加要員の“生産性 80%”はどこで効いてくるのですか?
A: 有効人数=(既存人数)+(追加人数×0.8)で計算します。これによりマンデイ数を割ってカレンダー日数を導出するため、直接日数が短縮される一方で、余分に人件費が掛かります。
A: 有効人数=(既存人数)+(追加人数×0.8)で計算します。これによりマンデイ数を割ってカレンダー日数を導出するため、直接日数が短縮される一方で、余分に人件費が掛かります。
Q: 案2ではなぜ他プロジェクトの遅延コストを加えるのですか?
A: 「既に計画されている他のプロジェクトの作業に従事して…」とあるように人を融通するため、他プロジェクト側で 150 万円の損失が発生すると見積もられているからです。
A: 「既に計画されている他のプロジェクトの作業に従事して…」とあるように人を融通するため、他プロジェクト側で 150 万円の損失が発生すると見積もられているからです。
関連キーワード: クリティカルパス, クラッシング, ファストトラッキング, 人日計算, コストベネフィット分析
設問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は要員を増やさないためクラッシング(要員増で所要日数を短縮)ではなく、ファストトラッキング(工程の重畳)を主に活用する案です。
関連キーワード: ファストトラッキング, クラッシング, クリティカルパス, 品質ゲート, 並行開発


