2016.2.1 (Mon)
キーマンズボイス(第14回)
株式会社ネクスト 代表取締役社長 井上 高志 氏概要
ウォーターフォール型とは、システム開発のひとつの形態であり、開発上の工程を複数に分け、工程の順序通り開発を行う形態を指す。システム開発の形態としては最も古くから存在し、一般的な形態といえる。具体的には、「要件定義」「基本設計」「詳細設計」「プログラミング」「テスト」の工程に分けられる。この5つの工程の流れは、始めに発注する側である利用者の要求を確認し、システム全体としてどのような機能を求められるのかを具体化する作業である「要件定義」を行う。次に要件定義で決められた前提を元に、ハードウェアやソフトウェアの選定、セキュリティのレベルなどの「基本設計」が行われる。次に画面のレイアウトや操作の方法など、より利用者が使う場面に近い部分を決める「詳細設計」が行われ、「プログラミング」では具体的なシステムの開発作業が行われる。最後に開発されたシステムの「テスト」が行われ、テストで不具合が発見されれば修正されて、利用者に納品される。このように前の工程に戻らないことを前提としていることから、下流から上流には戻らない水の流れに例えてウォーターフォール(Water Fall)型と呼ばれる。
メリット
ウォーターフォール型は古くから利用され、現在でも多くの開発で利用されていることから、一般的なシステム開発プロジェクトの経験者であれば周知の手法であるため、ウォーターフォール型での管理者、開発者の確保が比較的容易である。加えて、各工程での成果を文書化し、承認した上で次の工程へ進むので、成果物が確実に残る点や、進捗が管理しやすい点がある。
デメリット
ウォーターフォール型は、重要な内容を工程の早い段階で決定することから、前工程に後戻りすることを想定していない手法である。基本的に利用者は発注する側であるが、システムを漠然としたイメージで考えているケースが少なくはない。要件定義や基本設計で、何度も慎重にヒアリングを行ったとしても、テストの段階で、利用者側から「想定していたものと違う」と、大幅な修正を求められる場合がある。ほかにも、開発者側で制御しきれない原因で前の工程に戻る必要が発生し、利用者としても納期やコストの部分で許容できない状況になってしまう。利用者が本来意図したものではないシステムで納期される。開発者側で予算の超過分を被って開発される、というようなケースが発生し、納期の遅延や予算の超過に繋がる可能性がある開発方法である。