ここをチョッと変えたい
システム開発の依頼を頂くお客様は、システム開発を安易にお考えになっている方が多く、「ここをちょっと変えるだけだよ」とおっしゃられるお客様が結構おられます。
システム開発のプロジェクトについてについて、家の建築に比喩されることが良くありますが、その通りだと考えます。
家を建てるにおいての工程を簡単に書くと下の様になります。
1、どんな家が建てたいのかを確認し
2、設計書や完成予想図を作って確認
3、建築開始
4、建て終わって引渡し
さあ、基礎工事も終わって、棟上も終わりましたという時に、お客さんが、「いや、この真ん中の部屋、やっぱり、6畳じゃなくて、10畳にしてもらえる?」と言ってきました。これを、どう思われますか?
建設会社としては、当然、断るでしょうが、どうしてもと頼まれた場合は、当初の要望確認や設計も含めた棟上までに掛かった費用と建てた途中までの家の取り壊し等の費用の見積り、及び、10畳に変更した部屋を含めた再設計から引渡しまでの見積りが出てくると思われます。
「また、大げさな建築物だったら大変だけど、コンピューターのプログラムなら大した事無いでしょ?」と思われておられる方も多いかと思います。確かに建物に比べれば材料も無いですので、簡単に思えるかと思います。
では、システムの構築においての工程を簡単に書いてみましょう。
1、どんなシステムを作りたいのか確認し
2、設計書や完成イメージを作って確認
3、製造開始
4、製造が完了して納品
工程は、家を建てる時と酷似していますね。いや、同一といえるでしょう。
先ほどの10畳へ変更したいという例ですと、システム開発では、差し詰めシステム全体に関わるデータベースのテーブル変更といったところでしょうか。
つまり、先ほどの例の、「当初の要望確認や設計も含めた棟上までに掛かった費用と建てた途中までの家の取り壊し等の費用の見積り、及び、10畳に変更した部屋を含めた再設計から引渡しまでの見積り」と同じ様にシステムに置き換えて書けば、「製造途中のシステムの破棄等の費用は発生しないにしても、当初の要件確認や設計も含めた製作途中までに掛かった費用の見積り、及び、テーブル変更した部分を含めた再設計から納品までの見積り」となります。つまり、それまでの掛かった費用と、これから掛かる費用の要求は、家の建築と同じような見積りとなるということです。
また、一戸建ての家の設計変更であれば、良いですが(良くないですが)、これが、50階建てのビルだったら、大変なことになります。システムで置き換えれば、一戸建てが、簡単な問合せフォームだとしたら、50階建てのビルは、大掛かりな基幹システムですね。
この問題は、私にだけに起きているのではなく、システム業界全てで起きており、そのため、もっと上手くシステム開発を進める事が出来る様に、新しいシステム開発手法も考案されています。それは、製造途中での仕様変更にも対応できるような手法です。先進的な考え方でお客様の要望を迅速に取り込むことができ、使いやすいシステムを実現できると考えますが、それでも、仕様変更の大きさや頻度により限界が出てくると思われ、また、工数の換算が出しにくく、短期間での要望の実現が可能なようですが、プロジェクトは、なかなか終了しない様な印象を受けました。
しかし、実際にお客様よりいただく「使ってみないと分からない」という声は、開発している側としても、良く理解しております。この問題は、システム業界の永遠の難問となると考えます。