結論
アジャイルは、短い期間で計画・開発・評価を繰り返し、動くものを少しずつ作りながら計画を見直していく開発の進め方です。ウォーターフォールは、要件定義・設計・実装・テストの工程を上から順に進め、原則として前の工程に戻らないことを前提とする進め方です。
比較表
| 観点 | アジャイル | ウォーターフォール |
|---|---|---|
| 英語 | agile software development | waterfall model |
| 進め方 | 短い周期で計画・開発・評価・振り返りを繰り返す(スクラムでは1か月以内のスプリント) | 要件定義→設計→実装→テストと、工程を順に1回進める |
| 要件の変更 | 途中の変更を前提にし、開発の後期でも受け入れる | 最初に要件を固める。途中で変わると前の工程に戻る大きな手戻りになる |
| 動くものを確かめる時期 | 周期ごとに確かめる | テストなどの後半の工程になる |
| 計画と文書 | 価値を認めたうえで、動くソフトウェアと変化への対応をより重んじる | 工程ごとに成果物を文書にまとめ、承認を経て次の工程に進む |
| 向く場面 | 作るべきものや結果を前もって見通しにくい開発 | 作るべきものが明確で、要件が変わりにくい開発 |
| 由来 | 2001年のアジャイルソフトウェア開発宣言で呼び名が広まった(スクラムなどの手法はそれ以前からある) | 原型として1970年のRoyceの論文がよく挙げられる(論文に「ウォーターフォール」という言葉はない) |
| AI開発での位置づけ | 精度を試すまで見通しにくいAIモデルの開発と相性がよいとされる | 要件を固めにくいAIモデルの開発では、終盤の手戻りが大きくなりやすい |
| シラバス項目 | 技術分野 項目35 AIプロジェクトの進め方 | 技術分野 項目35 AIプロジェクトの進め方 |
| G検定での問われ方 | AI開発と相性がよいとされる理由。ウォーターフォールの特徴と入れ替えた説明を見抜く形 | 工程を順に進めて戻らないという特徴と、AI開発で手戻りが起きやすい理由 |
それぞれの説明
アジャイルとウォーターフォールは、システム開発をどのような順番で進めるかについての、代表的な2つの考え方です。G検定では、AIプロジェクトの進め方(技術分野 項目35)のキーワードとして並んでいます。
アジャイル
ソフトウェアを小さく作って確かめることを、短い周期で繰り返す進め方です。2001年にソフトウェア開発に携わる17人がまとめた「アジャイルソフトウェア開発宣言」は、計画に従うことよりも変化への対応を、包括的なドキュメントよりも動くソフトウェアを重んじるとしています。計画や文書を否定しているわけではありません。代表的な手法のスクラムでは、1か月以内の決まった長さのスプリントごとに、計画、開発、成果の確認、振り返りを行います。
ウォーターフォール
要件定義、設計、実装、テストといった工程を、滝の水が流れ落ちるように上から順に進めます。工程ごとに成果物を文書にまとめ、承認を経てから次に進むため、費用や期間を見積もりやすく、進み具合も管理しやすい方法です。弱点は、動くものを確かめられるのが後半になることです。テストで要件や設計の誤りが見つかると、大きな手戻りになります。
原型としてよく挙げられる1970年のRoyceの論文には、「ウォーターフォール」という言葉は出てきません。Royce自身も、工程を一方向に1回だけ進めるやり方はリスクが大きいと書いていました。
AI開発ではどちらを使うか
AIモデルの精度は、実際のデータで学習させてみるまで見通しにくいものです。そのため、小さく試して結果を見ながら計画を直すアジャイルの考え方と相性がよいとされます。経済産業省の「AI・データの利用に関する契約ガイドライン(AI編)」も、アセスメント、PoC、開発、追加学習と段階を分け、各段階の結果を見て次に進むかを決める探索的段階型を示しています。どちらの進め方でも、業務で使える精度の目標は、早い段階で利用部門などと合意しておきます。
見分けるコツ
- 「短い周期」「繰り返す」「変化への対応」とあればアジャイル、「工程を順に」「前の工程に戻らない」「最初に要件を確定」とあればウォーターフォールです。
- アジャイルは、計画や文書を不要とする考え方ではありません。宣言は、それらの価値を認めたうえで、より重んじるものを示しています。
- AIガバナンスの文脈で出てくる「アジャイル・ガバナンス」は、ルールや体制を状況に合わせて見直し続ける考え方です。開発の進め方を指すアジャイルとは区別します。
◯×チェック
-
アジャイルソフトウェア開発宣言の背後にある原則は、要求の変更を、開発の後期であっても歓迎するとしている。
答えを見る
答え ◯ 正しい
12の原則の1つです。ウォーターフォールでは、後の工程で要件が変わるほど前の工程に戻る手戻りが大きくなるため、ここが考え方の大きな違いになります。
-
ウォーターフォールでは、各工程の成果物を確認してから次の工程に進むため、開発の途中で要件が変わっても手戻りは小さく済む。
答えを見る
答え × 誤り
後の工程は前の工程の成果物を前提に進むため、途中で要件が変わると、要件定義や設計まで戻る大きな手戻りになります。要件が変わりにくい開発に向く進め方です。
-
ウォーターフォールでは、実装の工程が終わるまで動くシステムができないため、利用者が実際の動きを確かめられるのは開発の後半になる。
答えを見る
答え ◯ 正しい
要件定義や設計の誤りがテストの段階で初めて見つかると、前の工程まで戻る大きな手戻りになります。アジャイルは、短い周期ごとに動くものを作って確かめることで、この問題を小さくします。
関連問題
問題の一覧(1問)
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術35
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目35 AIプロジェクトの進め方)2026年11月1日閲覧
- アジャイルソフトウェア開発宣言(Manifesto for Agile Software Development、2001年)2026年11月1日閲覧
- アジャイル宣言の背後にある原則2026年11月1日閲覧
- Ken Schwaber, Jeff Sutherland, The 2020 Scrum Guide(2020年11月)(The Sprint)2026年11月1日閲覧
- Winston W. Royce, Managing the Development of Large Software Systems, Proceedings of IEEE WESCON, August 1970, pp.1–9(Figure 2–3の後の段落(risky and invites failure)、STEP 3: DO IT TWICE)2026年11月1日閲覧
- 経済産業省「AI・データの利用に関する契約ガイドライン(AI編)」(2018年6月策定、2019年12月に1.1版)(探索的段階型の開発方式)2026年11月1日閲覧
ほかの違い比較51件
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い