システムダウンで混乱した空港管制システムとソフトの品質
2002.3.1 国土交通省東京航空交通管制部(埼玉県所沢市)の管制システムの障害により空のダイヤが大幅に乱れたトラブルが発生した。
案の定、直前に変更したプログラムの問題であった。
また、事前チェックを十分に行っていなかったのが原因だったことが判明した。
トラブルのニュースを聞いた時「あ〜、夕べなにかやったんだろう」と思ったが、SEの目から見れば、予想通りの顛末だった。
トラブルの発生において現場での技術者の慌てぶりも目に浮かぶ。
システムというのは、緻密なテストを持って品質が維持される。
しかし、これを拒む空気も結構多い。
第一は、開発サイドの質の悪さで、ろくな製品を開発できないもの。
これは、担当者自身の質の悪さと共に、メーカーサイドの問題も含まれる。
一つには、これほど重要なウエイトを閉めるコンピューターシステムの開発要員に、義務的資格が存在しないことが問題だ。
医者なら医師免許、車なら運転免許を必要とするが、コンピューターシステムについては、資格を必要としない。
一時、通産省主導で「情報処理技術士」という資格がつくられたが、義務化されておらず、別にだれでもシステム開発にあたることができる。
要するに、システムのいろはを知らなくても、とりあえず動けば「完成」となり得るのである。
そしてまた、費用問題も大きいだろう。
本来、開発コストの1/3以上を、テストに要するといわれる。
しかし、製造工程は、省くと物自体ができないが、テストは省いても、ガタイは出来上がっているように見えることに問題があろう。
すなわち、利益を優先すれば、テストを省略すれば、コストの1/3が利益となるのである。
もちろん、テストを「0」にして稼動できるシステムなど、およそ存在しないであろうから、程度問題でもあるのだが。
みずほ銀行でも問題となったが、テストを省く傾向はよくあることだ。
せっかく、大量のテストデータがあっても活用しない場合が多い。
理由は簡単。「大量に処理をしても、大量の確認はできないだろう。確認しないなら、テストするだけ無駄だ。」という論理だ。
アポロ計画は、99.9999%の生還率といわれた。9が6個並ぶので、シックスナインと呼ばれる。
この信頼性は、アメリカ合衆国という大国が、国家威信をかけて、惜しみない財力、技術力を持って、軍、科学、一致団結して為し得たものだ。
99.9999%といえば、100万回打ち上げても、1回しか事故が起こらないだろうとされるものだった。
もちろん、宇宙ロケットを100万回も打ち上げることはないから、ほぼ確実に成功するということだった。
果たして、民間コンピュータ処理ではどうであろうか。
これと比べれば、財力も技術力も、格段に劣るだろう。
仮に2桁落ちるとしよう。1万件に1件のトラブルが起きることになる。
例えば銀行のシステム、ATMでの処理で、1万件に1件お金が出てこないとしよう。
自分一人なら、1万回も出金するには一生かかっても行き当たらない事故にも思える。
しかし、銀行は大量の顧客、大量の処理をやっている。
顧客が10万人いれば、ざっと10人、酷い目に遭うのである。
かつて私が金融機関のシステムを担当していた時、約20万人100万件の実データが試験に使用できることになった。
が、「大量に処理をしても、大量の確認はできないだろう。確認しないなら、テストするだけ無駄だ。」という論理で却下された。
システムを自分一人でやっていればまだ責任範囲も明確だが、どこのだれとも分からない業者が作業している部分と連結すれば、恐ろしくて堪らない。
試験用システムを作って一部のデータを確認したらボロボロだった。
この段階でもできるだけ規模の少ないテストで収めようとする空気しかなかった。
試験結果はストックホームに印刷する。1箱2000枚の紙に、100箱印刷することになる。確かに少なくはないが、有限の数字だ。これで全量確認すれば、問題は残らないのだが、全員が渋った。
四面楚歌、全員からの非難を押し切って断行した。
が、結果は、各種の問題点が確認でき、その後のシステムはトラブルなく動いている。
システムには予期せぬトラブルがある。
事前に想定できない問題は、どうしても残ってしまう。
しかし、どこまで想定するかは、能力の問題だ。
コンピュータを2台置いておけば、どちらかは動くだろう。
が、使用するソフトウェアが同一なら、同時にトラブルは発生する。
2003.3.12
本件では、開発にあたったNECが、不具合を承知の上「大したことなかろう」と、報告していないことが明らかになった。
あらまあ。
システムの不具合を承知の上で稼動できるとはNECのシステムの信頼性には頭が下がる。
NECといえば、航空自衛隊のバッジシステムをも担当しているのだが、お寒い限りだ。
新規作成日:2003年3月4日/最終更新日:2003年3月12日