ウォーターフォール型開発とは?
メリット・デメリットや開発手法を解説!アジャイル開発との違いも

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

ソフトウェアやシステムを開発する際の開発手法のひとつに「ウォーターフォール型開発」があります。開発手順がシンプルで分かりやすいという特徴を持ち、その名の通り「ウォーターフォール=滝」のように、水が落下するように開発が進むとされています。

また、開発を各工程に分けて進め、次のフェーズに進むと後戻りすることができないこともウォーターフォールの特徴です。工程ごとに、開発担当者や責任者、クライアントが成果を確認しあい、合意を得て工程を完了させていきます。それぞれの工程に抜けがないか管理しながら進めていくのです。

ウォーターフォールモデルの成り立ち

ウォーターフォールは、1970年頃にロイスの論文により提唱されましたが、その時点では「ウォーターフォール」とは呼ばれていませんした。またロイスの論文では、1度のイテレーション(反復)ではうまくいかない、最低でも2回のイテレーションを行うことが推奨されています。

この論文は、さまざまな人の著書・論文によって取り上げられ、その頃から「ウォーターフォール」と呼ばれるようになりました。アメリカ国防省の調達仕様の一部となり、IEEEが文書化するなど、国際的な評価を受けるようになります。

アジャイル型開発との違い

システム開発の現場で使われる手法として、アジャイル型開発があります。クライアントが要望するシステムを素早くリリースする、という考えに基づく開発手法で、短期間での納品を目指していきます。「ビジネスをできるだけ早く始めたい」と考えるクライアントに適する手法といえるでしょう。

リリースを早めるために取られる手法としては、搭載する機能を最低限の状態にすることが多く、システムでの優先度を決めるため毎日ミーティングを行い、チーム内で連携をとる「スクラム」と呼ばれる手法などを使います。

ウォーターフォール開発が、すべての要件定義や設計を細部まで決めて完了させてから、大きなサイクルで開発を進めるのに対し、アジャイル開発では、計画→設計→実装→テストの開発工程を機能単位の小さいサイクルで繰り返していきます。また、プロジェクトは変化するもの、という前提で進められることから、仕様変更に強いことがウォーターフォールとの違いといえるでしょう。

▶アジャイル開発の特徴はこちら

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


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

プロジェクトを計画どおりに進めやすい

要件定義から確実に開発を進めていくことから、この要件定義まで終えてしまえば、開発スケジュールの把握が可能です。開発業務もメンバー、クライアントがしっかり把握することができ、計画どおりに進められることは大きなメリットといえるでしょう。

予算やエンジニアの確保がしやすい

綿密な計画を作成してから開発を始めるウォーターフォール開発では、どの段階で何が必要となるのか、人員はどれくらい必要になるのか把握することができます。工程ごとに必要なものがはっきりしているため、予算部分はもちろん、エンジニアの準備も事前に行うことができ、たとえ入れ替わりが発生したとしても引継ぎがスムーズにできます。

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

仕様変更や手戻りが発生した場合工数が増える

最初の段階で、綿密に作り上げてから開発をしていくウォーターフォール開発では、仕様を変更する場合には、手戻りとなり、工数が増えてしまうことがあるでしょう。これは、基本的には後戻りをせずに開発をすすめるウォーターフォール開発のデメリット面です。手戻りをすると、人的コストもかかるため、費用にも負担をかけることになります。柔軟性はないため、手戻りしないように進めていくことが対処方法となります。

急な変更が難しく、ユーザーの要望に対応できないケースがある

開発を進めていくうちに、ユーザーから要望を受けることもあるでしょう。しかし、開発が始まったからは変更が難しいため、たとえ要望があっても対応できないこともあります。

クライアントのイメージがしっかりと作られた上であればよいのですが、システムに不慣れな場合には、イメージがぼんやりしていて仕上がりにズレが生じる可能性もあります。
要件定義の工程で、クライアントの意見をどこまでくみ取れるかがポイントとなるでしょう。

ウォーターフォール型が最適なケース


品質の確実性が求められる場合

素早いリリースよりも、より確実性を求める場合には、ウォーターフォール開発が好まれる傾向が多いようです。

例えば、銀行のATM開発などの障害の発生は利用者に大きな影響を与え、信用問題になります。テストを何度も重ねて、慎重にすすめることで確実性を高めるウォーターフォール開発によって、障害発生をゼロパーセントに近づけることを期待できるでしょう。

大規模なプロジェクトの場合

プロジェクトが大規模なものの場合には、エンジニアの確保やコスト面など、早目に把握し準備する必要があります。ウォーターフォール開発では、要件定義まで完了すればスケジュールが決まるため、どの工程でどれだけのエンジニアが必要となるのか把握することもできます。コスト面も同時に把握することが容易となるでしょう。

クライアントの課題や理想像が明確な場合

クライアントの理想像が明確となっている場合、要件定義で綿密に作り上げ、それを実行に移していくことで、まさに思ったとおりのシステムを開発することができます。柔軟性に欠けるというデメリット面は、クライアントの課題・理想像が明確である場合にはデメリットにはなりません。むしろ、計画通り着実に進めていけるため、ウォーターフォール開発が適していると言えるでしょう。

ハイブリッドテクノロジーズの提供サービス


ハイブリッドテクノロジーズは、高い品質管理のもと、アプリケーション開発、システム開発の設計、デザインなどの上流工程から開発、運用、保守に至る全ての工程をトータルでご提供することで、クライアント企業のデジタルトランスフォーメーション(DX)推進をサポートいたします。

お客様の要望に合わせて、アジャイル開発やウォーターフォール開発等の開発手法やラボ(ストック)型サービスや受託(フロー)型サービスを柔軟に組み合わせて対応させていただきます。

【アジャイル開発ご希望のお客様】
アジャイル開発についてはこちら

【ウォーターフォール開発ご希望のお客様】
ウォーターフォール開発についてはこちら

【ラボ(ストック)型開発サービスご希望のお客様】
ラボ(ストック)型開発サービスについてはこちら

【受託(フロー)型開発サービスご希望のお客様】
受託(フロー)型開発サービスについてはこちら

ハイブリッドテクノロジーズが選ばれる理由

01 ビジネス設計〜実装・保守までワンストップで提供できるサービス体制
既存サービスの変革や新規サービスを成功を導くための顧客体験発想による設計からプロジェクトをスタートし、MVP開発を通して顧客のビジネスグロースを一緒に共創していくサービスを提供します。

02 UCS(ユーザー中心設計)によるUI/UXデザイン
実際にそのサービスを使うユーザーを調査、分析しながら、人間中心設計を元にデザインを行なっていきます。

03 スピード感をもった開発体制の構築
要件定義で定めた機能の中から優先度の高い重要なものから、アジャイル・スクラム開発を用いて開発することでサービスインまでの期間を短縮。素早いリリースを実現し、機能の追加などのブラッシュアップを行います。
ベトナムにおける日系No1*1という知名度の高さと20,000人以上*2の候補者リスト*2を元に必要な人員リソースの確保が可能なため、スピード感をもった開発の実行が可能です。

04 累計290社の顧客のプロダクト開発実績
当社が創業以来、豊富なシステム開発・アプリ制作の実績があり、それらを通じて蓄積した知見やノウハウを持ち合わせています。企画段階から要件定義・デザイン・開発まで担当し、プロジェクトを成功に導きます。

05 低コストかつ自由度の高い開発
フルスクラッチ開発とパッケージ開発のいいところどりを実現。 フルスクラッチ開発だとコストが上がる傾向にありますが、当社はベトナムのリソースを活用することでコストを抑えられます。
また、パッケージ開発だと自由度が失われる傾向がありますが、当社はスクラッチ開発で顧客予算に合わせて、スコープを見定めながら、進めることができるので、低コストで自由度の高い開発が実現できます。

06 国際標準規格に則った品質管理体制
情報セキュリティマネジメントシステムの国際規格「ISO9001」、「ISMS(ISO/IEC270001)」、ソフトウェア・テストの国際規「ISTQB Platinum Partner」の認証を取得しており、国際標準規格に則った品質管理体制を提供しています。

※1 株式会社マイナビが運営するベトナムでITエンジニア専門の求人サイト ITviecは、給与・教育・マネジメント・企業文化・オフィス環境の観点から、Best Companyを選定。Hybrid Technologies Vietnam Co.Ltd. は、2019年と2020年に、日系企業で最高位に選出されました。
※2 過去当社へ応募頂いた開発候補者のリストです。応募のタイミングでリクルートシステムに登録し、常にそのリストから候補者へのリーチできる体制を持っています。

まとめ


ウォーターフォール開発の成り立ちや、アジャイル型開発との違いなどについてご紹介しました。要件定義まで完了してしまえば、その後のスケジュール、業務内容を把握しやすく、エンジニアの確保やコスト面も準備できるため、大規模なプロジェクトにも適した手法です。

一方、柔軟性には欠けるため仕様変更などは工数・コスト面が増えてしまいます。メリット、デメリットを理解しておき、必要に応じて選ぶとよいでしょう。


この記事を書いた人
窪田 陽介

はじめまして!ハイブリッドテクノロジーズの窪田です。 当社は、次世代テクノロジー開発で世界をリードするベトナム人エンジニア700名(日系企業最大規模)を有し、ビジネスデザインを日本国内で、開発をベトナムで行う「ハイブリッド型開発」により、EC、モバイルアプリケーション、HRシステム、ポータルサイトなど長期運用が必要とされるサービス提供を行う企業のシステム設計、開発、運用業務に加え、デジタルトランスフォーメーション(DX)推進によるお客様の事業成功をコミットしています。