アジャイル開発(agile development)
- テクノロジ系
- ソフトウェア開発管理技術
- 基本情報
- 応用情報
- 重要度 ★★★★☆
短い期間の反復をくり返し、動くものを確かめながら要求の変化に対応していく開発手法。
もう少し詳しい説明
アジャイル開発は、短い反復をくり返しながら進める開発手法です。
「アジャイル(agile)」は素早い、機敏なという意味の英語です。速く作ることではなく、変化に素早く対応できることを指しています。
いちばんの特徴は、1回の反復ごとに、動くものができるという点です。
ウォーターフォールとの違い
工程を順に進めて前へ戻らない進め方をウォーターフォールモデルと呼びます。滝の水が下へ落ちるだけで戻らないことからの名前です。
| ウォーターフォール | アジャイル | |
|---|---|---|
| 要件 | 最初に固める | 反復ごとに見直す |
| 動くものが出る時点 | 最後 | 反復ごと |
| 変更への態度 | 起きないように抑える | 起きる前提で受け入れる |
| 向いているもの | 作るものが決まっている | 作りながら決めていく |
どちらが新しくて優れている、という話ではありません。 変更が起きにくく、範囲と期限を先に確定させたい開発では、ウォーターフォールのほうが管理しやすくなります。
何を大事にしているのか
考え方は「アジャイルソフトウェア開発宣言」として整理されており、次の4つの対比で語られます。
- プロセスやツールよりも、個人と対話を
- 包括的なドキュメントよりも、動くソフトウェアを
- 契約交渉よりも、顧客との協調を
- 計画に従うことよりも、変化への対応を
宣言では、前半(プロセスやツールなど)を左記、後半(個人と対話など)を右記と呼び、左記にも価値があることを認めたうえで、右記により価値をおくと述べています。
ここで大事なのは、前半に価値がないとは言っていないことです。ドキュメントも計画も作りますが、比べたときには後半を優先する、という意味になります。「アジャイルだから設計も文書も不要」と書かれた選択肢は、この点で誤りです。
スクラム:いちばんよく出る進め方
アジャイルは考え方の総称で、具体的な進め方はいくつもあります。試験でよく出るのがスクラムです。
反復の単位をスプリントと呼び、1〜4週間程度で区切ります。期間は固定で、間に合わなければ期間を延ばすのではなく、作るものを減らして調整します。
役割は3つです。
| 役割 | やること |
|---|---|
| プロダクトオーナー | 何を作るかの優先順位を決める |
| スクラムマスター | 進め方を支え、妨げを取り除く |
| 開発者(開発チーム) | 実際に作る |
3つ目は、以前は「開発チーム」と呼ばれていましたが、現在のスクラムガイドでは「開発者」という呼び方になっています。試験ではどちらの言葉でも出るので、同じものだと思って構いません。
スクラムマスターは管理者ではありません。指示を出して人を動かす役ではなく、チームが進めるように場を整える役です。ここは選択肢でよく入れ替えられます。
よく出る言葉も整理しておきます。
| 言葉 | 意味 |
|---|---|
| プロダクトバックログ | 作りたいことを優先順位順に並べた一覧 |
| デイリースクラム | 毎日短時間行う、進捗と問題の共有 |
| スプリントレビュー | スプリントの終わりに、成果物を関係者に見てもらう場 |
| ふりかえり(レトロスペクティブ) | 進め方そのものを見直す場 |
| バーンダウンチャート | 残作業量の推移を折れ線で表した図 |
スプリントレビューは成果物、ふりかえりは進め方。 見る対象が違う2つなので、並べて覚えてください。
XP:作り方の実践
もう1つよく出るのが XP(エクストリームプログラミング)です。こちらはプラクティス(実践)の集まりとして示されているのが特徴で、名前がそのまま選択肢になります。
- ペアプログラミング … 2人1組で、1つの画面を見ながら書く
- テスト駆動開発 … テストを先に書いてから、それが通るように実装する
- リファクタリング … 外から見た動きを変えずに、中身を整理し直す
- 継続的インテグレーション … 書いたものを頻繁に統合し、そのつどテストする
- 計画ゲーム … 顧客と開発側が一緒に、次に何を作るかを決める
- 小さなリリース … 短い間隔で、動くものを繰り返し出す
- コーディング標準 … 書き方をそろえ、誰のコードでも読めるようにする
作り方の実践だけでなく、計画ゲームのように進め方の実践も含まれます。「XPのプラクティスはどれか」という形で問われたときに、開発中の作業だけを探すと取りこぼします。
テスト駆動開発は順番が逆なのが特徴です。「実装してからテストを書く」と説明されていれば誤りです。
覚え方:反復ごとに動くものが出る
アジャイルの説明はどれも、この1点に行き着きます。
反復ごとに動くものが出るから、途中で見てもらえる。見てもらえるから、違っていれば次の反復で直せる。だから変化に対応できる。
逆にいえば、「最後にまとめて」と書かれていたら、それはウォーターフォールの説明です。選択肢の判断はここだけで足ります。
試験ではこう出る
科目A(旧・午前)の開発技術分野で頻出です。多いのは、アジャイル開発やスクラムの用語を説明と結び付けさせる問題と、ウォーターフォールと並べて特徴を選ばせる問題です。スプリント、プロダクトバックログ、ふりかえり、ペアプログラミング、テスト駆動開発、リファクタリングあたりは、そのまま名前を問われます。応用情報では、プロジェクトの状況を示してどちらの進め方が適するかを判断させる形も出ます。
引っかかりやすいのは、アジャイルを「文書を作らない」「計画しない」開発だと説明した選択肢です。宣言が言っているのは優先順位であって、不要だとは言っていません。もう1つ、スプリントの期間は固定という点も狙われます。終わらないときに延ばすのではなく、入れるものを減らす、という向きで覚えておいてください。
関連する用語
- ウォーターフォールモデル
- 工程を順に進め、原則として前へ戻らない進め方。アジャイルと対にして問われる
- スクラム
- アジャイル開発の代表的な進め方。スプリントという反復と、3つの役割で進める
- XP(エクストリームプログラミング)
- アジャイルの手法の1つ。ペアプログラミングやテスト駆動開発などの実践が有名
- 要件定義
- 何を作るかを決める工程。アジャイルでは、先に固めきらず反復のたびに見直す
- リファクタリング
- 外から見た動きを変えずに、プログラムの中身を整理し直すこと
- WBS
- 作業を分解して並べたもの。作る範囲が先に決まる進め方と相性がよい
ミニクイズ
スクラムにおけるスプリントの説明として、最も適切なものはどれか。
正解は 4番:1〜4週間程度の一定期間で区切った開発の反復単位であり、その終わりに動作するソフトウェアを作り上げる
スプリントは、スクラムにおける反復の単位です。期間をあらかじめ固定し、その終わりには動作するソフトウェアができている状態を目指します。「毎日決まった時刻に短時間集まる会議」はデイリースクラムです。「優先順位を付けて並べた一覧」はプロダクトバックログで、ここから次のスプリントで扱う分を取り出します。「残作業量の推移を折れ線で表した図」はバーンダウンチャートで、進捗を見えるようにする道具です。いずれもスクラムの用語ですが、スプリントは期間そのものを指す、という点で区別できます。
最終更新:2026-09-18