ABOUT CUBIC
METHOD
開発方法の種類
システム開発では
以下の3つの開発方法が主流です。
ウォーターフォール型
上流から下流へと水が落ちるように、前の工程には戻らない前提で、段階的に設計を行うことからこの名前が付けられています。
システム開発の手順を上から順番にそのまま行うのがこの開発方法となります。
システム開発において、大半はこの開発型を採用しています。
メリット
- ・何を開発するかを、お客様を含め全員が共有できる。
- ・スケジュールが決まっているため、スケジュール管理がしやすい。
デメリット
- ・仕様変更・追加といった後戻りが出来ない。
- ・お客様含め全員が共有出来ている前提だが、実際はお客様がほぼ理解できていない。
このことから、「開発者に有利」な開発方法とも言えます。
ただ、こうしないと開発者が自分自身を守れないという理由もあります。
スパイラル型
ぐるぐる回る渦のように開発するためこの名前が付けられています。
機能単位あるいは画面単位など、部分単位で設計・プログラミング・テストを細かく行い、その都度お客様に見てもらいながら開発を進めていく方法です。
メリット
- ・細かく作るため、仕様変更・追加が可能。
- ・少しずつ作られていくためお客様の理解度が上がりやすい。
デメリット
- ・最終的な完成図がボヤける。
- ・スケジュールが決まっていないため納期が延びる。
キュービックではこの開発型を多く採用しています。
理由は、最終的にお客様の満足度が高まるからです。
資料をそんなに書かなくてもいいという利点もありますが、これについては資料を書くのが手間という感情的な理由もありますが、資料を書いても、お客様がどうせ読まない、理解できないという理由もあります。
実際に開発していく途中途中で、お客様が具体的に完成形をイメージできるので、お客様満足度は高くなる傾向にありますが、「こんなのが欲しい」「ここはやっぱりこうなって欲しい」といった要望も出てきます。
この時に、「それは予算をオーバーするから無理」「その程度なら取り込み可能」
「それは無理だけどこれならできる」といったハンドリングが出来ないと、最終ゴールがボヤけ、結果的にシステムが完成しなくなってしまう恐れもあります。
このことから、「お客様に有利」な開発方法ではありますが、「開発者を殺す」可能性もある諸刃の剣だと言えます。
また、最終ゴールがボヤけていた場合、見積もった内容とは別のものを要求される可能性もあるため、多くの開発会社ではこの開発型は採用されていません。
アジャイル型
「アジャイル(Agile)」とは、英語で「素早い」「機敏な」といった意味を持ちます。
開発にスピードが求められるようになった背景から誕生した開発型です。
システムを小単位で区切り、実装とテストを繰り返して開発を進めていきます。開発途中に仕様変更があることを前提に、大まかな仕様だけを決めて進め、実際に作りながら、仕様変更・追加を重ねて、最高の物を目指します。
お客様のニーズに最大限応えられる開発手法ですが、最終的な完成図がボヤける、スケジュールが定まっておらず納期が延びるなどといったデメリットがあります。