【Q&A】ウォーターフォールとアジャイルの良し悪し

こんにちは、@codeship_techです。

本日の質問がこちら。

ウォーターフォールモデルとアジャイル開発の違いはなんですか?

ということで、開発手法についての質問ですね。

エンジニアを目指す以上、コードを書くだけでなく最低限現場で広く用いられている開発手法への理解は備えておくと就活や転職活動の助けにもなるのではないでしょうか!

それではこちらの質問に答えていきます。

ウォーターフォールモデルとアジャイル開発は開発手法が違います。

ウォーターフォールモデルでは、開発工程が、要求定義→設計→開発→テスト→導入→運用のように進んでいきます。

アジャイル開発では小さな開発サイクルを何度も繰り返すことです。

要求定義→設計→開発→テスト→設計→開発→テストの工程を繰り返し行います。

ウォーターフォールモデル

メリット

全体的な計画を立てやすいこと。
最初に要件定義をして、そのあと設計、構築をしていくので、プロダクトの進捗の管理がしやすいです。

デメリット

最初にしか要件定義できないので、途中で、要件の変更があった時に要件定義まで戻らないといけない。
要件定義を途中で変更できないので、作り始める前にユーザーのニーズを調べておかないといけない。

アジャイル開発

メリット

設計→実装→テストを繰り返すことが当たり前なので、要件の変更があっても柔軟に対応できる
ユーザーのニーズをサービス運営中に意見や感想をもらい、アップデートができる。

デメリット

全体の進捗管理、プロジェクトマネジメントが難しい。

本日は、開発手法の違いをウォーターフォールモデルとアジャイル開発を例に解説しました。