フリーランスエンジニアの雄貴です!
皆さん、WEBサービスの開発はどの様な流れで実施されるかご存知でしょうか?
開発手法には大きく分けて、以下の3種類存在します。
- ウォーターフォールモデル
- プロトタイピングモデル
- スパイラルモデル
今回は1つ目の「ウォーターフォール開発」についてお話ししようと思います!
ウォーターフォールモデルとは?
まずシステム開発には5段階のプロセスがあって、「要件定義」、「設計」、「開発」、「テスト」、「リリース」があります。
各プロセスについてはこちらの記事にてお話ししています。
ウォーターフォールモデルはこの5つのプロセスを、「要件定義」から「テスト」、「リリース」へと、各工程を順番に進めていく手法です。
(滝の様に高いところから水が落ちていく様子に似ていることから「ウォーターフォール」と呼ばれています。)
メリット
企画した段階で各工程の工数を算出して進めるので、開発費用の見積もりが立てやすいことがメリットです。
また、各工程を完了させてから次へ進む手法なので進捗状況が明確であり管理がしやすいです。
さらに計画的な開発なため、品質の担保がしやすいなどが挙げられます。
デメリット
このモデルの弱点は仕様変更に弱い点です。
予め終わりまで計画して実施していくため、途中で仕様変更などが加わると、全体の計画が崩れてしまうためリカバリーしにくいモデルになっています。
また顧客がシステムを確認できるのがテスト後の最終段階になるので、そこで求めていたものと異なる物になっていた場合の損失が大きくなってしまうデメリットもあります。
どんな案件で採用されているの?
ウォーターフォールモデルは計画的に実施でき、品質も担保しやすいモデルである点から、リスク対策に重視する「金融業界」や「政府系」、「医療系」、「社会インフラ」などの社会的責任の高いシステムで導入されることが多いです。
また、各工程が完了する度に、顧客側に確認を取ったり、計画も仕様変更がある前提でリカバリー時間を踏まえた上で工数を算出するなど、ウォーターフォールモデルの弱点を補った手法が取り入れられている案件も多くなっています。
予め開発するモノが詳細に決定している場合は、ウォーターフォールモデルが打ってつけですね!
最後に
今回はシステム開発手法の1つである「ウォーターフォールモデル」についてお話しいたしました!
実はウォーターフォールモデルは古くからあるシステム開発モデルなので、取り入れている案件もたくさんあるんですよね!
そして次回は、「プロトタイピングモデル」についてお話しいたします!
WEBエンジニアとして活躍していく上で開発手法を知っておくことは必須なので、ぜひご覧ください!
コメント