ウォーターフォール開発はアプリ開発手法の一つであり、最もポピュラーな手法の一つです。開発工程が一連の大きな流れとして進められ、基本的には後戻りすることなくプロジェクトが進められる開発手法です。
ウォーターフォール開発はプロジェクトに対して工程を順番に進めていく性質のため、途中での仕様変更への対応が大変なことがあります。そのためしっかりと各工程を確定させ、一つずつ確実に進めていくことが成功のポイントです。
ウォーターフォール開発では、完成イメージをチームに共有して進めていきます。ここがぶれると各工程の作業内容にひずみが生じてしまいますから、まずが参加メンバー内で明確なイメージを持っておく必要があります。
ウォーターフォール開発は進捗状況が把握しやすいという特徴がありますので、スケジュール管理をきっちりと行うことが可能です。成果物の納期までを逆算し、スケジュール通りに開発が進んでいるかはしっかりと確認しましょう。
ウォーターフォール開発は各工程ごとにプロジェクトが進められるため、後戻りをしないという特徴があります。そのため完了している工程からスケジュールの確認ができるなど、進捗管理をしやすいというメリットがあります。
計画ありきで進めていくウォーターフォール開発では、事前に定めた要件や計画を着実に実行しながら進めていくという性質から完成後の品質が高く保たれやすいという傾向があります。ゴールがぶれないという点は、クライアントから見てもメリットでしょう。
スケジュールの把握がしやすいウォーターフォール開発では、決められた工程に従ってきっちりと実行をしていくためリソースの配分がしやすいというメリットもあります。特にヒトと時間、そしてコストのかけ方をしっかりと検討することができます。
前述の通り、ウォーターフォール開発では後戻りを想定していません。そのため前工程に重大な欠陥が見つかった場合など、後戻りが必要になる場合は対応が大変になるでしょう。開発スケジュールにも響いてくるかもしれません。
さまざまな開発手法を用いる場合、多くのドキュメントが必要になる場合があります。クライアントによっては煩雑に感じられることもあるでしょうが、理解して頂きながら進めなければいけないケースもあります。
計画通りに進めることが前提となっているウォーターフォール開発では、前工程が遅れた分だけ完成が遅れるという形になっています。そのためどこかの工程で生じた超過を他工程で調整するなどといった柔軟性は持ち合わせていません。
ウォーターフォール開発は要件定義⇒外部設計⇒内部設計⇒開発⇒テスト⇒運用という流れで進められますが、前述の通りこの工程において後戻りすることは想定されていません。この上流工程から下流工程へと一気に進んでいくことから「滝」という意味でウォーターフォールと呼ばれています。そのため、この開発手順を後戻りすることは想定外の作業が発生することを意味するため、最大限の注意が必要なのです。
ウォーターフォール開発が後戻りしない想定なのに対し、アジャイル開発では機能ごとに各工程を行う反復型の開発手法です。途中での使用変更にも対応が可能など柔軟性はありますが、進捗把握が困難などのデメリットもあります。
ERPとは、企業経営におけるヒト・モノ・カネ・情報といった経営資源を分配して管理する計画のことをいい、企業経営に関わるさまざまなシステムをERPシステムと呼びます。ERPを導入する場合、対象となる会社や事業の規模によって若干の変化はあると思われますが、会社すべての部署やプロジェクトが関与してくるため入念な準備が必要であり、頻繁かつ細かな変更を生じさせたくない場合などにはウォーターフォール型のプロセスを採用されることがあります。
各セクションを取りまとめるのが複雑で大変な大規模プロジェクトの場合、ウォーターフォール型のプロセスを採用されることがあります。大人数が参加しているケースや長期間にわたるような大型プロジェクトの場合、進捗管理やスケジュール管理のしやすさなどからウォーターフォール型の開発手法を取り入れることで効率的に回転させられることもあります。そのため大規模なソフトウェア開発やアプリ開発などといってプロジェクトの際にも採用されることが多くなっています。
ここまでは、ウォーターフォール開発のメリットやデメリットに加え、アジャイル開発との違いについても説明しました。自社が開発するアプリの目的に照らすとどの開発手法が合うのかをじっくりと検討してから行動しましょう。また、分からない場合には専門家に相談してみるとよいのではないでしょうか。