アジャイルガイド · アジャイルの基礎
アジャイル開発ライフサイクル:6つのフェーズをわかりやすく解説
アジャイル開発ライフサイクルとは、アジャイル手法でプロダクトを作る際にたどる一連の段階です。最初のアイデアから、毎回動く成果を届ける短いイテレーションの繰り返しを経て、リリース、サポート、そして最終的な廃止に至ります。直線的なライフサイクルと異なり、構築の段階は何度もループし、毎回フィードバックが次の進め方を形作ります。
要点
- アジャイルのライフサイクルは、構想と立ち上げから、イテレーションの繰り返しを経て、リリース、保守、廃止へと進みます。
- 計画、構築、テストは別々のフェーズではなく、すべてのイテレーションで同時に行われます。
- 早期にインクリメントをリリースしてフィードバックを得て、保守作業のためのキャパシティを計画しましょう。
- 公式のモデルは一つではないため、フェーズ名は状況に合わせて調整しましょう。
アジャイルのライフサイクルとは
ライフサイクルは、作業がアイデアから完成したプロダクトへどう流れるかを表します。次の ウォーターフォール ライフサイクルでは、各フェーズ(要求定義、設計、構築、テスト、展開)が順番に一度だけ行われます。アジャイルでは、計画、設計、構築、テストが短いイテレーションの中で同時に行われ、プロダクトは次の形で成長します: インクリメント。以下のフェーズはプロダクトの全体的な歩みを表しており、時間の大半はイテレーションフェーズに費やされます。
6つのフェーズ
| フェーズ | 行うこと | 主なアウトプット |
|---|---|---|
| 1. 構想 | 機会、ユーザー、望む成果を特定し、検討する価値があるかを判断する | 課題の定義、大まかなスコープ、実施可否の判断 |
| 2. 立ち上げ(インセプション) | チームを編成し、プロダクトビジョンに合意し、最初のバックログを作り、ツールと環境を整える | プロダクトビジョン、最初の プロダクトバックログ、チームのワーキングアグリーメント |
| 3. イテレーション(構築) | 価値の小さな単位を計画、構築、テスト、レビューすることを繰り返す スプリント または継続的なフロー | 動作しテスト済みのインクリメント、フィードバック、更新されたバックログ |
| 4. リリース | 最終チェック、文書化、トレーニングを経てユーザーへ展開する | リリースされたプロダクトまたは機能群 |
| 5. 保守(本番運用) | ユーザーをサポートし、欠陥を修正し、通常はさらなるイテレーションでプロダクトを改善し続ける | 修正、機能強化、運用データ |
| 6. 廃止 | プロダクトを撤退させ、ユーザーとデータを移行し、サポートを終了する | 廃止計画、アーカイブされたデータ |
1回のイテレーションの流れ
- 計画: チームはバックログから最も価値の高いアイテムを選び、イテレーションのゴールに合意します。
- 設計と構築: 開発者、テスター、デザイナーが作業を順に引き渡すのではなく、各アイテムに一緒に取り組みます。
- テスト: テストは継続的に行われるため、各アイテムは次を満たします: 完了の定義 を満たしてはじめて完了とみなされます。
- レビュー: チームは動く成果をステークホルダーに見せ、フィードバックを集めます。
- 振り返り: レトロスペクティブで、チームは仕事の進め方について1つか2つの改善に合意します。
- 適応: フィードバックと新しい情報でバックログが更新され、次のイテレーションが始まります。
具体例:予約アプリ
あるジムチェーンは、会員がオンラインでクラスを予約できるようにしたいと考えています。
- 構想(1週間): プロダクトマネージャーは電話予約にスタッフが週約20時間を費やしていることを確認し、予約の大半をオンラインに移行するというゴールを設定します。
- 立ち上げ(2週間): 6人のチームが編成され、ビジョンを書き、40件の ユーザーストーリー を4つにまとめる エピック.
- イテレーション(2週間のスプリント×6): スプリント1でシンプルなクラス時間割を提供し、スプリント2で予約とキャンセルを追加し、その後のスプリントでキャンセル待ち、リマインダー、支払いを追加します。
- リリース: スプリント3の後、基本版が2つのパイロットジムで稼働し、スプリント6の後に全店舗へ展開されます。
- 保守: チームは利用データに基づく修正や新機能のために、小さめのキャパシティを維持します。
- 廃止: 数年後、アプリは新しい会員プラットフォームに置き換えられ、古い予約データは移行されます。
アジャイルのライフサイクルと従来型SDLCの比較
| 従来型(ウォーターフォール)のSDLC | アジャイルのライフサイクル | |
|---|---|---|
| 作業の順序 | フェーズは順番に一度だけ行われる | 構築フェーズを短いイテレーションで繰り返す |
| 要求事項 | 最初に固定 | 優先順位付けされたバックログで進化 |
| テスト | 終盤の独立したフェーズ | 継続的、各イテレーションの中で |
| デリバリー | 最後に一度だけリリース | 頻繁なインクリメント、早期にリリースされることが多い |
| 変更 | 正式な次の手続きで管理: 変更管理 | 想定されており、バックログを通じて吸収される |
| 顧客の関与 | 主に開始時と終了時 | 全期間を通じて、レビューのたびに |
参考: アジャイルとウォーターフォールの比較 で詳しく比較しています。
よくある間違い
- ミニウォーターフォール型のスプリント: あるスプリントで設計をすべて行い、次で構築をすべて行い、その後にテストをすべて行う。
- 立ち上げを省く: 共通のビジョンなしにスプリントを始め、バックログが迷走する。
- リリースしない: 多くのインクリメントを作りながら一度の大規模リリースまで出さずにおき、アジャイルを機能させるフィードバックを失う。
- 保守のキャパシティを忘れる: サポート業務がないかのように毎スプリントを計画する。
- 廃止を無視する: 古いプロダクトを担当者も計画もないまま稼働させ続ける。
このトピックの無料テンプレート
よくある質問
アジャイル開発ライフサイクルのフェーズは何ですか?
一般的なモデルには6つのフェーズがあります:構想、立ち上げ、イテレーション(構築)、リリース、保守(本番運用)、廃止。
アジャイルのライフサイクルはSDLCと同じですか?
ソフトウェア開発ライフサイクル(SDLC)は、ソフトウェアを作る段階を指す一般的な用語です。アジャイルのライフサイクルはSDLCの進め方の一つで、構築の段階を短いイテレーションで繰り返します。
アジャイル開発ライフサイクルで最も長いフェーズはどれですか?
イテレーションフェーズです。チームが何度も繰り返し、最初のリリース後も続くことが多いためです。
アジャイル開発ライフサイクルにおけるイテレーションの長さは?
通常は1~4週間です。多くのチームが2週間の スプリント.
アジャイル開発ライフサイクルに設計フェーズはありますか?
独立したフェーズはありません。設計は各イテレーションの中で継続的に行われ、大まかな設計の一部は立ち上げフェーズで行われます。
アジャイルのライフサイクルでテストはどこで行われますか?
すべてのイテレーションの中で行われます。作業はテストされ、次を満たしてはじめて完了とみなされます: 完了の定義.
スクラムはアジャイル開発ライフサイクルですか?
スクラムはイテレーションフェーズを運営するためのフレームワークです。構想、リリース、廃止のフェーズは定義していません。参考: スクラムとは.
アジャイルのライフサイクルの終了前にリリースできますか?
はい、むしろ推奨されています。早期にインクリメントをリリースすれば、実際のユーザーのフィードバックをより早く得られます。
アジャイルのライフサイクルの立ち上げフェーズでは何が行われますか?
チームを編成し、プロダクトビジョンに合意し、ツールと環境を整え、最初の次を作成します: プロダクトバックログ.
かんばんはアジャイルのライフサイクルにどう当てはまりますか?
かんばんチームは固定のイテレーションを継続的な作業の流れに置き換えますが、構想から廃止までの全体の流れは同じです。参考: かんばんとは.
ソフトウェア以外のチームもアジャイルのライフサイクルを使いますか?
はい。マーケティング、クリエイティブなどのチームも、使える成果を届けてフィードバックを集める短いサイクルという同じ考え方を使っています。参考: アジャイルはソフトウェア専用か.