ブログBlog
アジャイル開発
こんにちは
山根です。
皆様今自分がかかわっている開発がリリースまで至る工程
- ウォーターフォール型開発
- アジャイル型開発
- プロトタイピング型開発
- スパイラル型開発
- DevOps(デブオプス)
- MVCモデル
の内何に当たるのかご存じでしょうか。
今回はアジャイル開発を紹介しようと思います。
正式名は「アジャイルソフトウェア開発」です。
“アジャイル(agile)”という単語の意味は「素早い」「機敏な」。加えて、「頭の回転が早い」というニュアンスが含まれています。
アジャイル開発は現在主流になっている、システムやソフトウェアの開発手法の1つで、『計画→設計→実装→テスト』といった開発工程を機能単位の小さいサイクルで繰り返すのが最大の特徴。
優先度の高い要件から順に開発を進めていき、開発した各機能の集合体として1つの大きなシステムを形成。「プロジェクトに変化はつきもの」という前提で進められるので仕様変更に強く、プロダクトの価値を最大化することに重点を置いた開発手法です。
アジャイル開発のメリットは、臨機応変に柔軟な対応が可能で開発スピードが速いこと。
初めに決定した設計・計画を重視するウォーターフォール開発の場合、トラブルの発生箇所によっては修正にかかる時間やコストが膨大になる可能性があります。しかし、アジャイル開発は機能単位で設計→開発→実装→テストを繰り返しているのでリリースのタイミングが早く、不具合が発生したとしても修正にかかる工数が少なくて済みます。
また、開発途中もコミュニケーションを取りながらフィードバックを行うので、顧客のニーズに最大限応えることができるのも大きなメリットです。
プロジェクト全体の納期はあるものの、アジャイル開発では仕様・要件ごとにスケジュールを設定して開発に臨むため、全体スケジュールのコントロールが難しい傾向にあります。
また、時として顧客とのコミュニケーションを重視する特性が裏目に出てしまうことも……。なかなか正しい要求が導き出せないままプロジェクトが進行してしまったり、場当たり的な開発に陥って開発の方向性がブレてしまうという懸念も抱えています。
詳しい内容は以下の引用文から参照ください