CAT GETTING OUT OF A BAG

What the tester is thinking.

誰も使ってない機能にバグが見つかった時にどうするか

 

Twitterのタイムラインにこんなツイートが流れてきました。面白い問いですね。数年後にこれを見てどう思うのか(今の自分と比べてどう変わったのか、または変わらないのか)に興味があるので考えたことをメモしました。(自分宛てなので好き勝手に書いてます)

なお、考えている最中「いつか誰かがその機能をうっかり使うかもしれない」呪縛に取り憑かれて何度も脱線したので「その機能は未来永劫、絶対に使われることはない」を前提とします。あと「誰も使わない機能をなぜ作った?」「他の機能は大丈夫なのか?」についても考えないことにします(書いておかないと妄想が思考を邪魔するので書いた)。

「3. 機能を削除する」について

この中だと「機能を削除する」が好きです。めっちゃ好き。こんな風に書くと「好きとか嫌いで仕事してはいけません」と叱られてしまいそうだけど「機能を削除する」が好き。今の自分ならこれを選びます。

誰も使ってない機能だとしても製品の一部として提供している間は何かと手間がかかります。新しい機能を追加したり、既存の機能を変更するたびに誰も使ってない機能との関連や影響を考えるだろうし、リリースのたびに誰も使ってない機能が正しく動くことをテストしなればならないし。ちょっとした手間であっても塵も積もれば山となるわけで大変なんだよぅ。誰も使ってない機能にコストをかけるのはバカらしいのでやりたくない気持ちもある。そこに労力をかけるくらいなら、違うこと(やるべきこと)に使いたい。仕事とは言え(誰も使ってない機能なのに…)と思いながら作業するのは精神的に苦痛です。

「機能を削除する」ためのコストはかかるけど、以降「誰も使ってない機能」に関してコストはかかりません。良い。

お客さまにとっての価値

元々使ってないので機能を削除しても何も変わらないのかな。個人的にはシンプルになって良いと思うけど。その機能分プライスダウンするなら価値は上がりますか?何に価値があると思うのかは人それぞれでむずかしいと感じるけど、価格は分かりやすいと思う(この文脈では「安かろう悪かろう」は無いものとします)。それ以外だと何だろう。今後は「誰も使ってない機能」のために消費していた(消費するであろう)リソースを他の何かに割り当てられると思えば「新しい価値」を提供することは(計算上)可能のはずなのだけど…

「1. バグを直す」について

製品として提供してしまった機能はそう簡単には削除できません(少なくともうちの製品はそうです)。となると「バグを直す」か「放置する」のどちらかを選ぶことになります。ここで「バグを直す」を選びたくなるのは…自己満足なのだろうな。バグがあるのが分かっているのに直さないでいるのは気持ちが悪い。直せばスッキリする。ただそれだけなのだな。バグを直すには多少なりともコストがかかるので「未来永劫、使われない機能」なら放置した方が安い。

お客さまにとっての価値

元々使ってないのでバグを直しても何も変わらない。うっかりリリースノートに「バグを修正しましたっ」と書いたら(そんな機能は使ってないし、むしろ要らなくね?)(それよりもこっちの機能をどうにかしてほしい)とか思われたりしてね。価値が下がってしまう可能性がある。

「2. 放置する」について

お客さまにそのような問題があるということをお知らせした上で「放置する」なら受け入れられそう(自分が)。何もしないでそのまま放置するのと、バグを直すことにしたのに(優先順位が最下位のため)いつまでも直さないでいるのは似ている。これについてはまだ自分の中にうまく取り込めていない感じ。全てのバグを直すことはできないのは分かっているんだけどな。完璧主義者でもないのに変なの。

お客さまにとっての価値

元々使ってないので放置しても何も変わらない。問題を公表したことが良いイメージ(誠実性や透明性など)につながるのなら、なんらかの価値を与えられるかもしれない。うーん。ちょっと無理があるね。何も変わらないですね。

ここまでのまとめ

本題とは外れますが「自己満足のために仕事してる部分がある」が観測できたのはよかったです。これからは暴れる前に何かを主張する前に(これは自己満足かな?)と問いかけるようにしたい。あと熱中してる時とか…(身に覚えがある)。スッキリした時もかなり怪しい。スッとしたとかツイートしてる場合じゃないわよ(笑)。すこし消化不良するくらいが私にはちょうどいいのかもしれないな。いずれにせよ、仕事に自己満足はいらない。