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

ウォーターフォールと呼ばれる開発手法は、1970年ごろ提唱されました。

ウォーターフォールとはつまり「滝」のこと。滝のように上から下に流れ落ちていくように、作業工程を管理します。

最初に要件を定義するところからはじめて、設計、テスト、運用・保守に到るまで、細かくフェーズ管理を行います。

※本ページにはPRが含まれます。

ウォーターフォールモデルの特徴

ウォーターフォールモデルの流れを細かく解説すると、まず「要件定義」を行い、その後外部設計に移ります。その後内部設計、そして実装。実装が終わったら単体テスト、そして結合テスト、その後実際にユーザーを想定したユーザーテストに移ります。そこまでテストが終われば次は本番移行。あとはそのシステムを運用・保守します。

時系列ごとに工程が分割されている

ウォーターフォールは上流から下流に工程が流れていく設計を行います。その流れていく過程は、時系列で分けられます。時間が進めば進むほど、工程も下に下がっていくのです。

何月までに要件定義を終わらせて、何月から設計、実際に実装するのは何月か…。これらをあらかじめ決めておくのが、ウォーターフォールモデルです。

工程を一つずつ潰していく

ウォーターフォールモデルは、いま取り掛かっている工程が終わらないと次の工程に移ることができません。

常に上の工程が完了していることを期待して、ウォーターフォールモデルが組まれているのです。

前工程にミスが無いことが前提の手法

前工程にミスがないことを期待しているので、今とりかかっている工程より前工程にミスがあった場合、そのミスを修正するのは大変です。極端な例を言うと、システムの実装時にミスが見つかったとしたら、さらに上のシステム設計、開発から見直す必要があるのです。

それほど大掛かりな修正は珍しいかもしれませんが、それほどのリスクを孕んでいる開発手法であるということです。

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

それでは、ウォーターフォールモデルにはどんなメリットがあるのか、考えましょう。

まず、事前の計画で詳細な計画を立てやすいという大きなメリットがあります。今後どんな事態が起こるのか、事前に想定できるのはシステム開発において大きなメリットです。

さらに、資金面のメリットもあります。ウォーターフォールモデルでの開発を行えば、工程を分割して、フェーズ終了ごとに請求を出すことができるのです。大掛かりなシステム開発において、当初に開発資金をすべて調達するのは難しいです。ウォーターフォールモデルなら、この心配がありません。

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

もちろん、ウォーターフォールモデルにはデメリットもあります。

まずは、前述した通り、前工程に戻ることが難しい点。

さらに、当初予定していた要件定義から、後にユーザーとの検討の結果仕様変更が見つかった場合。この時、ウォーターフォールモデルの前工程に戻るのが難しい性質もあり、かなり大掛かりな修正が求められるケースがあります。

修正に大きな負荷がかかるのが、ウォーターフォールモデル全体に潜む問題点だと言えるでしょう。

日本の多くの企業で「ウォーターフォールモデル」が取り入れられている

ウォーターフォールモデルは、大規模なシステム開発で採用されており、日本国内で多くの企業で採用されている手法です。

事前にしっかり準備して、いざ本作業に取り掛かるのは、システム開発において効率的ですよね。さらに昔から取り入れられていた手法なので、先人のノウハウが積み重なっているのも大きなメリットですよね。

今後はウォーターフォールモデルが廃れていくかも

しかし、中にはウォーターフォールモデルは時代遅れであるという声も上がっています。

最近のシステム開発環境は以前より様変わりしており、一日に何度も本番にデプロイできる環境が整っています。海外ではもっと新らしい手法を取り入れた開発を行っているので、ウォーターフォールモデルでは今後辛くなるのかな、という意見も理解できます。

今後はアジャイル型開発が主流になっていくかもしれませんね。

抑えておいて(少なくとも今は)損がない開発手法

しかしまだまだアジャイル型開発を扱っておらず、ウォーターフォールモデル主流でシステム開発を行う会社が、少なくとも日本では多いということもあります。

日本で働くIT技術者は、避けて通れない開発手法。何にせよ習得しておいて損はないでしょう。

まとめ

大掛かりなシステム開発において採用されることが多いのが、このウォーターフォールモデル。

最近はアジャイル型開発を行う企業も多くなっているものの、まだまだウォーターフォールモデルでの開発を行う会社が多いのも事実。覚えておいて損はないでしょう。

大掛かりなシステム開発において、事前に細かい目安を立てることができる。フェーズ終了ごとに資金調達ができるなど、ウォーターフォールモデルならではの利点も多く揃っています。