アジャイル開発の利点について
技術質問対策の一環として、技術用語に関して簡潔にまとめてアウトプットしていきます。
今回は「アジャイル開発の利点」について。
アジャイル開発の一番の利点は、「顧客の要望に臨機応変に対応できること」です。
「計画」「設計」「実装」「テスト」からなる一つのサイクル(イテレーション)を、1〜2週間ですばやく繰り返すことにより、リスクを最小化して、変更に強い開発の進め方が実現出来ます。
利点を簡潔にまとめると、
1.優先度の高い重要な機能から着手できる。
2.実際に、動く画面・機能を試すことができるので、仕様の間違いや要求漏れに早い段階で気づくことができる。
3.要求と実際のプロダクトの間に誤りが発生した場合でも、なぜ発生したかを分析することで、顧客とエンジニアの情報の伝え方、確認の方法が向上していく。
4.開発の途中で仕様変更が生じた場合、未着手の部分は変更された内容で実装でき、すでに実装済みの場合でも修正の影響範囲は限定される。
といった感じでしょうか。
続いて、アジャイル開発の流れを例を挙げて説明すると、
①顧客とエンジニアが少数精鋭の共同開発チームを作る。
(開発するプロダクトの規模によっては同時に複数のチームを立ち上げることも)
②開発範囲全体をいくつもの短い範囲、おおむね2週間程度でできると思われる範囲に区分し、業務プロセスの優先度を考慮して、どの範囲から着手するかを決定する。
③決められた期間内に、その範囲の要求の決定、実装、テスト、修正、リリースを行う。
④リリースできた機能や残っている業務プロセスの範囲を検討し、次に着手する優先すべき区分を決める。
⑤上記②〜④の流れを繰り返す。
といった流れになります。
まとめると、実際に使えるプロダクトを作ることを重視し、変化にできるだけ柔軟に対応し、チームの協調と個人の活躍を動機付け、プロダクト価値の最大化を目指すことに特徴があると言えるでしょう。