MENU

【教育担当が覚えておくべき!開発手法】ウォーターフォール開発

ウォーターフォール開発は、ソフトウェア開発手法のひとつです。
あらかじめすべての設計を済ませから開発に入る手法で、アジャイル開発と合わせて2大開発手法と呼ばれることもあります。
本記事ではエンジニアの教育担当なら覚えておくべき、ウォーターフォール開発の特徴やメリット・デメリットを紹介します。

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

ウォーターフォール開発とは、あらかじめ設計・開発手順をしっかり決めてから工程を進める開発手法のことを指します。
はじめにすべての工程を決めるため、スケジュール管理がしやすいのが特徴です。
開発は担当者や責任者、クライアントがひとつひとつの工程をしっかり確認し、問題がなければ完了します。
丁寧なヒアリングと要件定義を行った基本設計をもとにフェーズが進むため、ひとつの工程にトラブルや欠陥があった場合は次に進めません。
品質を重視する時や、人員を確保できる大規模なプロジェクトなどで良く使われる手法です。

ウォーターフォールの開発フロー

ウォーターフォール開発は、あらかじめ全体の機能設計を済ませておきます。
企画→要件定義→設計→実装→テストと段階的に進んでいきます。
全体の設計を済ませてから着手するので、予算や納期など事前に分かりやすいのが特徴です。

ウォーターフォール開発のメリットとデメリット

apple

ウォーターフォール開発のメリット

ウォーターフォール開発は要件定義や設計を固めてから開発するため、全体のスケジュールを把握しやすいのが特徴です。
最初の段階でやるべきことがきっちり決まっているので各担当者に工程を割り振りやすく、作業進行も比較的早くなります。
また各工程が完了してから次のフェーズに進むので、参加者が変更になった場合でも引継ぎしやすいのがメリットといえます。

ウォーターフォール開発のデメリット

ソフトウェア開発では、仕様変更が起こることも珍しくありません。
もし納品物が最初に意図していたものとずれている可能性があった場合、修正に大きな手間と時間がかかります。
ウォーターフォール開発は前段階で完了したものをベースに進んでいきます。
そのためやり直しが発生した場合、各工程をさかのぼって修正しなくてはなりません。
やり直す工数が多いため、最終的な納品日も遅くなってしまいます。

現在も良く使われる開発手法

開発現場ではアジャイル開発が増えてきていますが、ウォーターフォール開発もまだまだ良く使われる手法です。
各工程ごとに分けて確実に工程を進めていけるので、スケジュールやコストを明確にしやすいのがメリットです。
品質を重視する際に活躍するので、アジャイル開発と合わせて覚えておきたい手法です。