言うまでもないことだが,システム障害は偶然の産物ではない。自然発生的に起こるのではなく,人間が何らかのミスを犯したために起こるものだ。そして多くの場合,システム障害の原因が作られる過程には,開発担当者や運用担当者の油断や手抜き,不注意などが絡んでいる。

 システム障害の種をまいた当事者が,その兆しに全く気付かないということは意外と少ない。言葉では表せない不安感が脳裡を一瞬かすめるはずだ。恐らく無意識のうちに警戒心が働くためだろう。

 筆者はこれを「システムの神様からの警告」と呼んでいる。不思議なことに,警告を無視すると,必ずと言っていいほど障害が起こる。得体の知れない不安感に襲われたときに,その場で見直すことなく,「まあ大丈夫だろう」と高をくくっていると,必ずしっぺ返しを食らうのだ。神様の警告を無視した罰が下るのかもしれない。

 例えば金融機関のシステムで,様々な通貨の金額を表示する機能に不具合がないかどうかをテストするとしよう。このようなシステムの開発を経験したエンジニアなら分かると思うが,すべての通貨を対象に全テスト項目を検証することはあまりない。代表的な通貨である米ドルや,欧米通貨と違って補助通貨単位(セントなど)のない日本円など,いくつかの通貨を選んでテストを実施するのが一般的だ。一方,カナダ・ドルや香港ドルは,表示処理が基本的に米ドルと同じだと考えて,テストを省略しがちである。しかし,省略したときに限って,表示以外の部分に障害の芽が潜んでいたりするものだ。

 何ら根拠のある話ではないが,筆者の経験則によると,「省略しても大丈夫かなあ…」といった不吉な予感がしたときは,間違いなくシステム障害が起こった。逆に,多少の“手抜き”があっても,不吉な予感がなかったら,それが原因で障害が起こることはまずない。もちろん,どんな形であれ,システム開発の手抜きは許されるものではないが。

 ここで筆者が体験した神様の警告を1つ紹介しよう。

 筆者がかつて在籍していた銀行のドイツ支店で,顧客宛て計算書を作成するためのシステムを再構築したとき,その検証テストを若手SEに任せたことがあった。同じデータを使用して,新システムで出力した資料と,それまで使用していた資料を見比べて,同じかどうかをチェックする,という単純なものだ。「オーケーです」というSEの報告を聞いて,管理者である筆者は一発で合格を出し,書類に押印した。

 このとき,ふと目をやった先に積み上げられた新旧の資料を見て,筆者は一瞬「おや?」と思った。旧システムの資料に比べて,新システムの資料の分量が2~3割多かったからである。しかし,一瞬脳裡をよぎったこの不安感を,筆者はすぐに打ち消した。「プリンターの調子が悪くて,無駄なページをたくさん排出したのだろう」。心の中でそう言い聞かせ,後味の悪さを感じながらも,ほかの仕事に没入してしまった。

 案の定,新システムが稼働した直後に問題が露呈した。資料が多かったのは,新システムのプログラムに記述された改頁(ページ)の位置が,誤っていたからだった。印刷する情報の内容は正しかったため,検証したSEは気付かなかったわけだ。

 「しまった。あの時,自分の目で確かめておけば」。その時のくやしさといったら言葉では到底表現できない。無意識のうちに犯したミスなら,さほどのショックはないのだが,なまじ思い当たる節があるだけに,後悔は大きかった。

 障害を未然に防ごうと思うなら,ミスを無くすことが第一である。だが,さらに重要なのは,ミスを犯してしまったときに感じるであろう不吉な予感を大切にすることだ。システムの神様はいつも我々を見守ってくれているのだから。

岩脇 一喜(いわわき かずき)
1961年生まれ。大阪外国語大学英語科卒業後,富士銀行に入行。99年まで在職。在職中は国際金融業務を支援するシステムの開発・保守に従事。現在はフリーの翻訳家・ライター。2004年4月に「SEの処世術」(洋泉社)を上梓。そのほかの著書に「勝ち組SE・負け組SE」(同),「SEは今夜も眠れない」(同)。近著は「それでも素晴らしいSEの世界」(日経BP社)