明るく

暗く

システム開発

アジャイル開発とウォーターフォール開発の違い|発注時の選び方と判断基準

アジャイル開発とウォーターフォール開発の違い|発注時の選び方と判断基準

アジャイル開発とウォーターフォール開発は、どちらが優れているかで選ぶものではありません。発注時点で、要件や優先順位がどこまで決まっているかによって、合う開発手法が変わります。

 

要件や優先順位がある程度固まっていて、納期や工程をあらかじめ決めて進めたい場合は、ウォーターフォール開発が向いています。一方、開発を進めながら画面や機能を確認し、優先順位や内容を見直したい場合は、アジャイル開発のほうが合いやすいです。

 

迷ったときは、最初に比較表で違いをつかみ、そのあと自社の状況に近いケースに当てはめて考えると選びやすくなります。

 

この記事では、アジャイル開発とウォーターフォール開発の違いを整理したうえで、発注時にどちらの進め方が合うか判断するポイントをまとめます。

【結論】アジャイル開発かウォーターフォール開発のどちらを選ぶかは、要件と変更の有無で考える

アジャイル開発かウォーターフォール開発かを考えるときは、要件がどれだけ固まっているか、途中変更を前提にするかを先に確認しましょう。併せて、納期をどこまで固定したいか、発注側がどの程度関われるかを見ると、判断しやすくなります。

 

まずは次のチェック表で、自社がどちらの進め方に近いかを確認してみましょう。

 

アジャイル開発の列に当てはまる項目が多ければアジャイル開発、ウォーターフォール開発の列に当てはまる項目が多ければウォーターフォール開発向きです。どちらか迷う項目が多い場合は、本記事の後半で紹介するハイブリッド開発も視野に入る可能性が出てきます。

 

開発に関する自社の確認事項 アジャイル開発が合いやすい状態 ウォーターフォール開発が合いやすい状態
要件(画面・機能・優先度) まだ変わりそう ほぼ決まっている
途中変更(仕様追加・優先度変更) 起こりやすい 起こりにくい
納期 ある程度調整できる 固定したい
範囲(スコープ) 途中で調整したい 先に固めたい
成果の確認 短い間隔で行いたい 工程の節目で行えばよい
発注側の関わり(定例・レビュー) 週1回程度なら時間を取れる 継続的な参加が難しい
意思決定 比較的早くできる 関係者が多く時間がかかる
受入基準 簡単でも言葉にできる これから整理したい
見積に対する考え方 変動も許容できる 固定に近づけたい

 

社内の承認に時間がかかる、毎週の打ち合わせには参加しにくいといった社内事情は、システム開発の手法選びに関わってきます。変更はどのくらい起こりそうか、社内で誰がどの頻度で判断するのかを最初に確認しておくと、発注時の認識のズレを減らしやすくなるでしょう。

 

次は、アジャイル開発とウォーターフォール開発の違いを、発注者の視点からまとめます。

【比較】アジャイル開発とウォーターフォール開発の違い

アジャイル開発とウォーターフォール開発の主な違いは、進め方と変更への対応の仕方にあります。ここでは細かな用語の説明よりも、発注時に見ておきたい違いがわかるように解説します。

アジャイル開発とは?

アジャイル開発は、短い期間で「作る・確認する・調整する」を繰り返しながら進めます。状況の変化に合わせて優先度を見直しやすい点が、大きな特徴です。

 

たとえば、最初から細部まで固めるのではなく、まず必要な部分から作って確認し、その結果を次の開発に反映していきます。このとき、1〜2週間などの短い期間ごとに作業を区切って進めることが多く、この区切りをスプリントと呼ぶことが多いです。

 

つまり、短い期間ごとに成果を確認しながら進めるのがアジャイル開発です。

ウォーターフォール開発とは?

ウォーターフォール開発は要件定義、設計、開発、テストのように、工程を順番に進めます。先に計画を立て、その計画に沿って進めやすい点が、大きな特徴です。

 

発注時に必要なことをできるだけ整理し、工程ごとに区切って進めるため、全体の流れを把握しやすいです。要件や納期、開発する範囲を先に決めてから進めたい場合に向いています。

アジャイル開発とウォーターフォール開発の比較表

まずは、発注時に見ておきたい違いを表で整理します。

 

観点 アジャイル開発 ウォーターフォール開発
進め方 短い区切りで繰り返しながら進める 工程を順番に進め、区切って管理する
要件の扱い 途中で調整しやすい 最初に固めて進めやすい
変更が出たとき 優先度を見直しながら取り込みやすい 影響を整理して合意しながら進めやすい
成果の見せ方 こまめに確認しやすい 工程の節目で確認しやすい
発注側の関わり方 定例やレビューへの参加が必要になりやすい 事前の合意を重視して進めやすい
見積の考え方 範囲の変動に応じて変わりやすい 範囲を決めやすく見通しを立てやすい
ドキュメント 必要最小限になりやすい まとまった形で残しやすい
リリースの考え方 段階的に出しやすい 全体をまとめて出しやすい

 

大きな違いは、先に固めて進めるか、進めながら調整するかです。自社に置き換えるときは、途中変更が起こりやすいか、確認の時間を継続して取れるかといったことを考えると、どちらが合っているか判断しやすくなります。

発注前に見ておきたいポイント

比較表を見ても迷う場合は、発注前に要件がどこまで決まっているか・途中で変更が出そうか・発注側がどこまで関われるかの3点を確認すると、自社に合う開発手法を判断しやすくなります。

 

アジャイル開発とウォーターフォール開発には違いがありますが、発注前はこの3点を見るだけでも十分です。比較表の内容も、自社の状況に当てはめて考えやすくなります。

 

  • 要件がどこまで決まっているか

    画面や機能、優先順位まである程度決まっているなら、ウォーターフォール開発と合わせやすいです。一方、実現したいことは決まっていても、どの機能から作るかまでは決まっていない場合は、アジャイル開発のほうが進めやすいことがあります。
  • 途中で変更が出そうか

    開発を進めながら画面や機能を確認し、内容を見直す可能性があるなら、短い単位で確認しやすいアジャイル開発が候補になります。一方、途中での変更をできるだけ避けて、最初に決めた内容に沿って進めたい場合は、ウォーターフォール開発のほうが予定を立てやすいです。
  • 発注側がどこまで関われるか

    定例ミーティングやレビューに継続して参加し、優先順位の判断にも関われるなら、アジャイル開発と相性がよいです。一方、社内確認に時間がかかる、開発中に細かい判断を続けるのが難しい場合は、ウォーターフォール開発のほうが進めやすいでしょう。

 

この3点を先に確認しておくと、この後のケース別の選び方を見たときにも、自社に合う開発手法を考えやすくなります。

発注する側から見たメリットと注意点

比較表で違いがわかっても、実際に発注するときのイメージがわかりにくいかもしれません。そこで発注者の立場から見たときに、進めやすい点とつまずきやすい点をまとめます。

アジャイル開発を選んだ場合

  • 進めやすい点

    • 途中で考えが変わっても調整しやすい

    • 早い段階でズレに気づきやすい

  • 注意したい点

    • 発注する側も打ち合わせや確認の場に継続して関わる必要がある

    • どの機能を優先するかが社内で決まっていないと、その場で判断が変わり、開発会社との認識がずれやすくなる

ウォーターフォール開発を選んだ場合

  • 進めやすい点

    • 納期や範囲を決めて進めやすい

    • 工程ごとの区切りがわかりやすい

  • 注意したい点

    • 途中変更があると、内容によっては小さな修正でも開発全体に影響が広がり、納期や費用の見直しが必要になることがある

    • 最初の段階で要件の整理や認識合わせが十分でないと、後から仕様の抜けや認識のズレが見つかり、設計のやり直しや追加対応が発生しやすくなる

 

どちらにも、進めやすい点と注意したい点があります。ここまでの違いを踏まえたうえで、次は要件の固まり具合や変更の多さなどを組み合わせながら、自社に合う選び方を見ていきましょう。

【ケース別】アジャイル開発とウォーターフォール開発の選び方

どちらを選ぶかは、要件の固まり具合、変更の多さ、納期の固定度、発注側がどこまで関われるかを組み合わせて考えることが大切です。ここでは、よくある状況に当てはめて、なぜその開発手法が合いやすいのかを見ていきます。

 

たとえば、要件はある程度固まっているけれど、一部は作りながら調整したい場合は、どちらか一方に決めず、ハイブリッド開発を検討するという選択肢もあります。

アジャイル開発が合いやすいケース

要件がまだ揺れやすく、まずは小さく作って確認しながら進めたい場合は、アジャイル開発が合いやすいです。最初から細部まで固めるのが難しい案件では、短い単位で確認できる進め方が向いています。

 

たとえば、業務の流れ自体がまだ定まっていない場合や、使い勝手を見ながら機能を調整したい場合です。この進め方では、開発会社に任せきりにするのではなく、発注者側も定期的に内容を確認しながら進めることが大切です。

 

以下のような場合は、アジャイル開発が向いている可能性があります。

 

  • 開発途中で仕様の変更や追加が起こりそう

  • 週1回程度のレビューや確認の場を持てる

  • 優先度を都度見直せる

  • 完成形を最初から細かく決めきれない

 

アジャイル開発では、どの機能から作るか、今回はどこまで進めるかを、その都度決めていくことになります。そのため、社内で優先順位を決められる人がいるか、確認や返答をスムーズにできるかが大切です。

ウォーターフォール開発が合いやすいケース

どこまで開発するかを早めに決めて、計画に沿って進めたい場合は、ウォーターフォール開発が合いやすいです。途中変更をできるだけ減らし、順を追って進めたい案件に向いています。

 

たとえば、関係者が多く、途中で何度も方向転換するのが難しい場合や、社内承認の前に、何を作るか、今回の開発でどこまでやるかをある程度決めておきたい場合です。発注者側が初期段階で決めることは増えますが、その分、全体の進め方をイメージしやすくなります。

 

以下のような場合は、ウォーターフォール開発が向いている可能性があります。

 

  • 要件や優先度がある程度決まっている

  • 納期や開発範囲を先に整理したい

  • 継続的なレビュー参加が難しい

  • 変更が起きたときは、納期や費用にどのくらい影響するかを確認してから進めたい

 

ウォーターフォール開発では、開発会社との打ち合わせに入る前に、社内で決めておく内容がとても大切です。たとえば、どこまで決まると開発を始められるか、変更が出たときに誰が判断するかをあらかじめ整理しておくと、開発進行中の認識のズレを防ぎやすくなります。

迷うならハイブリッド開発も候補に

要件の一部は先に決めたいけれど、細かな部分は作りながら調整したい場合は、ハイブリッド開発という選択肢もあります。ハイブリッド開発は、全体の進め方はウォーターフォール寄りにしながら、一部の機能はアジャイルのように機能単位で開発して確認し、問題なければ次の機能へ進めます。

 

たとえば、納期や開発する内容の大枠は先に決めておき、画面の使いやすさや細かな機能は途中で調整したいといったケースです。つまり、開発する内容の中で、先に決める部分と、進めながら調整する部分を分けて進めるのが、ハイブリッド開発です。

 

以下のような場合は、ハイブリッド開発が向いている可能性があります。

 

  • 納期や開発する内容の大枠は先に合意し、細かな部分は作りながら詰める

  • 特に重要な機能は先に決め、周辺の機能は優先度を見ながら調整する

 

大切なのは、アジャイル開発とウォーターフォール開発をただ組み合わせることではなく、何を先に決めて、何を進めながら調整するのかを分けておくことです。

 

たとえば、納期や重要な機能は先に決め、画面の細かな使い勝手は開発を進めながら調整する、といった形です。こうした分け方を事前に社内で整理しておくと、開発会社との認識も合わせやすくなります。

アジャイル開発とウォーターフォール開発のよくある質問

ここでは、初めて発注する担当者が迷いやすいポイントをまとめます。

Q. 自社にはアジャイル開発とウォーターフォール開発のどちらが合っているかわかりません。

まず最初に、要件がどこまで決まっているか、途中で変更が起こりそうかの2点を確認しましょう。もし、開発途中で仕様が変わりそうだったり、使いながら調整したい部分が多い場合は、アジャイル開発の方が進めやすい可能性があります。

 

一方、最初に何を作るかや、どこまで開発するかをある程度決めておき、計画どおりに進めたい場合は、ウォーターフォール開発の方が合いやすいです。

 

どちらか迷う場合は、変更はどのくらい起こりそうか、発注側がどの程度打ち合わせや確認に関われるかを確認すると、自社に合う進め方を考えやすくなります。

Q. アジャイル開発にすると納期は守りにくくなりますか?

一概にはいえません。納期をどこまで固定するか、途中でどの機能や作業を調整できるか、発注側がどのくらい早く判断できるかによって進めやすさは変わります。

 

納期を重視するなら、納期を守るためにどの機能を後回しにできるかという調整ルールを、あらかじめ決めておくと考えやすくなります。

Q. ウォーターフォール開発では途中変更ができませんか?

途中変更はできます。ただし、変更内容が納期や他の作業に影響することがあるため、その影響を整理したうえで、関係者が合意して進める形になります。

Q. ハイブリッド開発はよくある選択肢ですか?

要件の一部は先に決めたいけれど、細部は作りながら調整したいという場合には、検討しやすい開発手法です。どこを固定するか、どこを調整するかを最初に分けておくことが大切です。

Q. 初めて発注する場合、最初の打ち合わせで何を確認すればよいですか?

まず確認したいのは、変更をどう扱うか、どの頻度で確認するか、発注側がどの程度関わるかの3点です。この3点が曖昧なままだと、手法選びだけでなく、その後の進め方もぶれやすくなります。

まとめ:自社に合う開発手法を選ぼう

アジャイル開発とウォーターフォール開発の主な違いは、どう進めるかと変更をどう扱うかにあります。要件が固まっていて計画的に進めたいならウォーターフォール開発、要件が揺れやすく確認しながら進めたいならアジャイル開発を検討するのが良いでしょう。

 

迷ったときは、まず自社の状況を整理し、本記事の比較表とケース別の考え方に照らし合わせてみてください。自社の状況に合う進め方を選ぶことで、開発の進め方を判断しやすくなります。