「バグが出ないのはおかしい」

以前、開発中の大規模システムと同時進行でそのシステムのマニュアルを作っていたことがあった。かつてはシステムを作る側にいたこともあったが、今となってはその傍らでせっせとマニュアルを作ればいいので気楽だった。まぁシステム開発もそれはそれでおもしろい仕事ではあったけれど。

大規模なシステム開発プロジェクトは、ゼネコンのごとく下請け・孫請けが連綿と続く、責任の所在があいまいになりがちな体制で行われることが少なくない。今回の案件もこの例に漏れず、下請けになればなるほど緊張感が薄れていく。しかし、下ばかりが悪いわけではない。上だってよくなかった。

特に一次請けが最悪だった。最悪を通り越して滑稽でさえあった。例えば、毎週プロジェクトの進捗ミーティングが行われるのだが、午前10時に始まって昼を挟んで午後4時まで続くこともざらだった。各社からマネージャクラスの人間が参加して、根ほり葉ほり進捗状況を聞かれる。「なぜ予定より遅れているのか?」とか「こんな状態で品質を担保できるのか?」といった、ほとんど取り調べのような追及を延々と受ける。

ミーティングの前日ともなると、進捗資料やスケジュール修正などで徹夜になることが多かったようだ。冷静に考えれば(考えなくても)、そんなことをしている暇があったらプログラムを1本でも2本でも作っている方がよっぽどましだと思うのだが、誰も気づかない。あるいは気づかない振りをしている。マネージャクラスの人間だけに人件費だって相当なものだったに違いない。

そんな中で一次請けのプロジェクトマネージャ(一番えらい人)が言い放った一言が今でも忘れられない。システムの運用試験について、バグ(不具合)がゼロ件だったという報告を聞いた彼は、すかさず「バグが出ないのはおかしい。テストのやり方がおかしいのでは?」と質した。

一堂唖然としたが、誰も反論はできなかった。する気も起きなかったと言うべきか。最初は必ず一定数のバグが出て、以後テストと改良を重ねていく過程で徐々にバグの発生件数が減っていき、最終的に収束する、という美しい、理想的な、教科書に載っていそうな「曲線」が彼の頭の中に描かれていたようだ。

その後、そのシステムは実際の業務で使われることなく葬り去られ、「再構築」という名の下に再び下請け・孫請けが集められた。歴史は繰り返される。掘られた穴は埋められ、また別の穴が掘られようとしている。しかし、こんなことはいつまでも続かない。いずれ「バグ」が出て気づく。「やり方がおかしいのかな?」

そう、バグが出ないのはおかしい。


「とりあえず生きてます」