主題
- #ウォーターフォール開発方式
- #ドキュメント化
- #ソフトウェア開発
- #順次進行
- #固定された要件
作成: 2024-05-14
作成: 2024-05-14 09:50
ウォーターフォール開発方式
ウォーターフォール開発方式(Waterfall Model)は、ソフトウェア開発において最も古くからある方法論の1つであり、順次的な段階を経てプロジェクトを進めるアプローチを意味します。このモデルは、各段階を完全に完了してから次の段階に進む構造になっており、まるで滝(waterfall)が上から下へ流れるように段階的に進むという特徴を持っています。この記事では、ウォーターフォール開発方式の定義、主な特徴、長所と短所、そして使用事例について詳しく見ていきましょう。
ウォーターフォール開発方式は、ソフトウェア開発ライフサイクル(SDLC:Software Development Life Cycle)の各段階を順次踏んでいく方法論です。このモデルは、1970年代にウィンストン・ロイス(Winston W. Royce)によって最初に紹介され、それ以降、多くのプロジェクトで使用されてきました。ウォーターフォールモデルは、以下の段階を含みます:
1. 要件分析(Requirements Analysis):プロジェクトの要件を収集し、明確に定義する段階です。
2. 設計(Design):ソフトウェアのアーキテクチャと詳細設計を行う段階です。
3. 実装(Implementation):実際にコードを記述し、ソフトウェアを開発する段階です。
4. テスト(Test):開発されたソフトウェアをテストして、エラーを発見し、修正する段階です。
5. 展開(Deployment):ソフトウェアを実際の運用環境に展開する段階です。
6. 保守(Maintenance):展開されたソフトウェアを維持し、改善する段階です。
上の画像のように、企画が終了して完了と承認が出たら、デザインを行い、デザインが完了して承認が出たら、次の段階の開発を行い、開発が完了して承認が出たら、次にテストを行い、エラーがなければリリースします。企画段階では、何度も修正が行われたり、デザイン段階では何度も修正が行われたりする可能性があります。
しかし、水は上から下へ流れるように、開発が始まった段階で急に企画を変更して開発を変更したりすることはありません。
1. 明確な構造:段階別に明確に区分けされているため、進行状況を容易に把握できます。
2. 文書化:各段階で文書化を徹底するため、プロジェクトの進行状況や決定事項を追跡しやすいです。
3. 管理の容易さ:計画とスケジュール管理が容易で、段階ごとに明確な目標を設定できます。
1. 変更の難しさ:初期段階で要件が固定されるため、以降の段階で要件の変更が難しく、コストがかかります。
2. 段階間の依存性:ある段階が完了するまでは、次の段階に進むことができないため、スケジュールが遅れる可能性が高くなります。
3. 顧客の関与不足:初期段階以降は、顧客の関与が限定的になるため、最終的な成果物が顧客の期待と異なる可能性があります。
開発方式を語る際に使われる用語であり、段階的な手順に従って開発することを意味します。
❗さらに知っておくと良い情報
反対の方式としては、アジャイル方式があり、プロトタイプでリリースしてみて、問題点や改善点を継続的に絶えず修正し、機能を追加しながら運用していく方式です。このような方式は、自社のサービスを作る際に主に使用されており、その理由は、サービスの完成度をより高め、継続的に修正可能な人材を対応できるためです。
顧客のサービス(SI外注)を開発する際にアジャイル方式を採用する場合、毎月支払われる人件費や経費(月額賃料、管理費など)を顧客が毎月支払って開発する必要がありますが、現実的には2ヶ月開発、5ヶ月開発など、金額を決め打ちで開発するだけで、終わりが見えない形で毎月いくらという形で支払うケースは非常に稀です。
コメント0