G検定(ジェネラリスト検定)
うぉーたーふぉーる
ウォーターフォール
Waterfall
ウォーターフォール(ウォーターフォールモデル)は、要件定義、設計、実装、テストのような開発の段階を、上から下へ順番に進めていくソフトウェア開発の方式です。この方式の図を最初に示した論文として知られるロイスの1970年の論文では、著者自身が、段階を一度ずつ順に進めるだけのやり方はリスクが高いと書き、パイロット版を先に作って試す反復的なやり方を提案していました。
詳しい説明
定義
ウォーターフォールモデルは、ソフトウェア開発を要件定義、設計、実装、テストといった段階に分け、それらを順番に進めていく開発方式を指す呼び名です。前の段階を終えてから次の段階へ進むため、段階が上から下へ流れ落ちるように並びます。滝(waterfall)にたとえた呼び名はこの形から来ています。一般には「一方向に進み、原則として後戻りしない開発方式」として説明されることが多いモデルです。
原論文とその著者
この開発方式の図を最初に示した論文として知られているのが、Winston W. Royce(ウィンストン・W・ロイス)が1970年8月のWESCONで発表した「Managing the Development of Large Software Systems」です。ただし「ウォーターフォールモデル」という呼び名は、この論文の図が後にそう呼ばれるようになったものです。
原論文が明記するリスク
重要なのは、原論文の中身が、通俗的に広まった「段階を一度ずつ順に進めればよい」という姿とは異なる点です。ロイスは段階を順に並べた方式を説明したあとで、"I believe in this concept, but the implementation described above is risky and invites failure."(この考え方自体は信じているが、上記で説明した実装方法はリスクが高く、失敗を招く)と書いています。つまり著者自身が、単純な逐次のやり方の危険性をはっきり書いていました。
手戻りのリスク
ロイスがリスクとして挙げた点の一つは、問題の発覚が遅れることです。論文は、テストの段階で問題が見つかると、要求定義まで後戻りする必要が生じうると指摘しており、そのとき開発は出発点に戻ってしまう("the development process has returned to the origin")と述べています。最後のほうの段階まで進んでから最初の段階へ戻ることになれば、それまでの作業の多くがやり直しになります。
反復を勧めるSTEP 3
そのうえでロイスは、改善の手立ての一つとして、STEP 3「DO IT TWICE」(2回作る)を提案しています。論文は "arrange matters so that the version finally delivered to the customer for operational deployment is actually the second version"(顧客へ最終的に納品する版が、実質的に2回目の版になるように段取りする)と書いています。本番の版を作る前にパイロット版を先に作って試し、そこで分かったことを生かして2回目の版を納品する、という反復を取り入れたやり方です。
まとめ
まとめると、ウォーターフォールモデルの出発点とされる論文は、段階を順に並べる考え方そのものは認めつつも、それを一度きりの逐次の流れとして実行することには失敗の危険があると明記し、パイロット版を先に作るような反復を勧めていました。広く知られた「後戻りしない一方向の開発方式」という像と、原論文の著者の主張とは同じではない、という点を押さえておくことが大切です。
試験で問われること
G検定
- ウォーターフォールモデルは、要件定義、設計、実装、テストのような段階を順番に進める開発方式を指す点を確認する。
- この方式の図を最初に示した論文として知られるのは、Winston W. Royceが1970年に発表した「Managing the Development of Large Software Systems」である点を確認する。
- ロイスが原論文で、段階を単純に順に進める実装方法について、リスクが高く失敗を招くと明記している点を確認する。
- 原論文が、テストの段階で問題が見つかると要求定義まで後戻りする必要が生じうる点を、逐次のやり方の危険として挙げている点を確認する。
- ロイスがSTEP 3「DO IT TWICE」として、パイロット版を先に作り、顧客へ納品する版を実質的に2回目の版にする反復的なやり方を提案している点を確認する。
最終更新日: 2026/09/23