「それ、仕様です」と言われて引き下がったバグが、リリース後にユーザーから同じ指摘で返ってくる。仕様とバグの境界線は、誰が引くのか。
「仕様です」は強い言葉だ。会話を終わらせる力がある。テスターが違和感を伝えても、この一言が出ると、たいていそこで議論は止まる。でも、その一言で閉じた違和感が、あとからユーザーの問い合わせになって戻ってくることがある。何度か経験すると、すぐには引き下がれなくなる。
「仕様」と「仕様にした覚えがない」は違う
「仕様です」と言われたら、まず一つだけ確認する。「それ、どこで決まった仕様ですか」。仕様書やチケットに明記されているなら、それは本当に仕様だ。納得して引く。問題は、誰も決めた覚えがないのに「なんとなくそう動いている」だけのケース。これは仕様ではなく、設計が漏れた結果——つまりバグの可能性が高い。
ユーザーがどう受け取るか、で一度考える
開発の意図がどうであれ、ユーザーが「壊れている」と感じたら、それは品質の問題だ。仕様かバグかという内部の線引きより、「この挙動を初めて見た人がどう思うか」で一度考えてみる。意図どおりでも、ユーザーにとって不親切なら、それは直す価値のある「仕様」だ。
引き下がるときは、記録を残す
議論の末に「今回は仕様とする」で着地するのは、まったく普通のことだ。全部を直す必要はない。大事なのは、その判断と理由をチケットに一行でも残しておくこと。次に同じ違和感が別の人から出たとき、ゼロから揉めずに済む。「過去にこう判断した」が残っているだけで、現場はずいぶん軽くなる。
「仕様です」は、会話を終わらせる言葉じゃなくて、本当はそこから始まる問いだと思っている。終わらせるために使うのか、確かめるために使うのか。その違いが、たぶん品質に出る。