平成21年度 春期 ITパスポート試験 問38 解説 ウォーターフォールモデル
ソフトウェア開発プロセスを“要件定義”, “システム設計”, “プログラミング”, “テスト” の各工程に区切って, この順に進める手法の長所はどれか。
- ア 開発工程のどの時点でも, ソフトウェアの仕様変更に柔軟に対応できる。
- イ 開発の進捗状況の把握が容易である。 ✓ 正答
- ウ 上流工程におけるレビューの工数が少なくて済む。
- エ 利用者が, 開発の早い時期にソフトウェアを試用できる。
解説
この問題は、ソフトウェア開発手法における「ウォーターフォールモデル」の特徴を問うものです。正解を導くための鍵は、各工程が独立して順番に進むというモデルの特性と、それによって得られる管理上のメリットを結びつけることです。
ウォーターフォールモデルの基本特性
ウォーターフォールモデルとは、開発工程を「要件定義」「システム設計」「プログラミング」「テスト」のように、滝(Waterfall)が上から下へ流れるように順番に進めていく手法です。前の工程が完全に完了してから次の工程に移るという厳格なルールがあるため、各フェーズの区切りが明確であることが最大の特徴です。
なぜ進捗状況の把握が容易なのか
プロジェクトマネジメントにおいて、進捗を管理するためには「目標(マイルストーン)」の達成度を測る必要があります。
ウォーターフォールモデルでは「要件定義書が承認されたか」「設計書が完成したか」といった明確な成果物が各工程の終了条件となります。そのため、「全体のうち現在どこまで完了していて、あとどれくらい残っているか」を客観的な数値や工程の消化状況として把握しやすく、スケジュール通りの進行を管理しやすいという利点があります。
選択肢の検討と誤りの理由
ア:仕様変更に柔軟に対応できるのは、アジャイル開発のような反復型の手法です。ウォーターフォールモデルは一度決めたことを順にこなしていくため、後工程で仕様変更が発生すると、前工程に戻る必要があり、大幅な手戻りが発生してしまいます。
ウ:上流工程におけるレビュー工数は、むしろ重視されます。後工程での修正が困難であるため、設計などの初期段階でミスを潰しておく必要があり、この工程には非常に多くの工数を割くのが一般的です。
エ:早い時期にソフトウェアを試用できるのは、プロトタイピング手法やアジャイル開発の特徴です。ウォーターフォールモデルでは、最終的な成果物ができるまでユーザーは実際のシステムを確認できません。
開発現場における知識の重要性
この知識は、プロジェクトを計画する際の手法選択に直結します。
例えば、顧客の要望が明確で変更が少ない大規模な基幹システムを構築する場合、進捗が可視化しやすいウォーターフォールモデルは非常に有効です。一方で、サービスのコンセプトを模索しながら開発するスマホアプリのような現場では、アジャイル開発が選ばれます。
ITパスポート試験では、それぞれの開発手法が「どのような特性を持ち」「どのようなプロジェクトに適しているか」という対比構造で出題されることが多いため、それぞれのメリット・デメリットを比較して整理しておくことが合格への近道です。