少し前ですが、日系BPのメルマガから送られてきたもの。
主な内容は、下記の通り。
◆情報システム事故、悪いのはお前だ! 5月に情報システムの事故が相次いだ。一体、誰が悪いのか。 事故を起こした企業の経営幹部が悪いのではないか。 ★情報システム事故・技術者だけでは防げない http://itpro.nikkeibp.co.jp/article/COLUMN/20070611/274330/?ST=biz_risk ベテランが引退する「2007年問題」が悪いのではないか。 ★ITの2007年問題は“逃げ水” http://itpro.nikkeibp.co.jp/article/COLUMN/20070611/274341/?ST=biz_risk 採用する技術が悪いのではないか。 ★「ひかり電話」はまだまだ止まる http://itpro.nikkeibp.co.jp/article/COLUMN/20070611/274344/?ST=biz_risk 絶対に止まらないシステムを求めることが悪いのではないか。 ★システムは時には止まる http://itpro.nikkeibp.co.jp/article/COLUMN/20070514/270882/?ST=biz_shin ★ATMの24時間稼働は必要か http://itpro.nikkeibp.co.jp/article/COLUMN/20070514/270888/?ST=biz_shin ★情報は必ず漏れる、システムは必ず止まる http://itpro.nikkeibp.co.jp/article/COLUMN/20070514/270891/?ST=biz_shin ITのリーダーが悪いのではないか。 ★CIOは「情報事故」を防げるか http://itpro.nikkeibp.co.jp/article/OPINION/20070302/263773/?ST=biz_risk 経営トップが悪いのではないか。あえて2002年の記事を再掲する。 ★みずほ銀行システム障害に見る「動かないコンピュータ」の根本原因 http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20020410/1/?ST=biz_risk 誰が悪いとばかり言うマスメディアが一番悪いのではないか。 ★マスメディアのIT音痴から身を守る方法 http://itpro.nikkeibp.co.jp/article/COLUMN/20070514/270923/?ST=biz_shin ★東証システム問題を考える(前編) IT広報の強化が喫緊課題 http://itpro.nikkeibp.co.jp/article/COLUMN/20060214/229237/?ST=biz_risk
実際に、開発・運用・保守をする立場から見れば、どれもわからなくは無いです。
そもそも、こういったトラブル時に対してあれこれ悪口を言う人はシステム(コンピュータ)に対して過度な期待をかけすぎているように感じます。
システムは完璧であるべきなんだ、コンピュータに間違いは無いと。
悪いのはそれを開発した、運用した人間なんだと。
ただ、根本的にここが間違っていて「システム(コンピュータ)は馬鹿」なんです。
基本的にシステムは、命令された事しか実行できません。人間みたいに気を利かせるなんて事は到底できません。
また、コンピュータは完璧ではありません。単純な計算ミスをすることだってありえます。
コンピュータは、単に人間より処理能力が早いだけの存在です。
ですので、ここにあるような情報事故はコンピュータが命令どおりに動いた結果であって、起こるべくして起こっているわけです。
じゃあ、やっぱりそれを作った人が悪いんではないかと言う事になりますが、命令どおりにしか動かないシステムに、あらゆる事象を組み込む事は並大抵のことではありません。
東京から大阪に行くルートを導きなさいと命令した場合、日本中のあらゆる道路を網羅して経路を割り出せば良いと考えるでしょうか。
ただ、実際には航路も考えられ、飛行機で東京から韓国に渡り大阪に戻ると言うルートも現実「可能」なわけです。
それらを全て命令に置き換えることは、非常に難しい事です。
もう一つ例を挙げるなら、あなたがコンピュータから何か資料を印刷して、コピー機にそれを取りにいきました。
すると既に何枚か印刷が完了しており、紙を見ると名前が書いてあったので、その本人にそれを渡してあげました。
しかし、同じ事をコンピュータにさせるには予め命令しなければなりません。
人間は命令しなくても行動できます。
先に書いたように、人間のように気を利かせることなんてできないわけです。
命令されたら動く、命令されなかったら動かないと言う事になります。
何らかの処理で、命令の順序が食い違ってしまえばシステムは命令されていないと思い、それを動かそうとしないかもしれません。
それによって障害が引き起こされたりします。
また、システムと一口に言ってもそれらは小さな機能群によって構成されています。
個々の機能は、先ほど言ったようにそれぞれの役割(命令)がインプットされています。
と言う事は、個々の機能はそれぞれの役割を超えた作業を行う事はできません。
人間なら、同僚が忙しそうなら手伝ってあげるなんて事ができますが、システムの世界ではそういう命令がされていないのであれば見てみぬ振りをします。
つまり、個々の役割が明確になっているが故にその機能と機能の間の領域に落とし穴ができやすい状態になります。
人間ならカバーしあえますが、システムはできません。
また、2つの箱(機能)をどんなにくっつけて一つの箱であるかのように見せても、物理的に一つの箱に合体するわけではありません。
それは簡単に引き剥がす事ができる代物なわけです。そこに脆さがあります。
1から10まで全てを命令しないと正確に動いてくれないシステム。
「システム(コンピュータ)は馬鹿」なんです。
「システム(コンピュータ)が馬鹿」なのではなく。
本当の意味で「システムが馬鹿」なのであれば、それこそは開発者に問題があるかと・・・。