叡智の三猿

~森羅万象を情報セキュリティで捉える~

謝罪と愛おしさのITエンジニアリング

前回はこれから社会人になる新卒エンジニアを意識してITの仕事の種類を思うがままに書きました。

しかし、実際にIT化の現場に入ってわたしが多く経験したのは、どの仕事の種類でもありません。

いや、もちろんどっかしらの種類には含まれているのですが、あらゆるITの仕事を串刺しして共通で発生する仕事があります。

それは 謝罪 です。

謝罪はITエンジニアの仕事をする上で避けては通れない仕事です。

ITエンジニアはコンピュータのことを知っているつもりでも、完全に制覇するほどは分かってはいません。

エンジニアはコンピュータと格闘を重ねるなかで、徐々に理解していくのです。

ですので、コンピュータを制覇していないITエンジニアの仕事は、何らかのミスを起こします。

そしてコンピュータはミスを許容することなく、動きを停止します。

こうして「動かないコンピュータ」が、利用者に提供されます。

ここでは、わたしが実際におこなった謝罪業務の事例を4つ紹介します。

全社メールのデータベースが消えた

f:id:slowtrain2013:20211230023553p:plain:w30そのとき、わたしは社内システムエンジニアとして全社メールシステムの管理をしていました。そのメールシステムは既にベンダーからのサポートが終わりを迎えつつあったことから、新たなメールシステムに入れ替え作業をすることとなりました。このとき、移行作業をしたメンバーが、メールのデータベースを誤って消してしまったのです。そして悪いことにメールデータベースのバックアップを事前に取っていない為、切り戻しもできない羽目になったのです。これにより仕事でメールを使っていたすべての従業員の過去メールが消えるという大惨事となったのです。情報システムの部門長の呼びかけにより、社内エンジニアは緊急招集され、各フロア別、各部門別に担当者をわけ、ひとりひとりの利用者の元を訪ね、お詫び行脚をしました。

他の従業員の考課情報が見れてしまった

f:id:slowtrain2013:20211230023553p:plain:w30人事システムは原則としてクローズな仕組みですが、一部の情報は一般の従業員にもWebアプリケーション(イントラネット)で公開していました。それは労務関連の申請・承認手続きや、従業員の所属、社員番号、内線番号など、一般に公開しても差し支えない情報に限定していました。一方で、機密性の高い、人事考課や従業員の家族関係の情報は非公開にしていました。しかし、アプリケーションの作りが甘く、考課情報のテーブル名がわかっている人が、検索窓を使って、Select文を入力すると考課情報に対して情報を書き出す命令を成功させてしまったのです。これはSQLインジェクションというアプリケーションの脆弱性です。検索において、シングルクォート「’」は、問合わせ命令文にて”文字”として処理する改修を施しましたが、それまではシステムを閉鎖し、Webページに謝罪文の掲載と、利用者からのクレームの受付を担うこととなりました。

研修会で操作をしたら画面がフリーズ

f:id:slowtrain2013:20211230023553p:plain:w30アパレル向けの商品調達システムを提供するプロジェクトに上流系SEとして参画したときです。このシステムはオブジェクト指向を用いた設計を施すことで、変化に強い仕組みを提供することをモットーに開発しました。なんとなくテスト段階で、画面の動きが鈍い感覚を持っていましたが、あまり気にすることなく、操作研修会を迎えました。操作研修会は実際にアパレル企業で調達業務を行っているMD(マーチャンダイザー)が20名ほど集まりました。ひととおり、講師役であったわたしがプロジェクターに操作デモを投影した後、MDに画面操作するよう指導しました。そして、20名のMDが一斉に各自のパソコンで発注登録の操作をしたら、すべての画面がフリーズしてしまったのです。これはオブジェクト指向設計を厳密の行いすぎたことで、多数のクラスが作られ、それによりSQLの発行が異常に増えてしまったことが原因です。講師役のわたしのあたまの中は、真っ白になり「こんなときにうまいアドリブができる人間になれたらいいな~」と、思いながら、何度も何度もMDに頭を下げました。後日、オブジェクト指向を指南したITコンサルタントにクレームを言ったら「それはレスポンスタイムの要求レベルを事前に定義できなかったことが問題なんです」という、理解不能な説明を受けました。

海外製の需要予測パッケージが全く動かない

f:id:slowtrain2013:20211230023553p:plain:w30SCM(サプライチェーンマネジメント)のプロジェクトに参画したときのことです。そのプロジェクトでは、ある海外製の需要予測パッケージを日本の顧客企業にはじめて導入するモデルケースでした。その意味でIT業界の注目集めました。しかし、この海外パッケージ・・・マニュアルがすべて英語のうえ、記載内容も乏しく、どうやれば操作できるのかがよく分かりませんでした。半ば徹夜を重ねることで何とか機能を取得したのですが、実際にお客様のデータを使った需要予測を実行しようとすると、何も処理が進んでいないように見られました。急遽、プロジェクトマネジャーから招集がかかり、海外製のパッケージを使わず、MS-Accessで予測を回すようにしようと決まりました。もちろん、Accessでなんら不都合なく需要予測は実行できるのですが、顧客企業は「なぜ、高いお金を払って使えないパッケージを購入しなければならなかったのか」を問いただされました。プロジェクトマネジャーは「わたしも断腸の思いで決断しました。申し訳ありません。」と、頭を下げました。わたしはマネジャーの横で歩調を合わせるように「申し訳ありませんでした。」と、頭を下げました。

f:id:slowtrain2013:20211230023251p:plain

ここに挙げた謝罪はほんの一例にすぎません。そして謝罪の元となった数々のシステムたち・・・これらのシステムにわたしは振り回されました。しかし、いまこのシステムのことを思うと、不思議なくらい愛おしさがこみあげてくるのです。