シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います
今回は「2.6 スパイラルモデル」です。
■2.6 スパイラルモデル
前回反復型モデルを取り上げましたが、よくこれをスパイラルモデルという人がいます。
しかし、本当は、スパイラルモデルというのは、別のモデルでちゃんと実在します。
今回は、その「スパイラルモデル」が、反復型モデルとどう違うのか?について述べたいと思います。
スパイラルモデルとは、バリー・ベーム(というのが普通だと思います。Wikipediaではボームになっていますが。ちなみにつづりはBarry W. Boehm)が
A Spiral Model of Software Development and Enhancement[1]
で示したモデルを指します。具体的には、以下の図のように開発していきます([1]より引用)。
何回もぐるぐる回っていますが、一番内側から
1回目のループで運用コンセプト
2回目のループでソフトウエア要求を
3回目のループで設計を
4回目のループで詳細設計から実装、テストを
しています。
そしてそれぞれのループで
・目標、代替案、制約の決定
・代替案とリスクの評価
・開発とテスト
・計画
を行っていきます([2]の記述をそのまま使っています)。
各ループにおいて、プロトタイプを作成し、リスクを評価しているところが特徴です。
ということは、確かに反復していますが、
反復型の場合は、何回も製品リリースすることもあるのに対し、
このスパイラルモデルは1回の製品リリースだけ
に対するものです。
また、反復するという意味では、アジャイルにも似ていますが、
スパイラルモデルは、ある要求があって(それは真逆になるような劇的な変化はなく)、
そのリスク評価や不明点の解消のためにプロトタイプを使い繰り返しを行うのに対し、
アジャイルは、常識が真逆になるような、劇的な社会の変化や、
ユーザーが、「あんた自分の言ってることわかってんの?」と言いたくなるような、
要求がわからないような状況の中でも、システムを作っていかなければならない場合に
利用可能な手法です。
なので、学術・研究者などで言う「スパイラルモデル」は、反復型より範囲は狭く、
アジャイルほどの変化を想定していないといえます。
参考文献
[1] Boehm, B. W.;TRW Defense Syst. Group, Redondo Beach, CA
"A spiral model of software development and enhancement"
IEEE Computer Society Volume: 21 Issue:5 (1988)pp 61 - 72
[2] シャリ・ローレンス・プリューガー著 堀内 泰助訳
「ソフトウェア工学 理論と実践」ピアソンエデュケーション
(2001)pp64
今回は「2.6 スパイラルモデル」です。
■2.6 スパイラルモデル
前回反復型モデルを取り上げましたが、よくこれをスパイラルモデルという人がいます。
しかし、本当は、スパイラルモデルというのは、別のモデルでちゃんと実在します。
今回は、その「スパイラルモデル」が、反復型モデルとどう違うのか?について述べたいと思います。
スパイラルモデルとは、バリー・ベーム(というのが普通だと思います。Wikipediaではボームになっていますが。ちなみにつづりはBarry W. Boehm)が
A Spiral Model of Software Development and Enhancement[1]
で示したモデルを指します。具体的には、以下の図のように開発していきます([1]より引用)。
何回もぐるぐる回っていますが、一番内側から
1回目のループで運用コンセプト
2回目のループでソフトウエア要求を
3回目のループで設計を
4回目のループで詳細設計から実装、テストを
しています。
そしてそれぞれのループで
・目標、代替案、制約の決定
・代替案とリスクの評価
・開発とテスト
・計画
を行っていきます([2]の記述をそのまま使っています)。
各ループにおいて、プロトタイプを作成し、リスクを評価しているところが特徴です。
ということは、確かに反復していますが、
反復型の場合は、何回も製品リリースすることもあるのに対し、
このスパイラルモデルは1回の製品リリースだけ
に対するものです。
また、反復するという意味では、アジャイルにも似ていますが、
スパイラルモデルは、ある要求があって(それは真逆になるような劇的な変化はなく)、
そのリスク評価や不明点の解消のためにプロトタイプを使い繰り返しを行うのに対し、
アジャイルは、常識が真逆になるような、劇的な社会の変化や、
ユーザーが、「あんた自分の言ってることわかってんの?」と言いたくなるような、
要求がわからないような状況の中でも、システムを作っていかなければならない場合に
利用可能な手法です。
なので、学術・研究者などで言う「スパイラルモデル」は、反復型より範囲は狭く、
アジャイルほどの変化を想定していないといえます。
参考文献
[1] Boehm, B. W.;TRW Defense Syst. Group, Redondo Beach, CA
"A spiral model of software development and enhancement"
IEEE Computer Society Volume: 21 Issue:5 (1988)pp 61 - 72
[2] シャリ・ローレンス・プリューガー著 堀内 泰助訳
「ソフトウェア工学 理論と実践」ピアソンエデュケーション
(2001)pp64