「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ウォータフォール

pointこの用語のポイント

pointシステム開発の やり方だよ

point工程を分けて1つずつ終わらせていくよ

point工程の後戻りはしないよ

スポンサーリンク

簡単に書くよ

ウォータフォール(英:waterfall model)とは

システム開発の やり方のひとつ
であり

まず設計を全部やって~、設計が全部終わったらプログラムを全部作って~、プログラムを全部作り終わったらテストを全部やって~、テストまで終われば完成!のように、工程を1つずつ順番に終わらせていき(基本的には)工程の後戻りをしないやり方
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

工程を1つずつ順番に終わらせていく やり方

が「ウォータフォール」です。
水が高いところから低いところに流れ落ちるように、最初の工程から最後の工程に向かって1つずつ順番に終わらせていきます。

ウォータフォール

例えば、そうですね。

ピヨ太君がピヨ子さんからの依頼で新作ケーキを作ることになりました。
いまだかつて誰も食べたことがないような苺ショートケーキを作ります。

ウォータフォール2

苺ショートケーキは、ざっくり言えば苺とショートケーキが合体したケーキです。
最高の苺を最高のショートケーキに乗せることで最高の苺ショートケーキが完成します。

ウォータフォール3

最初にピヨ太君がやったのは設計です。
まず「どんな苺が最高の苺なのか?」と「どうすれば最高の苺になるか?」を考えました。

ウォータフォール4

次に「どんなショートケーキが最高のショートケーキなのか?」と「どうすれば最高のショートケーキになるか?」を考えました。

ウォータフォール5

最後に「最高の苺と最高のショートケーキをどのように合体させれば最高の苺ショートケーキになるか?」を考えました。

ウォータフォール6

おっと、どうやら設計工程が終わったようです。
ピヨ太君の頭の中に最高の苺と最高のショートケーキ、そして最高の苺ショートケーキのイメージができあがりました。

ウォータフォール7

次にピヨ太君がやったのは実際に作る作業です。
まず、設計工程でできあがったイメージ設計書をもとにして最高の苺を作りました。

ウォータフォール8

次に、設計工程でできあがったイメージ(設計書)をもとにして最高のショートケーキを作りました。

ウォータフォール9

最高の苺と最高のショートケーキができあがったら、2つを合体させて最高の苺ショートケーキに変身させました。

ウォータフォール10

おっと、どうやら実際に作る工程が終わったようです。
ピヨ太君の目の前には、とても美味しそうな苺ショートケーキがあります。

ウォータフォール11

最後にピヨ太君がやったのはテストです。
実際に味見をして、本当に美味しい最高の苺ショートケーキか確認しました。

ウォータフォール12

うん、美味しいです。
これは最高の苺ショートケーキでしょう。
早速、ピヨ太君は作ったケーキをピヨ子さんに届けました。

ウォータフォール13

最高の苺ショートケーキ全体で見ると、ピヨ太君は

1.設計
2.実際に作る
3.テスト


の工程を1回ずつやりました。
それぞれの工程は順番にやって後戻りはしません。
設計が全部終わってから作り始めます。
全部作り終わってからテストを始めます。
テストが終わった時点で完成です。

ウォータフォール14

この話においてピヨ太君がやった

全体に対して作業工程を1つずつ順番に終わらせていき、後戻りをしないやり方

がウォータフォールです。

ウォータフォールのメリットは進み具合が分かりやすいことでしょう。
ウォータフォールでは(基本的には)工程の後戻りをしません。
そのため「今は設計工程だから先は長いな」や「今はテスト工程だから、もうすぐ完成だね」のように「今はどの工程にいるから、どれくらい進んでいて、あとどれくらいで終わるね」が予想しやすいです。

進み具合が予想しやすいことは管理のしやすさにつながります。
部下に「さっき頼んだ作業、いつ終わる?」と質問したときの返事が「多分あと3日くらいで終わります」と「いつ終わるか分かりません」だったら前者の方が管理しやすいですよね。
それと同じです。

一方のデメリットは要求される能力水準が高いことでしょうか。
完璧に設計し、その完璧な設計をもとに完璧に作り、その完璧に作った物をテストするから予定通りに終わるのです。
もちろん、ある程度のリスクは見込みますけどね。
基本的にウォータフォールは「全部、上手くいく前提のやり方」です。

最悪の場合は、テストの結果を見て「あっ!この設計だとダメじゃん!」と判明します。
そうなると大変です。
最初に戻って、やり直しです。

ですが、そんなやり直しの時間は予定に組み込まれていません。
デスマーチの始まりです。

ウォータフォールは「理想論に基づいた やり方」と言えると思います。
工程ごとに高品質を維持できてこそ成り立つやり方です。

とはいえ、昔からよく使われている一般的な開発スタイルですけどね。
今も多くのシステム開発がウォータフォールでやっていると思います。

ちなみに「工程を1つずつ順番に終わらせる」「工程の後戻りをしない」は建前です。
あまり真に受けないでください。

実際にはスケジュールの都合により設計工程と作る工程が同時に進んだりします。
作る工程の途中で「あれ?これってヤバいじゃん!」と気付いて設計工程に逆戻りすることもあります。
お客さまから「あ~、こんな機能もくっつけてよ」と仕様変更の依頼が入り、作る工程を進めながら並行して追加の設計をやる場合も あります。

残念ながら、予定は未定であり、決定では ありません。
それが哀しい現実です。


image piyo2

一言でまとめるよ

まぁ「ウォータフォール」って単語が出てきたら「工程を1つずつ順番に終わらせていき、後戻りをしないやり方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像005
書籍画像035

おまけ

■訳してみるよ

「waterfall(ウォータフォール)」の意味は「滝」とか「瀑布」とか「落水」とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
つくって、壊して、直して学ぶ Kubernetes入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本