一昨日にユーザーから報告のあった不具合について、ユーザーに昨日いくつか操作ミスがなかったか確認してもらったが、その結果について担当者に電話があった。残念ながらあまりはかばかしい結果は出なかったようだ。
それどころか、別の操作ミスで部品の一部が外れてしまったのだそうだ。部品が落ちた場所によってはもしかしたら装置の一部を分解することになるかもしれない。部品の落ちた場所が良ければ、いますぐ分解しなくてもしばらくは問題なく使えるかも知れない。これがはっきりしないと今後の予定が立てられないので、ユーザーには部品の落下場所の確認を優先的にお願いすることになった。

部品の落下箇所の連絡を待つ間、一昨日報告のあった不具合が社内で再現するかどうかの検証実験をした。自分以外の全員はソフトウェアのバグを疑っていたようだが、結果はソフトウェアの動作には全く問題は無かった。もともとソフトウェアに問題があるという根拠は何も無かったのだが、なぜかいつもソフトウェアが真っ先に疑われる。これまでに、ソフトウェアのバグが不具合の原因であったことはそれほど多くないのだけれど。結局、人は自分が理解出来ないものを疑いたくなるということなのだろう。

昼までに検証実験は終わったので、午後からは本業のプログラミング。今日のリファクタリングは結構手強い。よく似たコードがあちこちに重複しているのを整理していたのだが、集中していないと重複していない箇所を見落としてしまう。(今回はテストコードを用意しにくい部分だった)
Subversionでスナップショットを取りながら進めたが、案の定何度かRevertで最新のリビジョンに戻らなければならなかった。
そんなわけで、手戻りで無駄になった時間が結構あったので、埋め合せの意味も込めて少し遅くまで残業した。今日は金曜日で、社員の多くは早めに退社していたので、それほど遅い時刻でなくてもまるで夜中のように感じてしまい落ち着かなかった。