7-1 アジャイルの概要
Introduction to Agile
1. アジャイルとは
1.1 アジャイル宣言(2001年)
2001年、17人のソフトウェア開発者がユタ州のスキーリゾートに集まり、 「アジャイルソフトウェア開発宣言」を発表した。 この宣言は、従来のプロセス重視の開発に対するアンチテーゼであり、 人と対話、動くソフトウェア、顧客との協調、変化への対応を重視する。
アジャイル宣言では、4つの価値観が示されている。 左側の項目を右側よりも重視するが、 右側の価値を否定しているわけではない点に注意が必要である。
| 重視するもの | より | 左を重視 |
|---|---|---|
| 個人と対話 | より | プロセスやツール |
| 動くソフトウェア | より | 包括的なドキュメント |
| 顧客との協調 | より | 契約交渉 |
| 変化への対応 | より | 計画に従うこと |
アジャイル宣言は「右側に価値がない」とは言っていない。 左側をより重視するという意味である。 ドキュメントや計画も適切に行う必要がある。 「アジャイルだからドキュメントは書かない」は誤解である。
1.2 アジャイル12の原則
アジャイル宣言の背後には、12の原則がある。 これらの原則は、日々の開発活動における指針となる。 単にスクラムのセレモニーを実施するだけでなく、 これらの原則を理解し、実践することがアジャイルの本質である。
| 番号 | 原則 |
|---|---|
| 1 | 顧客満足を最優先し、価値あるソフトウェアを早く継続的に提供 |
| 2 | 要求の変更を歓迎する(たとえ開発の後期でも) |
| 3 | 動くソフトウェアを短い間隔で頻繁にリリース |
| 4 | ビジネス側と開発者が日々一緒に働く |
| 5 | 意欲ある人々を集め、環境と支援を与え、信頼する |
| 6 | 情報伝達の最も効率的な方法は対面での会話 |
| 7 | 動くソフトウェアが進捗の主な尺度 |
| 8 | 持続可能なペースで開発を維持 |
| 9 | 技術的卓越性と良い設計への継続的な注意 |
| 10 | シンプルさ(やらない仕事を最大化)が本質 |
| 11 | 最良のアーキテクチャは自己組織的チームから |
| 12 | 定期的に振り返り、やり方を調整 |
2. 従来型開発との比較
2.1 ウォーターフォール vs アジャイル
ウォーターフォール型開発とアジャイル開発は、 根本的なアプローチが異なる。 ウォーターフォールは計画駆動であり、 最初に全体を計画してから順次進める。 一方、アジャイルは適応駆動であり、 短いサイクルで学びながら進める。
| 観点 | ウォーターフォール | アジャイル |
|---|---|---|
| 計画 | 詳細な事前計画 | 適応型計画 |
| 要件 | 最初に確定 | 変化を前提 |
| フェーズ | 順次、一方向 | 反復、インクリメンタル |
| 納品 | 最後に一括 | 継続的に少しずつ |
| 顧客関与 | 最初と最後 | 常時 |
| ドキュメント | 重視 | 必要最小限 |
| 変更 | コストが高い | 歓迎 |
2.2 アジャイルの適用場面
アジャイルはすべてのプロジェクトに適しているわけではない。 要件が不確実で変化が多い場合、イノベーションを追求する場合に 効果を発揮する。一方、要件が明確で変更が少ない場合、 規制が厳しい領域では、従来型の方が適していることもある。
| 適している | 注意が必要 |
|---|---|
| 要件が不確実 | 要件が明確で固定 |
| 変化が多い市場 | 規制が厳しい領域 |
| イノベーション | 大規模基幹システム |
| 小〜中規模チーム | 地理的に分散したチーム |
アジャイルはすべてのプロジェクトに適しているわけではない。 プロジェクトの特性、組織文化、チームの成熟度を考慮して 適切なアプローチを選択すべきである。 盲目的にアジャイルを採用することは避けるべきである。
3. 主なアジャイル手法
アジャイルは特定の方法論ではなく、価値観と原則のセットである。 その下に、スクラム、XP、カンバンなど複数の手法が存在する。 これらは互いに排他的ではなく、組み合わせて使用されることも多い。
| 手法 | 特徴 | フォーカス |
|---|---|---|
| スクラム | ロール、イベント、成果物を定義 | プロジェクト管理 |
| XP | 技術的プラクティス重視 | エンジニアリング |
| カンバン | フロー最適化、WIP制限 | プロセス改善 |
| リーン | ムダの排除、価値の最大化 | 効率化 |
4. アジャイルマインドセット
4.1 重要な考え方
アジャイルの本質は、プラクティスやツールではなく、 マインドセット(考え方)にある。 スクラムのセレモニーを実施していても、 マインドセットが伴わなければ効果は限定的である。
| マインドセット | 説明 |
|---|---|
| 顧客価値重視 | 常に顧客にとっての価値を考える |
| 早期・継続的フィードバック | 早く作り、早くフィードバックを得る |
| 失敗から学ぶ | 失敗を恐れず、学びの機会とする |
| 自己組織化 | チームが自ら考え、決定する |
| 継続的改善 | 常により良い方法を探す |
アジャイルは「やり方」ではなく「あり方」
スクラムのセレモニーを実施するだけではアジャイルではない。 アジャイルの価値観と原則を理解し、チームの文化として 根付かせることが重要である。 形だけを真似ても、本質的な効果は得られない。
[1] Beck, K. et al. (2001). Manifesto for Agile Software Development.
[2] Sutherland, J. (2014). Scrum: The Art of Doing Twice the Work in Half the Time.