この記事の要点
- ウォーターフォール開発は、要件定義・設計・開発・テストを順番に進め、前の工程に戻らないことを前提にします
- アジャイル開発は、短い期間で作って確かめることをくり返し、優先順位を見直しながら進めます
- 決まっている部分と決まっていない部分を分けて、2つを組み合わせる形もあります
システム開発の進め方には、大きく分けて「ウォーターフォール開発」と「アジャイル開発」があります。最初に全体を決めて順番に作るのがウォーターフォール開発、小さく作って確かめることをくり返すのがアジャイル開発です。
どちらが優れているというものではなく、作るものがどこまで決まっているかで向き不向きが分かれます。はじめての方に向けて、2つの違いと選び方を説明します。
ウォーターフォール開発とは
ウォーターフォール開発とは、要件定義・設計・開発・テスト・リリースの工程を、上から下へ順番に進める開発の進め方です。滝(ウォーターフォール)の水が上から下へ流れ、逆には戻らない様子から、こう呼ばれます。
各工程の終わりに、決めたことや作ったものを確かめてから、次の工程に進みます。最初に全体を決めるため、費用・期間・体制の見通しを立てやすいのが利点です。
気をつけたいのは、途中の変更に手間がかかる点です。テストの段階で「この画面は使いにくい」と気づいても、設計まで戻って直す必要があります。動くものを実際に触れるのが終わりに近い時期になるため、思い違いに気づくのも遅くなりがちです。
ウォーターフォール開発の工程の進み方
各工程の終わりに確かめてから、次の工程に進みます。動くものを触れるのが終わりに近い時期になるため、思い違いに気づくのも遅くなりがちです
アジャイル開発とは
アジャイル開発とは、作るものを小さな単位に分け、短い期間で「作って確かめる」をくり返しながら進める開発の進め方です。アジャイルは、英語で「すばやい」「身軽な」という意味です。
数週間ほどの短い期間(スプリントと呼ばれます)ごとに、優先順位の高いものから作り、動く形にして確かめます。確かめた結果を見て、次の期間に何を作るかを決め直します。アジャイル開発の代表的なやり方にスクラムがあります。
早い時期から動くものを触れるため、使い勝手の問題に早く気づき、変更も次の期間で取り込みやすくなります。一方で、発注する側も期間を通して打ち合わせと判断に関わり続ける必要があり、最初の時点では、全体の費用や終わる時期を細かく決めにくい面があります。
違いを表で比べる
大きな違いは、「中身をいつ決めるか」と「動くものをいつ見られるか」です。
| 比べる点 | ウォーターフォール開発 | アジャイル開発 |
|---|---|---|
| 進め方 | 工程を順番に、1回で進める | 小さな単位で、作って確かめるをくり返す |
| 中身を決める時期 | 最初にまとめて | 作りながら少しずつ |
| 途中の変更 | 前の工程に戻るため、手間が大きい | 次の期間で取り込みやすい |
| 動くものを見られる時期 | 終わりに近い時期 | 早い時期から少しずつ |
| 発注する側の関わり | 最初の要件定義と、最後の確認に多い | 期間を通して続く |
| 費用と期間の見通し | 最初に立てやすい | 範囲を調整しながら決めていく |
どちらが向くか
作るものがはっきり決まっているならウォーターフォール開発、作りながら決めたいならアジャイル開発が向いています。
ウォーターフォール開発が向く場面
- 制度の変更への対応など、作るものがはっきり決まっている
- ほかのシステムや取引先と、使い始める日を合わせる必要がある
- 社内の承認のために、最初に全体の費用と期間を決めておきたい
アジャイル開発が向く場面
- 新しいサービスなど、使う人の反応を見ながら中身を決めたい
- AIを使う仕組みなど、実際のデータで試さないと結果が分からない
- 使い始めた後も、改善や機能の追加を続けたい
アジャイル開発を選ぶ場合は、社内に、優先順位を決められる担当者を置けるかを先に考えておきます。判断する人がいないと、作りながら決める進め方がうまく回りません。
反対に、ウォーターフォール開発を選ぶ場合は、最初の要件定義に十分な時間をかけます。後から変えにくい進め方なので、現場で使う人に早い段階で話を聞き、画面の試作などで思い違いがないかを確かめておくと安心です。どちらの進め方でも、できあがったものを確かめる人と、その方法は、始める前に決めておきます。
組み合わせる形もある
実際の開発では、2つを組み合わせることもよくあります。決まっている部分と決まっていない部分を分けて、進め方を変える考え方です。
たとえば、最初に要件定義で全体の方向と大きな決まりごとを固め、作る部分は短い期間をくり返して進める形があります。会計とつながる部分のように変えにくいところは計画どおりに作り、画面やAIの部分は試しながら作る、という分け方もあります。
変えにくい部分と、試しながら作る部分を分ける
- 変えにくい部分会計とつながる部分などは、計画どおりに作ります
- 画面やAIの部分試しながら作ります
最初に要件定義で全体の方向と大きな決まりごとを固め、作る部分は短い期間をくり返して進める形もあります
契約の形との関係
開発の進め方によって、合う契約の形も変わります。最初に全体を決めるウォーターフォール開発では、完成に対してお金を払う請負契約が使われることが多く、作りながら決めるアジャイル開発では、作業に対してお金を払う準委任契約が使われることが多くあります。
契約の形の違いや、契約のときの注意は、システム開発の請負契約と準委任契約は、何が違うかで詳しく説明しています。最初にどこまで決めておくかの考え方は、要件定義で決めること:はじめての方へもあわせてご覧ください。
当社のご支援
当社のソリューション提供では、まず小さな範囲で試作し、実際のデータで使えるかを確かめてから本開発に進みます。現場に入るFDEでは、技術者がお客様の現場に入り、要件を決めながら試作と改善を短い間隔でくり返します。進め方のご相談はお問い合わせからどうぞ。
- アジャイル開発
- ウォーターフォール開発
- 開発の進め方
この記事に出てくる用語
関連する法令・指針(参考情報)
- 法令
民法 第632条(請負)
請負は、当事者の一方がある仕事を完成することを約束し、相手方がその仕事の結果に対して報酬を支払うことを約束する契約です。
- 法令
民法 第656条(準委任)
委任の規定は、法律行為でない事務の委託にも準用されます。これを準委任と呼び、業務を行うこと自体を約束するシステムの開発支援や運用などの契約が、準委任にあたることがあります。
法令は2026年10月21日時点の内容です。要旨は当社がまとめたもので、条文・判決・指針の全文ではありません。個別の事案への当てはめは、弁護士・社会保険労務士などの専門家にご確認ください。表記の決まりは法令・指針の参考情報と凡例をご覧ください。
このコラムは一般的な情報の提供を目的としたもので、個別の状況への助言ではありません。製品・サービスの名前と内容は、記事の更新日の時点のものです。