令和7年度 秋期 応用情報技術者試験 午後 問題 問9 WF・アジャイル混在プロジェクトの管理

マネジメント進捗管理開発プロセスリスクマネジメント

この問題は2025(R7)秋 応用情報技術者 午後に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

学習ガイド

生産管理システムの開発を題材に、ウォーターフォールとアジャイルが混在するプロジェクトのマネジメントを問う問題です。要件が固まりにくい部分にアジャイルを適用する判断根拠、デイリースクラムとバーンダウンチャートの活用、そして残作業量からの完了見込み計算まで、両モデルの使い分けの実務が試されます。この記事では、チャートの傾きが意味するものを数値で確かめながら、各設問の解答を導きます。

この記事で押さえる論点

  • 工程ごとに開発モデルを使い分ける判断基準を説明する
  • バーンダウンチャートから進捗状況と残作業を読み取る
  • ベロシティを使った完了見込みの計算を行う

問題本文

ソフトウェア開発モデルが混在するプロジェクトのマネジメントに関する次の記述を読んで,設問に答えよ。

F社は中堅の電気機器メーカーで,製造拠点としてX工場をもつ。F社のITシステム部には開発課と保守課がある。開発課は,X工場向けにX工場生産管理システムを開発し,保守課が運用と保守を行っている。最近,F社は製品の需要増に対応するため,協業会社からY工場を買収した。

〔X工場生産管理システムの概要〕

X工場生産管理システムは,生産計画や生産実績管理などの基幹業務機能と,そのデータを活用して,品質問題などの分析や対策検討を行うためのデータ分析機能(以下,分析機能Xという)から成る。基幹業務機能はスクラッチで開発した。一方,分析機能Xは,V社が提供するデータ分析用のソフトウェア開発支援ツール(以下,Vツールという)を利用して開発した。基幹業務機能から出力されたデータは,分析機能Xのデータベースに蓄積され,X工場のユーザー部門がそれを分析作業で使用している。

〔X工場生産管理システムのY工場への展開〕

このたび,F社は,Y工場向けにY工場生産管理システム(以下,本システムという)を導入することとし,その際,X工場生産管理システムの機能をベースに必要な追加や変更の開発を行うことにした。F社は,本システムの開発を行うプロジェクト(以下,本プロジェクトという)を立ち上げ,開発課のS君を本プロジェクトのプロジェクトマネージャに任命した。Y工場は,X工場と製造方法が同じ製品だけではなく,製造方法が異なる製品も9か月後から製造する予定である。したがって,本システムは9か月後にはリリースしなくてはならない。

本システムの基幹業務機能は,X工場とY工場とで製造方法が同じ製品については,X工場生産管理システムの機能を使用できる。X工場とY工場とで製造方法が異なる製品については,新たな機能の開発が必要であるが,生産計画や生産実績管理などの業務に大きな違いはなく,Y工場のユーザー部門の要求事項は固まっている。また,データ分析機能へ出力するデータの仕様は製造方法や製品に依存しないので,新たなデータ出力機能の開発は必要ない。

一方,本システムのデータ分析機能について,要求事項を取りまとめるY工場のユーザー部門にS君がヒアリングした結果,次のような状況であった。

  • X工場とY工場とで製造方法が同じ製品については,X工場生産管理システムの分析機能Xのパラメータ設定を変更することで対応できる。しかし,製造方法が異なる製品については分析機能Xのパラメータ設定の変更では対応できないので,Vツールを利用した新たなY工場向けのデータ分析機能(以下,分析機能Yという)の開発が必要である。
  • 分析機能Yに対する要求事項はまだ決まっていない。分析機能Yについては,基幹業務機能の開発と並行して,試行錯誤しながら開発を進める必要がある。

S君は,この状況に対応する本プロジェクトの計画の策定に着手した。

〔本プロジェクトの計画〕

S君は,本システムの基幹業務機能及び分析機能Xに対しては,F社で規定されているウォーターフォール開発モデルを適用することにした。また,分析機能Yに対してはY工場のユーザー部門の状況を踏まえ,要件定義〜実装の工程にF社で規定されているアジャイル開発モデルを適用することにした。
本システムの開発に適用するソフトウェア開発モデルを表1に示す。

表1 本システムの開発に適用するソフトウェア開発モデル
図の説明テキスト

表1 本システムの開発に適用するソフトウェア開発モデル

開発対象 適用するソフトウェア開発モデル(要件定義〜実装) 適用するソフトウェア開発モデル(テスト〜導入・受入れ)
・基幹業務機能
・分析機能X
ウォーターフォール開発モデル ウォーターフォール開発モデル
・分析機能Y アジャイル開発モデル ウォーターフォール開発モデル

S君は,前半の要件定義〜実装の工程を実施するチームを,基幹業務機能及び分析機能Xを開発するXチームと,分析機能Yを開発するYチームとで編成することにした。後半のテスト〜導入・受入れの工程は,両チームが一体となって作業することにした。Xチームの作業期間を確保し,Y工場のユーザー部門が本システムで確実に業務を実施できるようにするため,前半の要件定義〜実装の工程の作業期間と後半のテスト〜導入・受入れの工程の作業期間は,それぞれ4.5か月とした。

ウォーターフォール開発モデルを適用する工程での仕様変更要望については,プロジェクトオーナーであるY工場長,Y工場のユーザー部門の代表などのステークホルダが参加する変更管理委員会(CCB)を設置し,CCBで仕様変更要望を審査して変更の実施の可否を決定する。アジャイル開発モデルを適用する工程での仕様変更要望については,CCBではなく本プロジェクトで変更の実施の可否を決定する。また,テスト工程以降の仕様変更要望は受け付けない。

〔本プロジェクトのマネジメント〕

S君は,ウォーターフォール開発モデルの適用工程では,開発成果物に基づく指標を用いて進捗を管理するEVMを適用することにした。例えば,指標aと指標bとを比較し,aの方が小さい場合は進捗遅れがあると判断する。

アジャイル開発モデルの適用工程では,週5日を稼働日とする3週間のイテレーションを6回繰り返す。各イテレーションの作業は,計画の作成,要件定義〜実装,ユーザー部門レビュー及び振返りから成る。イテレーション内の作業を同じ作業量のタスクに分解し,タスクに優先度を付与する。タスクに対してチケットを発行して日々のタスクの進捗状況を把握する。Yチームのメンバーが計画の作成とチケットの発行を行い,S君がその内容や状況を確認する。各イテレーションでは,次のイテレーションに持ち越すタスクもあるが,優先度の高いタスクは3週間で終了させる必要がある。S君は,Yチームの進捗の把握には,イテレーションの経過日数と残チケット数を示すバーンダウンチャートを用いることにした。その上で,毎朝のミーティングでは,Yチームの全メンバーでバーンダウンチャートを用いて残日数を確認し,当日実施するタスクと担当者を決めることにした。

ユーザー部門レビューにおいてY工場のユーザー部門から提出された仕様変更要望は,仕様変更要望一覧にリストアップされる。リストアップされた仕様変更要望については,業務での有用性の確認と作業量の見積りを行う。次に,他の仕様変更要望の優先度を考慮して変更の実施の可否を決定し,変更を実施する場合は次のイテレーションで対応する。

それぞれのイテレーションのタスクとしてcを行う。cでは,次のイテレーションでの作業の効率や品質を向上させるとともに,分析機能Yの保守作業の効率を向上させるため,外部仕様を変えずにソースコードの構造を整理する。

〔プロジェクト実行における問題〕

S君が5回目のイテレーションの5日目の終了時点で,進捗状況をバーンダウンチャートで確認したところ,図1に示すとおりになっていた。

図1 バーンダウンチャート(抜粋)
図の説明テキスト

図1 バーンダウンチャート(抜粋)
横軸: 5回目のイテレーションの経過日数 (0から10まで1刻み)
縦軸: 残チケット数 (0から35まで5刻み)
凡例:

  • 破線: 理想線
  • ひし形マーカー付き実線: 実績線

グラフの推移:

  • 理想線: (0, 30)から始まり、(10, 10)まで直線的に減少している。
  • 実績線:
    • 日数0: 30
    • 日数1: 29
    • 日数2: 27
    • 日数3: 23
    • 日数4: 22
    • 日数5: 22
      5日目までの実績が描画されている。

5日目の作業完了時点での進捗遅れが,稼働日でd日分発生していることから,S君が,遅れが発生しているタスクの担当者であるE君に状況を聞いたところ,次の回答を得た。

  • 4回目のイテレーションで,ある機能を分析機能Yに追加するという仕様変更要望がY工場のユーザー部門から提出された。これを,5回目のイテレーションの開発対象としていたが,一部の機能についてVツールを利用した開発方法の調査に想定よりも時間を要し,遅れが発生した。
  • 調査の結果,Vツールはパラメータ設定で開発に利用でき,予定していたよりも少ない作業量で開発できるので,遅れを取り戻せることが分かった。

E君は,Vツールのパラメータ設定が追加のタスクなのでeし,S君がその内容を確認した。その後,タスクは予定どおり終了し,S君は,計画どおりのリリースを目指してプロジェクト推進を継続した。

設問と解答・解説

設問1

本文中の下線①について,要件定義〜実装の工程にF社で規定されているアジャイル開発モデルを適用する要因となった,Y工場のユーザー部門の状況とは何か。本文中の字句を用いて,25字以内で答えよ。

模範解答

試行錯誤しながら開発を進める必要があること

採点基準(配点 4点)

正確性(内容)(4点)

  • 4: 「試行錯誤しながら開発を進める必要があること」が本文から過不足なく正確に抜き出されている。
  • 2: 解答の趣旨は合っているが、不要な字句が含まれているか、部分的な欠落がある。
  • 0: 解答が不適切、または無回答。

解説

アジャイル開発モデルを適用する要因となったユーザー部門の状況についての設問です。

正解の根拠

アジャイル開発は、要件の変更や追加が頻繁に発生し、試行錯誤を繰り返しながら進めるプロジェクトに適しています。本文において、Y工場のユーザー部門が「試行錯誤しながら開発を進める必要があること」がアジャイル開発適用の理由として記述されている箇所を探します。

高得点のポイント

指定された文字数(25字以内)で、本文中の該当箇所「試行錯誤しながら開発を進める必要があること」を過不足なく抜き出すことが求められます。

設問2

(1)

本文中の空欄aに入れる適切な字句を解答群の中から選び,記号で答えよ。

  1. AC
  2. BAC
  3. CPI
  4. CV
  5. EAC
  6. EV
  7. PV
  8. SPI
  9. VAC

模範解答

選択肢カ: EV

配点 2

解説

EVM(Earned Value Management)における指標についての設問です。

正解の根拠

EVMにおいて、実際に完了した作業の予算上の価値を示す指標は EV(Earned Value:出来高) です。したがって、空欄aにはEVが入ります。

各選択肢の解説

  • ア (AC): 実際に発生したコスト(Actual Cost)を指すため誤りです。

  • ウ (CPI): コスト効率指標(Cost Performance Index)であり、EV/ACで計算されるため誤りです。

  • エ (CV): コスト差異(Cost Variance)であり、EV-ACで計算されるため誤りです。

  • オ (EAC): 完了時総コスト見込み(Estimate At Completion)であり誤りです。

  • キ (PV): 計画された作業の予算上の価値(Planned Value)であり誤りです。

  • ク (SPI): スケジュール効率指標(Schedule Performance Index)であり誤りです。

  • ケ (VAC): 完了時コスト差異(Variance At Completion)であり誤りです。

(2)

本文中の空欄bに入れる適切な字句を解答群の中から選び,記号で答えよ。

  1. AC
  2. BAC
  3. CPI
  4. CV
  5. EAC
  6. EV
  7. PV
  8. SPI
  9. VAC

模範解答

選択肢キ: PV

配点 2

解説

EVM(Earned Value Management)における指標についての設問です。

正解の根拠

EVMにおいて、ある時点までに完了するように計画されていた作業の予算上の価値を示す指標は PV(Planned Value:計画値) です。したがって、空欄bにはPVが入ります。

各選択肢の解説

  • ア (AC): 実際に発生したコスト(Actual Cost)を指すため誤りです。

  • ウ (CPI): コスト効率指標(Cost Performance Index)であり誤りです。

  • エ (CV): コスト差異(Cost Variance)であり誤りです。

  • オ (EAC): 完了時総コスト見込み(Estimate At Completion)であり誤りです。

  • カ (EV): 実際に完了した作業の予算上の価値(Earned Value)であり誤りです。

  • ク (SPI): スケジュール効率指標(Schedule Performance Index)であり誤りです。

  • ケ (VAC): 完了時コスト差異(Variance At Completion)であり誤りです。

(3)

本文中の下線②について,バーンダウンチャートを用いて残日数を確認し,当日実施するタスクと担当者を決める目的は何か。本文中の字句を用いて,25字以内で答えよ。

模範解答

優先度の高いタスクを3週間で終了させるため

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 「優先度の高いタスクを3週間で終了させるため」と同等の内容が正確に抜き出されている。
  • 1: 解答の趣旨は合っているが、字句の誤りや部分的な欠落がある。
  • 0: 解答が不適切、または無回答。

解説

バーンダウンチャートを用いてタスク管理を行う目的についての設問です。

正解の根拠

アジャイル開発では、残チケット数や進捗状況を可視化すること自体ではなく、プロジェクトの目標を達成することが重要です。本プロジェクトでは「優先度の高いタスクを3週間で終了させる」必要があり、そのために日々の残日数とタスクを確認します。

高得点のポイント

単なる「進捗状況の確認」ではなく、優先度の高いタスクを3週間で終了させるためという具体的な目的を本文から正確に抜き出せているかがポイントとなります。

(4)

本文中の空欄cに入れる適切な字句を,10字以内で答えよ。

模範解答

リファクタリング

採点基準(配点 3点)

知識・理解度(内容)(2点)

  • 2: プログラムの外部の振る舞いを変えずに内部構造を改善する手法として正しく理解している。
  • 1: 意味は捉えているが不正確な理解となっている。
  • 0: 理解が不適切、または無回答。

論理性(構造)(1点)

  • 1: 「リファクタリング」という用語を文脈に適合させて正確に記述できている。
  • 0: 異なる用語、またはスペルミス等により文脈に適合しない記述。

解説

ソフトウェアの内部構造を改善する手法についての設問です。

正解の根拠

ソフトウェアの外部から見た振る舞い(仕様)を変更せずに、内部のプログラム構造を整理・改善し、保守性や可読性を高める手法を リファクタリング と呼びます。

高得点のポイント

アジャイル開発で頻繁に行われる品質向上のための活動として、リファクタリングという専門用語を正確に記述できるかが評価のポイントです。

設問2(2)は,正答率がやや低かった。アジャイル開発モデルの適用工程のマネジメントにおいて,バーンダウンチャートを確認して当日実施するタスクと担当者を決める目的を問うたが,残チケット数や進捗状況を可視化するため,という解答が散見された。本プロジェクトでは優先度の高いタスクを3週間で終了させる必要があり,それを達成することが目的であることを理解してほしい。

設問3

(1)

本文中の空欄dに入れる適切な数値を整数で答えよ。

模範解答

1

配点 3

解説

アジャイル開発モデルにおけるチケット管理とタスク追加時の影響についての設問です。

正解の根拠

本プロジェクトでは、実施中のタスク量を残チケット数で管理しています。1つのタスクが追加された場合、それを適切にマネジメントするためには、そのタスクに対応するチケットを 1 枚発行し、全体の残チケット数に反映させる必要があります。

各選択肢の解説

誤った数値を答えた場合は、タスクの追加とチケットの発行が1対1で対応するアジャイル開発のタスク管理手法を正しく理解できていないことになります。

(2)

本文中の空欄eに入れる適切な字句を,本文中の字句を用いて,10字以内で答えよ。

模範解答

チケットを発行

採点基準(配点 3点)

正確性(内容)(3点)

  • 3: 「チケットを発行」と同等の内容が正確に抜き出されている。
  • 1: 解答の趣旨は合っているが、字句の誤りや部分的な欠落がある。
  • 0: 解答が不適切、または無回答。

解説

タスク追加に伴うプロジェクトマネジメント上の対応についての設問です。

正解の根拠

アジャイル開発において新しいタスクが発生した場合、その作業量や進捗を管理対象に含める必要があります。そのためには、追加されたタスクに対して新たに チケットを発行 して管理下に置く対応が求められます。

高得点のポイント

タスクの増加をバーンダウンチャート等の管理指標に正しく反映させるために、「チケットを発行」するという具体的な行動を本文から適切に抜き出すことが必要です。

設問3(2)は,正答率がやや低かった。本プロジェクトのアジャイル開発モデルの適用工程では実施中のタスクの量を残チケット数で把握するので,タスクが追加された場合には,それに対するマネジメントを適切に行うためにチケットを発行する必要があることを理解してほしい。