分类: ●日语学习&电脑技巧 |
開発プロセスの基礎
要件定義編
3.様々な開発プロセス
今現在、開発プロセスは色々なものがあります。それは、技術の進歩によりそれに対応した開発プロセスが生まれてくるからなのです。一昔前では、『ウォータフォール型』と呼ばれる開発プロセスが主流であり王様であったのです。ところが、現在ではその『ウォータフォール型』は『悪の枢軸・戦犯・悪の根源』などと呼ばれ、嫌われているのが現状です。 と、一つ開発プロセスの名前が挙がった所で、ウォータフォールを含めて他の開発プロセスについても紹介していきたいと思います。
ウォータフォール型
システム開発のライフサイクルの各工程を,前工程が完全に完了して承認を受けてからはじめて次工程に進み、基本的に前工程に戻ることはないことから、水が流れ落ちていく様子に見立ててウォータフォールと呼ばれます。

プロトタイピング型
顧客の早期に試作品(プロトタイプ)を見せ逐次改善していく方法です。

スパイラル型
システム開発のライフサイクルを下図のように短期間で繰り返し行い完成に近づけていくことから、スパイラルと呼ばれます。プロトタイピング型と似ていますが、基本的にプロトタイプのコードは本番のシステムでは使いません。スパイラル型では、本番のシステムに対して作業を加えていきます。

スパイラル型は、その繰り返しの仕方によって、「インクリメンタル型」「反復型」という2タイプに分類できます。インクリメンタル型は、各繰り返しでどの機能を実現するかを決め、それを1回の繰り返しで完成させていきます。反復型は、各繰り返しでシステム全体の機能を少しづつ作っていき、何度も繰り返すことで完成度を上げていく方法です。
これらの開発プロセスは、(1)→(2)→(3)という順番で現れてきました。あとから登場したものの方が、以前から存在したものの問題点などを解決しており、よりよいと考えられます。ならば、スパイラル型の開発プロセスを採用すれば開発は上手く行くのでしょうか。
もちろんそうではありません。プロトタイプ型や、スパイラル型がなぜ登場してきたのか? どんな問題を解決できるようなプロセスなのか?という開発プロセスの本質を理解しておかなければ、結局ウォーターフォール型で起こした失敗を繰り返してしまうことになります。
そのため、まずは基本の開発プロセスであるウォータフォールで、各開発工程を見ていき、解決すべき問題を考えていきます。
4.ウォーターフォール型の問題点
ウォータフォールには致命的な欠点というのがあります。それは、各開発工程が滝の流れのように上流工程から下流工程へと流れていくため、顧客がシステムを確認する時というのは、テスト工程になってしまいます。そのため、その時点で何らか顧客が意図していたのとは違うシステムであった場合、もう一度上流工程から再開発を行なっていく必要があります。そのような事態により今まで作成した機能の開発期間や工数は無駄になってしまい、また予定していた以上のやり直し工数や期間が掛かってしまいます。この状態がいわゆる『デスマーチ化したプロジェクト』といいます。
要件定義編
3.様々な開発プロセス
今現在、開発プロセスは色々なものがあります。それは、技術の進歩によりそれに対応した開発プロセスが生まれてくるからなのです。一昔前では、『ウォータフォール型』と呼ばれる開発プロセスが主流であり王様であったのです。ところが、現在ではその『ウォータフォール型』は『悪の枢軸・戦犯・悪の根源』などと呼ばれ、嫌われているのが現状です。 と、一つ開発プロセスの名前が挙がった所で、ウォータフォールを含めて他の開発プロセスについても紹介していきたいと思います。
ウォータフォール型
システム開発のライフサイクルの各工程を,前工程が完全に完了して承認を受けてからはじめて次工程に進み、基本的に前工程に戻ることはないことから、水が流れ落ちていく様子に見立ててウォータフォールと呼ばれます。

プロトタイピング型
顧客の早期に試作品(プロトタイプ)を見せ逐次改善していく方法です。

スパイラル型
システム開発のライフサイクルを下図のように短期間で繰り返し行い完成に近づけていくことから、スパイラルと呼ばれます。プロトタイピング型と似ていますが、基本的にプロトタイプのコードは本番のシステムでは使いません。スパイラル型では、本番のシステムに対して作業を加えていきます。

スパイラル型は、その繰り返しの仕方によって、「インクリメンタル型」「反復型」という2タイプに分類できます。インクリメンタル型は、各繰り返しでどの機能を実現するかを決め、それを1回の繰り返しで完成させていきます。反復型は、各繰り返しでシステム全体の機能を少しづつ作っていき、何度も繰り返すことで完成度を上げていく方法です。
これらの開発プロセスは、(1)→(2)→(3)という順番で現れてきました。あとから登場したものの方が、以前から存在したものの問題点などを解決しており、よりよいと考えられます。ならば、スパイラル型の開発プロセスを採用すれば開発は上手く行くのでしょうか。
もちろんそうではありません。プロトタイプ型や、スパイラル型がなぜ登場してきたのか? どんな問題を解決できるようなプロセスなのか?という開発プロセスの本質を理解しておかなければ、結局ウォーターフォール型で起こした失敗を繰り返してしまうことになります。
そのため、まずは基本の開発プロセスであるウォータフォールで、各開発工程を見ていき、解決すべき問題を考えていきます。
4.ウォーターフォール型の問題点
ウォータフォールには致命的な欠点というのがあります。それは、各開発工程が滝の流れのように上流工程から下流工程へと流れていくため、顧客がシステムを確認する時というのは、テスト工程になってしまいます。そのため、その時点で何らか顧客が意図していたのとは違うシステムであった場合、もう一度上流工程から再開発を行なっていく必要があります。そのような事態により今まで作成した機能の開発期間や工数は無駄になってしまい、また予定していた以上のやり直し工数や期間が掛かってしまいます。この状態がいわゆる『デスマーチ化したプロジェクト』といいます。
前一篇:開発プロセスの基礎
后一篇:開発プロセスの基礎-3