開発モデルはどう選ぶ?要求の明確さと仕様変更の多さで見分ける
ITパスポート試験 令和8年度 問38 / ソフトウェア開発管理技術 › 開発プロセス・手法
過去問にチャレンジ
要求事項が明確であり仕様変更が少ないことが見込まれるソフトウェアの開発に用いる開発モデル・手法として,最も適切なものはどれか。
- ア
アジャイル開発
- イ
ウォーターフォールモデル
- ウ
スパイラルモデル
- エ
プロトタイピングモデル
会話形式の解説
講師今回は、ソフトウェアの開発モデルを状況に合わせて選ぶ問題です。注目するのは問題文の条件で、「要求事項が明確」と「仕様変更が少ない」の2つです。
受験者選択肢にカタカナ語が並んでいて、私はどれも似たように見えてしまいます。とりあえず、アジャイル開発は新しい手法なので良さそうだと思ったのですが。
講師新しいかどうかではなく、どんな状況に向いているかで選びます。アジャイル開発は、短い期間で設計・開発・テストを繰り返し、要件の変化に柔軟に対応する手法です。要求が変わりやすい開発で力を発揮します。
受験者変化に強いのが持ち味なら、変更が少ない今回の条件では、その強みを活かしにくいということですね。
講師そのとおりです。では、ウォーターフォールモデルはどうでしょう。要件定義から運用準備までの工程を、上流から下流へ順番に進めるモデルです。
受験者順番に進めるということは、途中で仕様が変わると困りそうです。
講師はい、後の工程で仕様が変わると、前の工程に戻る手間と費用が大きくなるのが弱点です。その代わり、各工程の成果物を確認してから次へ進むので、計画や進捗を管理しやすく、品質も確保しやすいという長所があります。
受験者要求が安定していれば、その弱点は表に出にくいですね。今回の条件にはウォーターフォールモデルが合うと分かりました。
講師正解です。残りも確認しましょう。スパイラルモデルは、開発を反復しながら、そのたびにリスク分析と評価を行う手法で、リスクや不確実性が大きい開発に向いています。
受験者アジャイル開発も繰り返す手法でしたよね。私はこの2つの区別が曖昧です。
講師どちらも反復を伴いますが、反復のたびのリスク分析と評価を特に重視するのがスパイラルモデルです。そこを手がかりに区別してください。
受験者プロトタイピングモデルは、試作品を作る手法でしょうか。
講師はい。試作品、つまりプロトタイプを作って利用者に確認してもらいながら、要件を固めていく手法です。要求がはっきりしない場面で役立ちますが、今回は要求がすでに明確なので、試作品で仕様を探る必要性は低いです。
受験者まとめると、要求が明確で変更が少ないならウォーターフォールモデル、変わりやすいならアジャイル開発、リスクが大きいならスパイラルモデル、要求が不明確ならプロトタイピングモデル、という整理でよいでしょうか。
講師よく整理できています。逆の条件、つまり「要求が変わりやすい」「仕様がはっきりしない」という場面では、アジャイル開発やプロトタイピングモデルが候補になります。問題文の条件が、要求の明確さと変更の起こりやすさのどちらを示しているかを、まず確かめるようにしましょう。
まとめ
この問題は、「要求事項が明確」「仕様変更が少ない」という条件に合う開発モデルを選ぶもので、正解はウォーターフォールモデルです。ウォーターフォールモデルは工程を上流から下流へ順に進めるため、計画や進捗を管理しやすい反面、後の工程での仕様変更には弱いモデルです。アジャイル開発は変化する要求に短い反復で対応し、スパイラルモデルは反復のたびにリスク分析と評価を行い、プロトタイピングモデルは試作品を使って不明確な要求を固めます。開発モデルは、要求の明確さと変更の起こりやすさを手がかりに選ぶのがポイントです。
解答・解説
正解はイです
この問題のテーマ
ソフトウェア開発モデルの特徴を理解しているかを問う問題です。「要求事項が明確」「仕様変更が少ない」という条件に合う開発モデルを選びます。
解き方の考え方
まず問題文の条件を確認します。条件は、要求がはっきりしていることと、途中で仕様があまり変わらないことです。次に、各モデルがどんな状況に向いているかを比べます。アジャイル開発は要求の変化への対応、スパイラルモデルはリスクや不確実性への対応、プロトタイピングモデルは不明確な要求を固めることに強みがあります。今回の条件では、要求の探索や変更への対応より、計画に沿って工程を管理しやすいウォーターフォールモデルが適しています。
選択肢ごとの解説
- ×ア アジャイル開発アジャイル開発は、短い期間で設計・開発・テストを繰り返し、要件の変化に柔軟に対応する手法です。要求が変わりやすい開発で力を発揮します。要求が明確で変更が少ない今回の条件では、その強みを活かしにくいため、最も適切とはいえません。
- ○イ ウォーターフォールモデルウォーターフォールモデルは、要件定義から運用準備までの工程を上流から下流へ順番に進めるモデルです。各工程の成果物を確認してから次の工程へ進むため、計画や進捗を管理しやすく、品質も確保しやすいです。その反面、後の工程で仕様が変わると前の工程に戻る手間と費用が大きくなります。要求が安定している今回の条件では、この弱点が表に出にくく、長所を活かせます。
- ×ウ スパイラルモデルスパイラルモデルは、開発を反復しながら、そのたびにリスク分析と評価を行う手法です。リスクや不確実性が大きい開発に向いています。今回の設問では、大きなリスクへの対応よりも、明確で安定した要求に沿って工程を進められるウォーターフォールモデルが適しています。
- ×エ プロトタイピングモデルプロトタイピングモデルは、試作品(プロトタイプ)を作って利用者に確認してもらいながら要件を固めていく手法です。要求がはっきりしない場面で役立ちます。今回は要求がすでに明確なので、試作品を使って仕様を探る必要性は低く、最も適切とはいえません。
補足
逆の条件、つまり「要求が変わりやすい」「仕様がはっきりしない」場面を問う問題もよく出題されます。その場合は、アジャイル開発やプロトタイピングモデルが候補になります。アジャイル開発とスパイラルモデルはいずれも反復を伴いますが、特にリスク分析・評価を重視するのがスパイラルモデルです。
POINT
- 開発モデルは、要求がどれだけ明確か、変更がどれだけ起こりやすいかを手がかりに選びます。
- ウォーターフォールモデルは工程を順に進めるため管理しやすい一方で、後の工程での仕様変更には弱いモデルです。
- アジャイル開発は、変化する要求に短い反復で柔軟に対応する手法です。
- スパイラルモデルは、反復のたびにリスク分析と評価を行うのが特徴です。
- プロトタイピングモデルは、試作品を使って不明確な要求を固めるのに向いています。
