見出し画像

NCニュースの読み方 #24 「ウォーターフォール・モデルから脱却する時期がきている」 (2006年4月10日)

 「数年にわたりソフトウェア開発コミュニティの一部から非難されてきたウォーターフォールが力強く復活しました」。

 Waterfall 2006というカンファレンスの宣伝文句である。そのWebサイト(http://www.waterfall2006.com/)には、いくつものチュートリアルやワークショップが紹介されているのだが、講演者がほとんどアジャイルソフトウェア開発の提唱者ばかりである。開催日は4月1日で、場所はニューヨーク州ナイアガラ・フォールズ――そう、これは(かなり手の込んだ)パロディだ。

 しかし、このパロディ・サイトが契機となって4月3日、東京築地の全国情報サービス産業厚生年金基金会館において「Waterfall Model再考」と題するフォーラムが開催された。主催は、ソフトウェア技術者協会である。最初に、北陸先端科学技術大学院大学の落水浩一郎教授が、Winston Royceの論文「大規模ソフトウェアシステムの開発の管理(Managing the Development of Large Software Systems)」を解説した。ウォーターフォール・モデルの原型と言われてきた有名な論文だ。ここで、私を含めフォーラムの参加者の多くは驚くべき事実を知ることになる。

 実は、この論文はウォーターフォール・モデルの原型ではなく、その問題点を指摘するものだったのである。Royceはウォーターフォール・モデルがリスクの高いものであることを指摘し、そのリスクを排除するため5つの重要な要素をモデルに追加すべきだと主張している(表参照)。

出典:Winston Royce "Managing the Development of Large Software Systems", Proceedings, IEEE WESCON, Aug.1970を元に筆者作成

 中でも注目すべきは第3の要素「二度行え(Do it twice)」である。Royceが推奨するプロセスは、仕様の分析、プログラム設計、コーディング、テスト、利用という開発プロセスを繰り返すというものであり、「運用のために顧客に引き渡されるものは第2版であるようにする」と述べている。この論文の発表は1970年8月。つまり36年もの間、ウォーターフォール・モデルの提唱者だという汚名をきせられてきたことになる。では、誰がウォーターフォール・モデルを世に広めたのだろう。歴史を調べると、それは米国防総省のようだ。

 国防総省が、ウォーターフォール・モデルをソフトウェア開発プロセスの標準として採用し、それが世界中に広まっていったのである。しかし、その国防総省は、ソフトウェア開発の新しい標準として反復型開発のMIL-STD-498を1994年に制定し、反復型の開発を推奨している。(詳細を知りたい方は『初めてのアジャイル開発』(日経BP)の第6章を参照されたい)

 もはや、ウォーターフォール・モデルがソフトウェア開発に適していると主張する専門家は極めて少なくなっている。変化していないのは産業界だ。確かに慣れ親しんだ手法を捨てるのは大変なことにちがいない。しかし、業界全体としてウォーターフォール・モデルから脱却する時期が来ているように思うのだがいかがだろうか。
 

この記事が気に入ったらサポートをしてみませんか?