ウォーターフォールと比較したアジャイルの特徴
学習型予測
■アジャイル
開発の工程をイテレーション(繰り返)しながら誤差計測と誤差の原因を学習(反省)しながら次のイテレーションへ反映する
■ウォーターフォール
一発勝負で、かなり先の未来まで予測しなければならない
属人化の防止
■アジャイル
二つのタスクを二人で実施することで、どちらかがダウンしても「100%停止する」ということはない
■ウォーターフォール
各工程ごと専門家が受け持つので、使いまわしができない
分割統治法
■アジャイル
問題の範囲を限定することで、問題をシンプル化する
シンプル化で管理工数を削減できる
■ウォーターフォール
全体にわたって影響を把握しなければならず複雑化する
1イテレーションの規模は一定
■アジャイル
QCDのうち可変できるのは成果物の量
・品質:一定
・コスト:人数・期間=一定
・納品:納品規模=可変
■ウォーターフォール
工程ごとに必要な人数、必要な人材がばらつく
ドキュメントの最小化
■アジャイル
内情が知れた中では、工程間で引継ぎは最小限で済む
引継ぎ用のドキュメントが簡略化できる
■ウォーターフォール
次工程の作業者が変わり、かつ視点の変換が生じるので、そこで齟齬やバグが混在する
定番
アジャイルソフトウェア開発宣言
私たちは、ソフトウェア開発の実践
あるいは実践を手助けをする活動を通じて、
よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、
包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、
計画に従うことよりも変化への対応を、
価値とする。すなわち、左記のことがらに価値があることを
認めながらも、私たちは右記のことがらにより価値をおく。
アジャイル宣言の背後にある原則
私たちは以下の原則に従う:
顧客満足を最優先し、
価値のあるソフトウェアを早く継続的に提供します。
要求の変更はたとえ開発の後期であっても歓迎します。
変化を味方につけることによって、お客様の競争力を引き上げます。
動くソフトウェアを、2-3週間から2-3ヶ月という
できるだけ短い時間間隔でリリースします。
ビジネス側の人と開発者は、プロジェクトを通して
日々一緒に働かなければなりません。
意欲に満ちた人々を集めてプロジェクトを構成します。
環境と支援を与え仕事が無事終わるまで彼らを信頼します。
情報を伝えるもっとも効率的で効果的な方法は
フェイス・トゥ・フェイスで話をすることです。
動くソフトウェアこそが進捗の最も重要な尺度です。
アジャイル・プロセスは持続可能な開発を促進します。
一定のペースを継続的に維持できるようにしなければなりません。
技術的卓越性と優れた設計に対する
不断の注意が機敏さを高めます。
シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
最良のアーキテクチャ・要求・設計は、
自己組織的なチームから生み出されます。
チームがもっと効率を高めることができるかを定期的に振り返り、
それに基づいて自分たちのやり方を最適に調整します。