スパイラル型
システム開発の やり方だよ
機能単位で取り掛かるよ
1つの機能が完成するごとに確認してもらうよ
前にできあがった機能を踏まえて次の機能に取り掛かるよ
細かく機能追加していくイメージだよ
簡単に書くよ
スパイラル型(読:スパイラルガタ 英:spiral model)とは
システム開発の やり方のひとつ
であり
一気に全部やるのは大変だから機能単位で分割して1つずつ順番にやっていこうよ!な やり方
です。
もう少し具体的に書くと
まず1つ目の機能の検討→設計→製造→テストをやって、お客さまに確認してもらう、OKだったら1つ目の機能を踏まえて2つ目の機能の検討→設計→製造→テストをやって、お客さまに確認してもらう、OKだったら1つ目と2つ目の機能を踏まえて3つ目の機能の検討→設計→製造→テストを……のように、機能単位で1つずつ取り掛かって完成させていく やり方
です。
いまいちイメージできない人は
システムに対して、細かく機能追加(バージョンアップ)していく やり方
と解釈してください。
詳しく書くよ
サクっと一言で説明すると
機能単位で順番に取り掛かり、1つずつ完成させていく やり方
が「スパイラル型」です。
1つ目の機能の検討→設計→製造→テスト→確認、2つ目の機能の検討→設計→製造→テスト→確認、3つ目の機能の検討→設計→製造→テスト→確認、のように、開発の一連の流れが機能単位で何回も繰り返されます。
ぐ~るぐ~ると工程が繰り返されるから「スパイラル(螺旋)」です。
例えば、そうですね。
ピヨ太君がピヨ子さんからの依頼で新作ケーキを作ることになりました。
いまだかつて誰も食べたことがないような苺ショートケーキを作ります。
苺ショートケーキは、ざっくり言えば苺とショートケーキが合体したケーキです。
最高の苺を最高のショートケーキに乗せることで最高の苺ショートケーキが完成します。
最初にピヨ太君がやったのは最高のショートケーキの設計です。
まず「どんなショートケーキが最高のショートケーキなのか?」と「どうすれば最高のショートケーキになるか?」を考えました。
おっと、良いアイディアが閃いたようです。
次にピヨ太君は設計工程でできあがったイメージ(設計書)をもとにして最高のショートケーキを作りました。
ピヨ太君は、ちまちまとショートケーキを作ります。
やっとこさ、ショートケーキが完成しました。
次にピヨ太君がやったのはテストです。
実際に味見をして、本当に美味しい最高のショートケーキかを確認しました。
うん、美味しいです。
ピヨ太君的には、これで最高のショートケーキは完成です。
最後に、ピヨ子さんにも味見をしてもらいました。
ピヨ子さんが満足してくれるか確認します。
おぉ、どうやらピヨ子さんも満足してくれたようです。
これで最高の苺ショートケーキに使う最高のショートケーキは完成です。
ふぅ、これで1つの区切りがつきました。
ピヨ太君は、お昼寝をして英気を養います。
たっぷり睡眠をとったピヨ太君は次の作業を始めました。
最高の苺の追加です。
先ほど、最高のショートケーキは完成しました。
このショートケーキに最高の苺を乗せれば、最高の苺ショートケーキが完成します。
どのように最高の苺を乗せれば最高の苺ショートケーキになるかピヨ太君は考えました。
おっと、良いアイディアが閃いたようです。
次にピヨ太君は設計工程でできあがったイメージ(設計書)をもとにして苺をショートケーキに追加しました。
ピヨ太君は、ちまちまと苺とショートケーキを組み合わせます。
やっとこさ、苺ショートケーキが完成しました。
次にピヨ太君がやったのはテストです。
実際に味見をして、本当に美味しい最高の苺ショートケーキか確認しました。
うん、美味しいです。
ピヨ太君的には、これで最高の苺ショートケーキは完成です。
最後に、ピヨ子さんにも味見をしてもらいました。
ピヨ子さんが満足してくれるか確認します。
おぉ、どうやらピヨ子さんも満足してくれたようです。
これで最高の苺ショートケーキは完成です。
ピヨ太君は
1.設計
2.実際に作る
3.テスト
4.確認
の工程をショートケーキ、苺ショートケーキに対してやりました。
まずはショートケーキに対して一連の流れをやり、その結果を踏まえて苺ショートケーキに対して一連の流れをやっています。
最高の苺ショートケーキ全体で見ると
1.設計
2.実際に作る
3.テスト
4.確認
の工程が、ぐ~るぐ~ると繰り返されているわけです。
この話においてピヨ太君がやった
機能単位で順番に取り掛かり、1機能ずつ完成させていくことで全体の完成度を高めていく やり方
がスパイラル型です。
スパイラル型は、たまに
ウォーターフォール型とプロトタイプ型を合わせた やり方
と説明されます。
ウォーターフォール型は「工程を1つずつ順番に終わらせていく やり方」です。
水が高いところから低いところに流れ落ちるように、最初の工程から最後の工程に向かって1つずつ順番に終わらせていきます。
プロトタイプ型は「さっさと試作品を作って、それを変更していく やり方」です。
まず試作品を作って、お客さまに見てもらい、意見をいただきます。
次に、いただいた意見を試作品に反映します。
意見を反映した試作品をお客さまに見てもらいます。
それを繰り返すことで完成度を上げる やり方です。
スパイラル型は機能単位で見ればウォーターフォール型です。
ピヨ太君は最高の苺ショートケーキに使うショートケーキを作るとき、設計→製造→テストの一連の流れをやりました。
工程を1つずつ順番に終わらせていく やり方です。
ただし、全体で見るとプロトタイプ型とも言えます。
プロトタイプ(試作品)をウォーターフォール型で作るイメージです。
ピヨ太君は苺ショートケーキを完成させる前にショートケーキを作ってピヨ子さんに味見をしてもらいました。
これは「まず試作品のショートケーキを作り、ピヨ子さんの意見を聞いた」と捉えられます。
これが、スパイラル型が「ウォーターフォール型とプロトタイプ型を合わせた やり方」と言われる理由です。
個人的には「余計に分かりにくくない?」と思いますけどね。
世間一般では、そのように説明されるので、私も真似してみました。
ここまでの説明を読んで「う~ん、いまいちイメージできないなぁ」な人はシステムのバージョンアップを想像してみてください。
例えば、ピヨピヨシステムを作るとしましょう。
まずは必要最低限の機能を備えたピヨピヨシステムVer.1を作ります。
次に、あったら便利な機能を追加してピヨピヨシステムVer.2を作りました。
Ver.1はVer.1でとりあえず完成しています。
ただし、Ver.1に機能を追加することによって、より素晴らしい(完成度の高い)Ver.2になりました。
スパイラル型は、このバージョンアップの流れを1つのシステム開発の中で繰り返すイメージです。
一言でまとめるよ
まぁ「スパイラル型」って単語が出てきたら「機能単位で作り上げていく やり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「spiral(スパイラル)」の意味は「螺旋」とか「螺旋状の」とかです。
「型」は日本語ですね。
何となく くっつけると
螺旋型
となります。






