ウォーターフォール開発&アジャイル開発


今回はウォーターフォール開発とアジャイル開発について
メリットデメリット、違いについてリサーチした事を共有しようと思います。

ウォーターフォール開発とは

中長期的且つ、最初の設計が肝心になる場合(機械の製造、造船業など)に用いられる手法

 -主な流れ-
1. 全体の機能設計
2. 計画を決定
3. 計画にしたがい開発を実装

各工程ごとに成果物を作り、各工程の品質をしっかり確保します。

メリット

 1. 全体的な計画を立てやすい
 2. 進捗状況の把握がしやすい
 3. 大規模開発に向いている

デメリット

 1. トラブルが起きた時の差し戻し工数が発生する
 2. 仕様変更を行う時の時間、金銭的コストが大きい
 3. ユーザーからの意見を取り入れにくい

アジャイル開発とは

短期間で開発を見直し、開発期間を大幅に短縮できる手法(ウォーターフォール開発より短期間)

-主な流れ-
1. 大枠のリリース計画を立てる
2. 設計⇨実装⇨テスト
3. ①②サイクルを繰り返す(イテレーションと言う)

メリット

 1. ユーザーの要望に対応しやすい(途中の変更にも臨機応変に対応しやすい)
 2. トラブル起きても差し戻し工数が少ない
 3. 仕様変更に対応しやすい(途中変更の多いサービスに対して進めやすい)

デメリット

 1. 開発の方向性がブレやすい(厳密性優先 < 柔軟性優先 である為)
 2. スケジュール、進捗管理が難しい

選択方法例

アジャイル開発

* ユーザーの意見を重視したアプリケーションを作る場合
* 機能変更が多いWebサービスなどに対応する場合

ウォーターフォール開発

決まった仕様通りに進むプロジェクトの場合

ご覧いただきありがとうございます。
以上でウォーターフォール開発とアジャイル開発です。
どっちがいいと言うわけではなく、目的などによって使い分けるんだなと理解できました。
少しでも役に立つ共有ができたら嬉しいです。
またご意見や、付け足しなどした方がいいと思う事があれば、教えていただけると
大変勉強になるのでぜひよろしくお願い致します。