こんにちは!ブレイブソフトのBSE担当のトゥエットです。
今回はアジャイル開発についてご紹介させていただきます。
目次
アジャイル開発とは
アジャイル開発と従来型開発
アジャイル開発のメリット、デメリット
どんな時にアジャイルを使うか
まとめ
1.アジャイル開発とは
アジャイル(Agile)とは、直訳すると「素早い」「機敏な」「頭の回転が速い」という意味です。アジャイル開発は、システムやソフトウェア開発におけるプロジェクト開発手法のひとつで、大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返して開発を進めていきます。
また簡単にいうと、アジャイルとは、常に改善している状態・より良いものを目指している状態です。
2.アジャイル開発と従来型開発(ウォーターフォール)の比較
どんなプロジェクトでも以下の3つ要因で構成されています。
- Scope…何を作るか
- Time … どれだけの時間をかけるか
- Cost … どれだけのお金をかけるか
それぞれの要因でアジャイル開発と従来型開発を比較すると以下の違いが出てきます。
3.アジャイル開発のメリット及びデメリット
メリット
- 不具合が発覚した際に戻る工数が少ないこと
- アジャイルは最速で試作品を立ち上げることができるので、デモを使った評価やテストも早い段階で可能ということになります。
- 計画段階で綿密な仕様を決めないため、開発途中でユーザーとコミュニケーションを取りながらフィードバックを行い、確認をしながら進められます
デメリット
- 最初にプロジェクトの全体像が見えず、予算の見積もりを出すのが困難なこと
- 計画段階で厳密な仕様を決めていないため、開発の方向性がブレやすいこと
- アジャイル開発では計画を詳細に立案しないため、スケジュールや進捗具合が把握しにくくコントロールが難しくなります。
4.どんな時にアジャイルを使うか
以下のような場合、アジャイル開発を使うと、アジャイルのメリットが有効になると思います。
- お客さんのニーズ、要求などが頻繁に変わる場合
- 最初からの要求が曖昧で、範囲も未確定の場合
- 製品の仕様が可変、創造性が優先な場合
- プロジェクトのタスクが細かく分割でき、短期間で対応可能な場合
- デモ的なプロジェクトの場合
逆に以下のような場合には、アジャイル開発を使わないほうがよい
- 最初から要求がはっきり確定される場合
- お客様とのコミュニケーション、連絡が難しい場合
- 過去の実績の中に同様なプロジェクトがあり、ソリューション、技術などが確定される場合
5.まとめ
そろそろまとめてみます。
アジャイル開発とは、固定チームで、短い時間で小さな機能を作る、を繰り返す手法です。
チームを固定にすることで、無駄な引継ぎドキュメントを作らずにすみ、チーム自体の継続的なスキルアップによってシステムの開発速度と品質を高めることができます。
システムを小さく分割することで、システム自体の良し悪しの検証が可能になり、より良いシステムを目指すことできます。
いくつかデメリットがあるが、適切的なプロジェクトにアジャイル開発を適用すると、
より品質、コストが改善できると思いますので、今後ともアジャイル開発を選定するかご検討ください。
参考サイト
https://hnavi.co.jp/knowledge/blog/agile_software_development/
https://techacademy.jp/magazine/12072
https://qiita.com/567000/items/33c8821f014885024577