コンピュータが得意なことを勘違いして、この業界に住んでいる人がいる。どこかのお役所じゃないけど「池ちゃん、ウィンドウズ入れれば全部解決するんだから、、、」と言う人はなかなかいないだろうが、結局、コンピュータってのが何かを知らない人というのは多い。
コンピュータが得意なものは結局定型業務なのだ。決まりきったパターンを何度も繰り替えうす事が得意なのだ。一方、得意じゃないものは、臨機応変に対処すること。
ソフトウェアのテストをすると、技術者が考えうるありとあらゆるテストをしようと試みる。しかし、そのテストを合格したソフトをちょっと素人(技術者以外の人)が使うと、とたんにバグが出る。技術者が予想もしていなかった使い方をするためだ。だから、フィールドに出たソフトウェアは、どんなに優秀でも必ずバグが出る。ユーザが多ければ多いほど、使われ方が多種多様であればあるほど、いろんなバグが出る。
しかし、「バグのないソフトウェア」があるなんていう人がいる。しかも、ソフトウェア業界に住んでいてだ。おかしな話だ。恐らく、コンピュータに万能機械を見ているのだろうなと思う。違います。コンピュータは技術者のひとりよがりのフローを忠実に実現するだけです。そして、フィールドで試されて、いかに技術者の了見が狭いかを教えてくれる鏡でしかない。けっして、万能機械ではありません。
それを考えると、ソフトウェアの品質とソフトウェアに発生したバグへの対処は自ずと違ってくる。当たり前だけど。いくら、ソフトウェアの品質がよくても、バグへの対応は忘れてはならない。そして、その対応は人間的で臨機応変にしなければならない。顧客が大事であればあるほど、大事な局面であればあるほど、バグ対応(しかも未知のバグ対応)を考えておかねばならない。
「XXXさんの作ったプログラムは品質がいいから大丈夫でしょ」なんて発想では、なかなかコンピュータ業界では生きていけないなぁ、、、と思いつつ、そういう人が多いのも現実だ。