Webシステム

アジャイル開発とは?スクラムの進め方・ウォーターフォールとの違いをわかりやすく解説

「アジャイルで進めたい」という言葉は開発の現場で頻繁に交わされる一方、その中身は「速い開発」程度の理解で止まっていることも少なくありません。本記事では、アジャイル開発の定義と考え方、ウォーターフォールとの違い、代表的な手法であるスクラムの進め方、そして自社のプロジェクトに向くかどうかの判断基準までを解説します。

まとめ:アジャイル開発とは、短い反復で動くソフトウェアを作りながら要件を確かめていく開発の進め方

アジャイル開発とは、開発期間を1〜4週間程度の短い反復(イテレーション/スプリント)に区切り、反復ごとに動くソフトウェアを完成させながら、フィードバックをもとに次に作るものを決めていく開発アプローチの総称です。要点は次の通りです。

  • アジャイルは特定の技法ではなく、2001年の「アジャイルソフトウェア開発宣言」に示された価値観に基づく進め方の総称
  • ウォーターフォールとの本質的な違いは速度ではなく、「仕様変更を例外と見るか、前提と見るか」という要件への向き合い方
  • 代表的な手法はスクラムで、役割・イベント・作成物が明確に定義されているため導入の足がかりにしやすい
  • 要件が固まりきらない新規サービスや業務改善の探索フェーズに向き、要件と納期が確定している案件では従来型に分がある
  • 発注側の継続的な参画が前提となるため、契約形態(準委任が中心)と社内体制をセットで判断する必要がある

アジャイル開発の基本を理解する

アジャイル開発の定義と成り立ち

アジャイル(agile)は「機敏な」を意味する英語で、ソフトウェア開発の文脈では、変化に適応しながら価値のあるソフトウェアを継続的に届ける進め方を指します。起点となったのは、2001年に17名の技術者がまとめた「アジャイルソフトウェア開発宣言」です。この宣言は「プロセスやツールよりも個人と対話を」「包括的なドキュメントよりも動くソフトウェアを」「契約交渉よりも顧客との協調を」「計画に従うことよりも変化への対応を」という4つの価値を掲げており、左側の項目にも価値を認めたうえで右側をより重視する、という比較の形で書かれている点が特徴です。

誤解されやすいのは、アジャイルが「ドキュメントを書かない開発」「計画しない開発」だという解釈です。宣言の原文が示す通り、ドキュメントも計画も否定されていません。反復のたびに計画を見直し、必要十分な文書を維持するという、むしろ計画行為の頻度が高い進め方だといえます。

ウォーターフォールとの違い

ウォーターフォールは、要件定義・設計・実装・テストという工程を順に完了させ、原則として前工程に戻らない進め方です。全体の見通しと計画の立てやすさに優れる一方、要件の誤りが終盤のテスト工程まで発覚しにくい構造を持ちます。アジャイルは工程を反復の中に畳み込み、短い周期で「動くもの」を確かめることで、誤りの発見を早める構造を取ります。

両者の違いは優劣ではなく、要件の確定度合いへの適応です。法制度対応のように要件が動かない開発ではウォーターフォールの計画性が生き、ユーザーの反応を見なければ正解が分からない新規サービスではアジャイルの適応力が生きます。実務では、全体の枠組みをウォーターフォール的に管理しつつ、開発部分を反復で回すハイブリッドな形も広く採られています。

代表的な手法:スクラム・カンバン・XP

アジャイルという傘の下には複数の手法があります。もっとも普及しているのはスクラムで、後述する役割とイベントの枠組みが明確なため、チームの共通言語を作りやすい手法です。カンバンは作業の流れを可視化し、同時に進める作業量を制限することで流れを改善する手法で、運用保守のように要求が随時発生する業務と相性が良いとされます。XP(エクストリーム・プログラミング)はテスト駆動開発やペアプログラミングなど技術面のプラクティスに重心があり、スクラムと組み合わせて使われる場面が目立ちます。

スクラムの進め方を検討する

3つの役割

スクラムでは、何を作るかの優先順位に責任を持つプロダクトオーナー、スクラムの仕組みが機能するよう支援するスクラムマスター、実際に作る開発者、という3つの役割でチームを構成します。受託開発でアジャイルを採る場合、プロダクトオーナーは発注側が担うのが原則です。優先順位の判断を開発会社に委ねてしまうと、「作ったものが事業の狙いとずれる」というアジャイルで防ぎたい事態がそのまま起きてしまいます。

スプリントと主要イベント

スクラムでは、1カ月以内の固定長の期間をスプリントと呼び、この単位で開発を反復します。各スプリントは、何を作るかを決めるスプリントプランニングで始まり、日々の状況を同期するデイリースクラム、成果物を関係者に見せてフィードバックを得るスプリントレビュー、チームの進め方自体を改善するレトロスペクティブ(振り返り)で締めくくられます。要求はプロダクトバックログという優先順位付きの一覧で管理し、上位の項目から着手していく運用です。

向くケース・向かないケース

アジャイルが力を発揮するのは、要件の不確実性が高い開発です。新規事業のプロダクト、ユーザーの反応で仕様が変わる社内システムの改善、段階的に対象業務を広げたい基幹周辺の開発などが典型といえます。逆に、要件・納期・予算のすべてが契約で固定されている開発や、一度のリリースで全機能が揃っていなければ意味がないシステム(例:法定帳票の一括対応)では、反復の利点が生きにくく、従来型の計画駆動が向きます。

導入を判断するポイント

契約形態と発注側の体制

アジャイルの受託開発は、成果物を固定する請負契約と相性が悪く、期間と体制に対して対価を払う準委任契約が中心になります。発注側には、プロダクトオーナーとして週に数時間以上を確保できる担当者、スプリントレビューに参加して判断を返せる関係者が必要です。この参画コストを払えないままアジャイルの契約だけを結ぶと、優先順位が決まらず開発が空転するため、体制の確保を契約前に判断してください。

アーキテクチャとの関係

反復的に機能を足していく進め方は、変更しやすい構造のソフトウェアと組み合わせてこそ機能します。最初から複雑な分散構成を組む必要はなく、単一の構造から始めて必要に応じて分割していく判断も有力です。この論点はモノリスとマイクロサービスの違いで整理しています。サービスを分割する際の設計思想については、SOAとマイクロサービスの違いもあわせて確認すると判断材料が増えます。

よくある失敗パターン

導入の失敗にも型があります。もっとも多いのは「名ばかりアジャイル」で、スプリントという呼び名だけを導入し、レビューでのフィードバックも計画の見直しも行わないまま、単に短納期のウォーターフォールを繰り返してしまうパターンです。次に多いのが、プロダクトオーナー不在のまま開発だけが回り、優先順位の判断が積み残されて手戻りが膨らむパターンといえます。振り返り(レトロスペクティブ)を省略してしまい、進め方が改善されないまま同じ問題を繰り返すケースも目立ちます。いずれも枠組みの形だけを真似て、検査と適応というアジャイルの中核を落としたことが原因です。

小さく始める導入ステップ

全社の開発プロセスを一度に切り替える導入は失敗しやすく、1チーム・1プロダクトで試行して学びを貯める始め方が定石です。外部の開発会社と組む場合は、アジャイルでの受託実績と、発注側の役割を事前に説明してくれるかどうかを見極めの基準にしてください。当社(株式会社一創)も業務システム開発において、案件の性質に応じた進め方の選定を含む上流工程からの支援に対応しています。

アジャイル開発に関するよくある質問(FAQ)

アジャイル開発は本当に速いのですか?

総開発期間が必ず短くなるわけではありません。速いのは「最初の動くものが出るまで」と「変更要求への反応」であり、機能総量あたりの工数はウォーターフォールと大差ない、という理解が実態に近いといえます。価値の高い機能から先に届く点を「速さ」と呼んでいる、と捉えるのが正確です。

アジャイルでは見積もりができないのでは?

固定スコープの一括見積もりは馴染みませんが、見積もり自体は行います。体制と期間から総額の上限を定め、その枠内で優先順位の高いものから作る、という予算管理が基本形です。スコープではなく予算と期間を固定する、という発想の転換が要点になります。

ドキュメントは作らなくてよいのですか?

作ります。省くのは「読まれない網羅的な文書」であって、運用保守に必要な設計情報、判断の記録、利用者向けの説明は維持する対象です。何を文書として残すかをチームで明示的に合意しておくことが、後任者やベンダー交代時のリスクを抑えることにつながります。

スクラムのスプリント期間はどう決めればよいですか?

1〜4週間の範囲で、フィードバックを得たい頻度と、計画・レビューなどイベントの負担のバランスから決めます。迷う場合は2週間から始め、振り返りで長短を調整するチームが多数派です。期間を頻繁に変えるとリズムが崩れるため、いったん決めたら数スプリントは固定することを推奨します。なお、レビュー対象の準備が毎回間に合わないようであれば、期間ではなく1スプリントに詰め込む量を見直す方が先決です。

ウォーターフォールからアジャイルへ途中で切り替えられますか?

プロジェクトの途中での全面切り替えは混乱が大きく、推奨しにくい選択です。現実的なのは、次のフェーズや次の案件から部分的に反復型を試す方法、あるいは保守・改善フェーズに入ったタイミングでカンバン型の運用に移す方法です。切り替えには契約形態の変更も伴うため、開発会社と早めに協議してください。

関連記事

資料請求

RELATED POSTS 関連記事