メインコンテンツへ
開発技術ソフトウェア開発

アジャイル開発とウォーターフォール開発の比較として、適切なものはどれか。

ア.ウォーターフォール開発は要件変更に柔軟に対応でき、開発途中でも仕様変更を容易に受け入れられる。
イ.アジャイル開発は短いイテレーション(スプリント)を繰り返し、各イテレーションで動作するソフトウェアを提供しながら変化に適応する手法である。正解
ウ.アジャイル開発は大規模プロジェクトで完全な文書化が必要な場合に最も適した手法である。
エ.ウォーターフォール開発はテスト工程を省略することで、アジャイル開発より速くリリースできる。

解説

ウォーターフォールは「ダムの設計図→建設→完成」の順で戻れないが、アジャイルは「小さいダムを作って見せて→フィードバックをもらって→次の改善版を作る」サイクルを繰り返します。途中で川の流量が変わっても対応できるのがアジャイルの強みです。

なぜ イ が正解か

アジャイル開発(Scrum等)は通常2〜4週間のスプリントを繰り返し、各スプリント終了時に動作するソフトウェアをデモ・フィードバックします。要件変更をバックログに追加して次のスプリントで対応できるため、変化の激しい環境や要件が流動的なプロジェクトに適しています。スクラム・XP・カンバンなどの手法があります。

なぜ ア は間違いか

ウォーターフォールは要件変更への柔軟性が低いのが特徴です。各工程が順番に完了してから次へ進むため、後工程での仕様変更は大きなコスト(前工程の手戻り)を伴います。変化への柔軟性はアジャイルの強みです。

なぜ ウ は間違いか

完全な文書化・厳格なプロセスが必要な大規模プロジェクト(政府系・航空宇宙等)にはウォーターフォールや厳格な開発手法が適しています。アジャイルは文書より動くソフトウェアを重視するマニフェストを持ちます。

なぜ エ は間違いか

ウォーターフォールはテストを省略して速くするような設計ではなく、テスト工程は必須フェーズです。また省略すれば品質が崩壊します。ウォーターフォールとアジャイルのリリース速度の比較もプロジェクト次第で、「テスト省略で速い」という説明はどちらの手法にも当てはまりません。

出典: AI生成問題(学習用)