帰りの翻訳機を、いろいろな形のデータで試していた。見出しの名前で列を探す作りにしたので、多少の違いは吸収できる。ほとんどの形で、追跡番号は正しく書き戻せた。
ところが、ある形のデータで、書き戻しがゼロ件になった。一件も突き合わない。エラーではない。ただ、静かに、何も書き込まれなかった。しかも、そのとき画面には「配送側に追跡番号が見当たりません」と出ていた。まるで、発送がまだ済んでいないかのように。
ゼロ件は、二つの意味を持っていた
このゼロ件が、やっかいだった。同じ「ゼロ件」に、二つの意味が混ざっていた。
一つは、本当にまだ発送されていなくて、突き合わせるものが無い場合。もう一つは、突き合わせようとしたが、鍵になる番号が食い違って、当たらなかった場合。前者は正常、後者は異常だ。なのに、どちらも同じ「ゼロ件」として、同じメッセージを出していた。
「追跡番号が見当たりません」という表示は、前者のつもりで書いていた。だから、後者のときも、そう出てしまう。異常を、正常のような顔で見せていた。
番号が、数に化けていた
原因を掘ると、また表計算ソフトだった。
突き合わせの鍵は、注文番号だ。往きのときと同じ、長くて、先頭にゼロが付くことのある番号。この番号を、使う人が一度、表計算ソフトで開いて保存していた。その瞬間に、番号が数として解釈され、先頭のゼロが落ち、長い桁が丸められた。
書き戻す側の番号と、突き合わせる相手の番号。同じはずのものが、片方だけ数に化けて、別物になっていた。だから、一件も当たらない。人は番号を壊した自覚がなく、こちらはゼロ件を正常として見せる。二つの誤解が、重なっていた。
早く、正しい言葉で気づかせる
直したのは、二つだった。
まず、鍵の番号が数に化けていないかを、読み込んだ時点で確かめる。数として丸まった番号が並んでいたら、その場で「番号が壊れています。表計算ソフトで開かず、そのまま使ってください」と伝える。手遅れになる前に、入口で気づかせる。
もう一つ、ゼロ件の意味を、二つに分けた。番号が食い違って当たらなかったのか、そもそも発送前で相手が無いのか。区別して、それぞれ違う言葉で伝える。同じゼロ件でも、「壊れている」と「まだ無い」は、まるで違う。見る人が、次に何をすべきかが変わる。
沈黙する失敗が、いちばん怖い
この一件で、身にしみたことがある。エラーを出して止まる失敗より、静かにゼロ件を返す失敗のほうが、ずっと怖い。
止まってくれれば、人は気づく。けれど、それらしい顔でゼロ件を返されると、人は「今日は発送分が無いのか」と信じてしまう。間違いが、正常の姿で通り過ぎる。気づいたときには、何日ぶんもの通知が漏れている、ということになりかねない。
だから、結果がゼロや空になるところには、必ず理由を添えるようにした。なぜゼロなのか。正常なゼロか、異常なゼロか。その一言があるかどうかで、沈黙する失敗を、声のある失敗に変えられる。二つの仕組みの間に立つ翻訳機は、正しく変換するだけでなく、変換できなかったことを、正しく伝えるところまでが仕事だった。