仕事の同僚と飲んでいてこんな議論になりました。
「先日も銀行の統合に伴ってシステムの統合があった。土日にATMがとまって、月曜日から稼動といのに、早速とまってしまった。何で、同じ設計なのに、コンピューターはこんなにトラブルが多くて、車や飛行機は少ないんだろうか?」
私の仮説
(1) 設計の複雑性/設計・開発にかける費用 の 大きな方がトラブルが多い。
(2) 稼動による売上高・稼働率/運用費 の大きいほうがトラブルが多い。
(3) 設計・開発にかける費用は、製品の値段×数と相関関係がある。
(3)は製品の売り上げや利益の一定の割合として、製品の設計開発費用がかかる。
銀行のようなシステムは、オーダーメイドのようなシステムなので、1億円かかったとしても1つしか売れない。
一方、自動車は少なくとも数万台売れることを考えて設計しているのではないか?
売り上げを単純計算して、
200万円×1万台=200億円
その5%が設計・開発費だとすれば、10億円である。
しかもシステムに比べれば、すでになんらかの車を作っている経験がある上で、新しい車をつくっている。車輪が6輪ある車や毎回エンジンやラジエーターを0から設計しなおすようなことはないだろうか?
ちょっとこれはいいすぎであるが、コンピューターでの設計は新しい技術要素を入れることが多い。銀行の場合は古くて安定しているものを求められるので、配線のしかただろうなと思う。
飛行機の場合は、1機200億円として、1000台ぐらい作られるとする。
200億円×1000=20兆円
20兆円*5%=1兆円
単純ではあるが(1)は、コンピューターシステムより車や飛行機のほうが多くの開発費をかけているといえる。
そして設計の複雑性からいうと、コンピューターの基本ソフトは複雑で、その上で動くソフトも複雑である。ジャンボのボーイング747ではエンジンが4つあり、1つだけでもなんとか飛ばせるそうであり、内部では至る所で2重3重の対策が施されているという。パイロットも2人いる。
飛行機の(2)については、分母の運用費が大きな額になっている。
コンピューターの場合は、ホストコンピューターやサーバーと呼ばれるものは、24時間動きっぱなしである。稼働率は飛行機や車よりも長時間におよび、稼働率は長い。よって、コンピューターでは(2)の数字はより大きくなる。
車や飛行機を製造するという部品や工程、物理的な設計・開発などの考慮はせずに、量的な観点だけで述べてきた。
でもコンピューター関係の仕事をしていると、一番の問題は設計・開発に人的要素がたくさんかかわっていることかなと質的な問題があると思う。
車や飛行機はモノを扱っているので、設計が正しいかどうかはモノがテストで教えてくれる。コンピューターは教えてくれることもあるけれど、人的ミスが多くてそのミスをもらしがちだ。とはいっても、1000件や10000件あるうちの1件ぐらいなんだけれどね。
長くなったのでこのあたりで。
私もよくわからないので、えらい人教えて。