先日、ある機能をテストしていたときの話。
いつもなら瞬時に画像が表示されるのに、今日は5秒くらい待たされる。おかしいな?と思い、別の画像で試してみるとすぐに表示された。どちらも表示自体には問題ない。画像に依存してるのかなあ…(もしかしたらそういうものかもしれない)と思ったのだけど、担当のプログラマOさんに見てもらう。
「確かに遅いですね。チケットあげちゃってください」
結論から言ってしまうと、作り方に問題があるということが分かった。(雑すぎる説明だな。大抵の場合はそうよね。)
ええと、表示するときに「無駄な処理」をしてるっぽかった。
わたしはね、Oさんが問題の画像を別のテスト環境にコピーして、確認していたのを知ってる。(テスト環境に依存しているのかを切り分けるためだと思う)
それから、その画像の内部的な構成を調べて、同じような画像を作っていたのも知ってる。(その遅い画像だけに起こる特有の問題なのか、同じような構成の画像を作ったときも、同じように遅くなるのかを確認するためだと思う)
OさんとWさんでコードを見ながら、遅い原因を探っていたのも知ってるよ。
とにかく、その結論にいたるまでOさんが、地道にいろいろやっていたのを知っていた。
それから数日して、わたしは朝会でびっくりすることになる。(わたしたちのチームは毎朝チケットを読み合わせている)
画像表示が遅くなる件について、Oさんが話した内容はこんな感じ。
- ここが問題でした(コードレベルで)
- 具体的な修正方法
- 処理速度を計測し、その修正方法で問題ない(遅くならない)ことを確認した
ふむふむ。 - 実際の運用を考えると、このような構成の画像が使用される可能性はとても低い
- よって、今回は修正しないことにしました
えっ?
修正しないの?
前にもブログに書いたけど、わたしが報告した問題を何がなんでも直してほしい、という気持ちはありません。
ここまできっちりやったのにコミットしないのかー。勿体無いにも似たような、驚きの気持ちというのかな。うん。
朝会が終わって自分の席に戻り、もうすることのないテストに思いを巡らせた。
(もし、これがコミットされたら、わたしや他のテスターがいつものようにテストするよね。あの修正方法だと、わりと基本的な部分にも手が入るから、問題のある画像だけを使用したテストだけでは済まされないな。影響を受けそうなところは、、、)
そうか、そういうことなんだ。もう、あの時にプロダクトとしてのコストや効果を考えて、修正しないことを選択したのだな…。
丁寧な仕事はチームに伝染する、と思う。
わたしたちのチームのプログラマは、テスターが報告した問題や、問題とまではいかないけど気になることに対して、いつも真摯な態度で向きあってくれる。そして、こんなにも丁寧に製品を作っているのだ。
だから、わたしは丁寧に製品を壊していきますね。