みなさんが、直接、実感する事はないのですが、オリジナルのシステムやアプリケーション等、ソフトウェア開発を依頼すると、必然的に何がしかの開発手法によってソフトウェアの開発がなされています。
みなさんの知らないうちに、その手法をソフトウェア会社が決定し、その手法に乗っ取ってプロジェクトは進んでいきます。
当然ですが、お客様に確認、及び承認を頂かなければ進まない様にはなっていますのでご心配されなくても大丈夫です。
その開発手法とは、何なのか、また、どんな種類があるのか、そして、なぜ、その開発手法に決定したのか等、みなさんの目線で解説します。
開発手法は、ウォーターフォール、スパイラル、アジャイル、等、色々ありますが大別するとウォーターフォール型か反復型かの2種類となります。
何が違うのでしょう。
簡単に言ってしまうとソフトウェアを1度で完成まで作り上げてしまうか、それとも試作品の修正を繰り返しながら何回かで完成に至るのかの違いです。
昔から存在する開発手法で、建築の手法と同じ方法でプロジェクトを進めていきます。
家を建てる場合、間取りや部屋数、デザインや色等を決め、完成イメージや家の設計書を作り、依頼者に確認してもらい、承認をもらったら建築がはじまります。
ウォーターフォールも同様のステップを踏みます。
システムで、どの様な事がしたいのか、何を管理したいのか等の要望を聞き、画面や帳票イメージ、設計書を作成し、依頼者に確認してもらい、承認をもらったら制作を開始します。
・オリジナルのシステム開発、等で使われる手法です。
・見積もりが分りやすく、費用が把握しやすい。
・契約は、一般的に見積もりで出てきた制作費用のみとなります。(保守は別になります。)
・お客様にとっては、設計段階で、システムのイメージがしにくい欠点もあります。
とにかく作ってみてお客様へ確認し、修正個所や追加の要望等を確認し、再び実装します。
修正、及び、テストが完了した段階で再びお客様へ確認し、修正箇所、追加要望を確認します。これらを繰り返します。
・アプリケーション開発等の自社製品開発会社で使われる手法です。(ゲームやアプリケーション)
・見積もりは、あってない様な物で、完成するまでの期間が分らないため最終的にかかる費用は全く不明です。
・契約は、月額等の期間契約になります。
・お客様へ何度も試作品を見せ、反復の期間を短期間に設定し繰り返し修正を加えるため、お客様には完成がイメージしやすい利点があります。
ウォーターフォール型の手法を繰り返し行う手法。
・完成するまでの期間が分らないため費用は全く不明です。
・契約は、月額等の期間契約になります。
・反復に時間がかかりますが、修正を何度か繰り返す事でお客さんのイメージに近づけてい
システム開発で使用されるのは、ウォーターフォールが一般的でしょう。
どのシステム会社に開発をお願いしても、ほぼウォーターフォールでの開発でプロジェクトを進めていくはずです。
見積金額よりお金がかからない事が、お客様として安心できるのが、その手法を使用する理由でしょう。
月契約でお金が無くなった段階でシステム開発が止まってしまったとか、システム開発が完了した時には、何千万円もかかっていた等の開発費用の心配をして頂かなくて良いからです。
ただ、ウォーターフォールでも完成後の修正は、よほど大きな修正でなければ、追加料金がかかりますが可能です。微弱なものであれば、追加料金もかからないでしょう。
ただし、ウォーターフォールは、設計段階でシステム完成イメージがしにくいためプロトタイプ等を確認して、初期の設計時に実現したい要望から大きくそれていない事を確認しておくことは重要だと考えます。