バッド・タイミングの日



1999年 3月5日 午前の部

 朝、会社に着くなり電話が鳴った。お客様からの問い合わせである。「昨日、問い合わせをした者ですがその後どうなりましたか? 今日対応していただけるというお話だったんですが・・・」。ん? その後、って何が? 僕は知らんぞ・・・あ、そういえば昨日、営業さんが何かユーザさんの対応していたけど、それの事かな。昨日のうちには終わらなかったんだな、きっと。えーと、営業さんは・・・あれれ、今日は有給取ってるよ。なんでなんでなんで? ユーザさんに明日対応するって言っといて、今日休んでるってどゆこと?。無責任な話である。

 仕方がないので、もう一度問い合わせの内容を伺うことになる。要は購入したソフトが正常に動作してないって事だった。話の内容から推測するに、どうやらMFCのライブラリが足りないようである。あれれ、これって既知問題じゃなかったっけ? まだ対応してなかったのか? このソフトの開発担当は・・・あれれ、こっちも休みだよ。どうすんだよ、僕はこのソフトのこと殆ど知らないんだぞ。取り急ぎの対応として、そのライブラリをメールで送ることにする。「これをSYSTEフォルダに入れて下さい」。

 しかし、しばらくすると送ったメールがエラーで返ってきた。 エラーの内容を読んでみると、どうやら向こうのメールサーバが500KB以上のメールを排除しているようだ。確かに急いでいたとはいえ、1MB弱のファイルをメールで送るのはちょっと無謀だった。ライブラリを圧縮してみる。おおっ、432KBまで圧縮された。これなら大丈夫かな? もう一度送り直す。が、しばらくするとそのメールもエラーで返ってきてしまった。エラー表示では500KBまでと記載されているが、実際にはもっと厳しいチェックが入ってるようだ。これは困った、メールではライブラリを送れない。お客様に電話をかけて、何か手が無いかを模索することに・・・

(僕)「そちらのオフィスでNiftyのアドレスをお持ちの方はいらっしゃいますか?」
(客)「ええと・・・いないですねえ」
(僕)「では、そちらからWEBは参照できますか?」
(客)「基本的に外部とのやりとりは制限されているんですよ」

このお客様は某公官庁の方、それも外部とのやりとりにすごく厳しそうな部署である。

(僕)「困りましたねえ・・・(冷汗)」
(客)「・・・・・・」
(僕)「WEBを参照できれば、そこからダウンロードできるんですが・・・」
(客)「あ、そうなんですか? だったら隣の部署でやってみましょうか?」
(僕)「えええっ!(なんだよ、できるんじゃん)、あ、はあ、お願いします」

 外部通信との規制が厳しいのはこの部署だけで、隣の部署はそうでもないらしい(あんまり意味が無いような気もするが)。結局、お客様にWEB上からダウンロードしてもらった。非常に恥ずかしい対応ではあったが、とりあえず一件落着。なんで僕が対応しなきゃいけないんだよ・・・。

と思ったのも束の間、またお客様から電話が入る。今度はインストールが上手くいかないというものだった。

(僕)「インストール方法についてはマニュアルの参照していただけますか?」
(客)「マニュアルは入ってなかったんですけど・・・」。

 なにっ!、マニュアルが入ってなかった? これは完全にこっち側の不備じゃないか。出荷担当は一体何やってんだ? 平謝り状態で(なんで僕が謝ってんだよ)、電話で一つ一つ、インストール手順を口頭で説明することになる(トホホ)。

 しかし、どうもインストールが上手くいかない。 きちんと手順通り進めていただいているようなのだが、 こっちが思っているような動作をしてくれない。

(僕)「ドライバのインストールはできましたか?」
(客)「とりあえずフロッピーからコピーされたみたいです」
(僕)「確認してみましょう。デバイスマネージャーに○○○という表示が出ていますか?」
(客)「いや、×××と表示されてます」。
(僕)「・・・・・・(???)」

 ん? 「×××」ってなんだ? どうしてそんなドライバがインストールされてるんだ? っていうか、そうしてインストールフロッピーにそんなドライバが入ってるんだ? 変だ。変だ。どう考えても変だ。うむー・・・これは一体全体どういうことだ。僕はこのソフトの開発には一切タッチしていないので詳しいことは分からない。必死であらゆる可能性を頭の中で想像する。とりあえず「×××」という表記から察するに、これはうちが作ったドライバである可能性が高い。しかし製品版の表記とは全く異なっている。このドライバは一体何なんだ?

 いろいろ考えてみた結果、「×××」というのは、このソフトのデモ版を開発していたときに使っていたドライバではないかと推測するに至る(このソフトのことは知らないから推測するしかない)。ってことは、このソフトのデモ版がインストールされたままになっているのか? しかし、デモ版はあくまで社内評価用に作ったはず。これをお客様に配布しているなんて話は聞いたことは無い。営業さんが勝手にばらまいちゃったのだろうか? それともマスターフロッピー自体にこのデモ版が紛れ込んでいたのだろうか? どっちにしろ、こんな勝手なことをやられては困るんだよ。

 ここまで推測するまでに30分以上かかった。取り急ぎ、このドライバを削除していただいて、今度は正しいドライバをインストールして貰った。結果、やっと動くようになった。

(客)「動きました!」
(僕)「ああっ、良かったです(すべてこっちが悪いんですぅ)」
(客)「いろいろお手数かけてすいませんでした」
(僕)「(うわっ、謝ってるよ)とんでもないです。こちらこそ・・・」

 明らかにこちら側の不手際である。誰がこんな事をしたのか後で徹底的に追及してやるからな。やさしいお客さんで良かったよ。

 僕の午前中はこれで潰れた。やらなきゃいけないことがいっぱいあるのに〜っ(泣)。この対応の直後、このお客様を担当している営業さんから電話が入る。

(営)「上手くいってなかったみたいですけど、どうなりました?」
(僕)「とりあえず動いたみたいですよ(めちゃくちゃ大変だったけどな)」
(営)「そうですか。お客様には何かあったら携帯に連絡下さいと言っておいたんですが・・・」
(僕)「・・・・・・」
(営)「何も連絡が無かったので大丈夫だろうなあとは思っていたんですけどね(笑)」。

 その連絡を受けたのも、対応したのも僕なんだよ(怒)。全然関係無い僕が、なんでこんな事をやらなきゃいけないんだよ(憤)。 と、心の中で叫びつつ何事も無かったかのように電話を切ったのでありました。

1999年 3月5日 午後の部

 僕はこの部署のソフトウェア管理を担当している。仕事で使用するいろいろなソフトウェアのライセンス数などを管理するのが主な仕事だ。先日、僕のところへ全社的な「ソフトウェア資産管理の実施」の通達が来た。要は各パソコンにインストールされているソフトウェアの実体調査とその管理台帳を提出せよ、ということだ。なんでこんな忙しい時期にこんな面倒くさいことをやらせるんだろうか? まあ、これも仕事のうちである。さっそく配布された作業の手順書を熟読する。うむー・・・・何の事やら全然わからない(笑)。こんな手順書をみんなに配布しても混乱を招くだけだなあ(もちろん、混乱して一番困るのは僕である)。仕方がないので、もうちょっと意味の分かるような手順書を自分で作成することにする。ソフトウェアのマニュアルが分かりにく、いっていう評判を良く聞くけど、社内文書でさえ分からないんだから、マニュアルが分かりやすい訳ないんだなよな、これが(笑)。

 各マシンにおけるソフトのインストール状況を調べるには、一緒に配布された専用のプログラムを使用する。これを各マシン上で実行してもらうと、自動的にその調査結果を一カ所に保存する、という仕組みだ。当然、皆さんに作業をお願いする前に、僕自身がその専用プログラムについて知っておく必要がある。さっそくインストールし、実行してみる。ほうほう、何だか知らないけどハードディスクの中身を調べているようだ。待つこと3分、そろそろ終わるかな、と思っていたら突然エラーメッセージが出た。

「ファイル名の創生でエラーがおきた」

 ファイル名の創生? 「創生」ってずいぶん大げさな(苦笑)。エラーがおきた? 「おきました」じゃなくて? すいぶん高飛車なメッセージである(苦笑)。とにもかくにもエラーが起きているのは間違いない。プログラムの設定をいろいろ確認してみたが、どこも間違っていないようである。埒があかないので「ソフトウェア資産管理の実施」の責任者に来てもらい、状況を説明する。

(僕)「こういうエラーが出るんですよ」
(責)「これですか?」
(僕)「「エラーがおきた」っていう・・・(苦笑)」
(責)「初めて見ました」
(僕)「(少しは笑ってよ)手順は間違ってないんですよね」
(責)「ええ、間違いないです」
(僕)「どうしましょうか?」
(責)「ちょっとこっちで調べてみます」

 このプログラムは情報を収集したあと、その結果を指定した場所に保存する。手順書には「ネットワーク上の共有フォルダをネットワークドライブとしてマウントし、そこを保存先として指定する」とある。あの奇妙なエラーメッセージから推測すると、なんらかのファイルの作成で失敗しているようだ。ファイル作成のエラーとして真っ先に思いつくのが「無効なパス名」だ。変なパス名でファイルを作ろうとすると「そんなファイル作れないっす」とシステムからエラーが返される。通常、パス名(任意のフォルダ)を指定するときには「C:¥TMP」って記述する。ここに何らかのファイルを作成する場合「C:¥TMP¥FILE.DAT」というふうに既存のパス名に「¥」を付加した後でファイル名である「FILE.DAT」を連結する。ところがドライブを指定するときには「X:¥」って記述する。ドライブの場合、最後に「¥」が付いているのが普通だ。もしこれを何も考慮せず、前述のようにパス名を連結させると「X:¥¥FILE.DAT」となってしまい「¥¥」が2つ付いてしまうのだ。非常に初歩的ではあるが、以外と良く見かけるバグである。

 試しに情報の保存先を「X:¥」ではなく「X:¥Result」として実行してみた。ビンゴ!!(笑) 大当たり。プログラムは正常に動作するようになった。なんだ、バグじゃんこれ(苦笑)。なんで僕がこのプログラムのデバッグをしてるんだろ?

 不条理な話ではあるが、まあ午前中の苦労に比べれば大したことはない。たまたまタイミングが良くなかったんだな。今日はそういう日なんだよ、きっと。僕も随分と丸くなったものである。誠に勝手ではあるが今日、3月5日を「バッド・タイミングの日」と制定する(笑)