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