ところが、ソフトウエアの場合は、だいぶ趣が異なるのです。店頭に並んでいる製品であっても、欠陥を持っているケースが大変に多いです。アプリケーションソフトでは致命的な欠陥は少ないのですが、些少な問題が見つかるのはよくあることです。オペレーティングシステムとなると、インターネット時代ということもあって、機能上の問題だけではなく、セキュリティ上の問題が多く見つかります。
ソフトウエアの世界では、リリース後(発売後)に欠陥が生じることが、なぜか認められているのです。インストールが途中で異常終了したり、インストールしたソフトが起動しないといったことがあっても、それで大騒ぎすると「トーシロ」扱いされて恥ずかしい思いをさせられたりします。修正ソフトをFDで送付してくれたり、HPからダウンロードできたりすれば、まぁ解決するのですが、それによって新たな欠陥が生じたりもするからやっかいです。また、不具合を発見してベンダに問い合わせると、「次バージョンで修正する」と言われたりします。そうなると、保守契約を結んでいなければ、有償で次バージョンを購入することになります。まったく、消費者を嘗めているとしか思えないですがそういう世界なのです。
販売管理システムを構築するために、2つの方法があります。一つ目は、一から作ることです。二つ目は、パッケージソフトを買ってくることです。パッケージとしては、TVのCMでよく流れている、経理ソフトの「勘定奉行」なんかが有名ですね。
そのうち、「一から作る」について考えます。「一から作る」ことが、いろいろな問題を引き起こします。パッケージの場合も、不足していいる機能を作り込んだりしますので、新たに作る部分については「一から作る」のと同じです。
販売システムを作るのに、顧客側としては「どんなシステムが欲しいか」を決めなければなりません。そのため、在庫担当グループ、営業担当グループから代表者を呼びます。経理システムに売上データをつなげるためには経理担当者も必要ですし、法的な問題を検討する必要があれば法務部門の社員も必要でしょう。そういった人たちがあれこれ議論してシステムの仕様を決めます。それをソフトハウスがよく聞いて、システムとして設計しコンピュータ言語や開発ツールを駆使して、作り上げます。
人から人へ情報を伝えると、たいてい、何らかの漏れや誤解や勘違いや記憶間違いが発生します。<在庫担当者>→<在庫担当代表者>→<代表者会議での議論>→<システムエンジニア>→<プログラマ>と流れていく度に、それが発生するわけです。これに加えて、都合のつかない在庫担当代表者の替わりに別の社員が会議に出席したり、プログラマが退職して別のプログラマに引き継いだりもします。できたものを、在庫担当代表者がチェックして「これでよし」と言っているのに、在庫担当者が「これでは使えない」と言ったりします。初めに決めたことが、作っている間に再三再四、変更されるのでこれもまた大変です。
結果的に、業務用ソフトウエアを「一から作った」場合も、不具合が発生します。そして、それはやはり、そういうものだと「認められている」のです。パッケージとは違い、ある規模のシステムを、ある期間で、ある人数で「一から作る」のですから、上記の伝達の問題に加えて、開発側メンバの各人の技術の問題や、スケジュールの問題、マネジメントの問題で不具合を出すことも多くあります。顧客としては、不具合が出てもよいと考えているわけではなく、多少は仕方ないと思っているだけです。だから、不具合の修正はしっかりやらされますが、とにかく不具合は発生するのです。
では、品質が相当良いのだろうと思われるかもしれませんが、そううまくはいきませんでした。仕組みはいいのでしょうが、運用する人間、組織によって、どうにでもなってしまうのです。このCMMについては長くなるので別項でまた取り上げることにします。