はじめに
これは昔話です。前職の、5年ほど前の話になります。
なんでこんな話をするのかというと、
「品質というものの重要性」
「バグが無い≠良い製品」
「開発の上流にQAは入るべき/開発は上流からQAを巻き込みに行くべき」
ということを理解してもらいやすい話だと思っているのと、
そんな意識を持った人たちが開発者にも増えてほしいという願いがあります。
前段
新卒で入社した私は、新卒内で一番ヤバいと噂されていた製品のテスト部門に配属されました。
いろんな面からヤバかったのは事実ですが今回の本筋ではないので一旦割愛するとして、
配属されてすぐ、1日あたりテスト100ケース以上の速度で数ヶ月のプロジェクトに新卒3人でぶち込まれました。
いろいろと問題はありつつもプロジェクトは完了し、いろんなプロジェクトやお客様を担当しつつ、テスト設計者、テストマネージャーと経験をしていきました。
懐かしの再開
そうしているうちに、配属して初のプロジェクトを担当したお客様の追加機能案件のテストを担当することになりました。
担当コンサルさんとも懇意にさせていただいており、かなり特殊なお客様でもあるので、過去に担当した私に白羽の矢が立ったのは正しい選択でしょう。
事実、特殊なケースについても対応することができ、胸を張ってバグ0でリリースすることができました。
不穏な噂話
少し経ったある日、そのお客様に関しての噂話が耳に入ってきました。
どうやらそれは、私が担当した追加機能案件について「お客様が猛烈に怒っている」らしいのです。
実行したテストケースを見直し、観点不足やチェック漏れが無いのか確かめ、初プロジェクト時の資料も引っ張り出し、それでも不備は見当たりません。
自分で言うのもなんですが、特殊なケースにも対応してバグ修正をしているのでファインプレー級のはずです。
「バグが0なのに、お客様が怒る理由がわからない」
そう思っていました。
リーダーから明かされる事実
当時のリーダーも同じ噂を聞いていたらしく、詳細を調べにいってくれていました。
そして、リーダーがお客様が怒っていた理由を教えてくれました。
それは、バグや不具合があったからではなく、
その機能がお客様の要望を満たしていないから
でした。当然と言えば当然の話ですよね。
悟ったこと
この瞬間、私は1つの事実を悟りました。
それは、
バグが0個でも、仮に100個でも、極論私が何もしなくても、
お客様は怒ったし、つまり私がテストをした意味は何もなかった
ということです。
どうすれば防げたのか
それまで私は「テストでバグを検出してバグを0にすれば品質が良く、お客様が喜んでくれる」と考えてテストを実施、設計、指揮していました。
そして今回目の当たりにした事実は、「バグ0でも意味がないことがある≒テストだけではどうしようもない」ということです。
その時、仕様の決定は開発やコンサルで行い、下流のテスターの立場だった私たちは、上流の出した正を元にテストをするだけでした。
より上流から確認しなければ「お客様の納得するもの≒品質の良いもの」はできないのだと痛感しました。
そして……
これは完全に偶然ですが、配属された製品のドメインについて、私は古くから慣れ親しんでおり、一般的な人より知識があったようでした。
仕様書を確認して、
「あぁ、これは知識が何もなくてちゃんと作れてないんだな」
と悟り、問題点をまとめ上げ、リーダーに進言し、ドメインのナレッジ化と普及のプロジェクトを任されました。
が、リーダーより上の上長には承認されませんでした。
結果論としてですが、文句はありません。
私の主張は「ここから2年かかっても、そこから先の品質向上には絶対必要だ」でしたが、1年ほどで製品自体が消滅したのですから……
今
今は、フルサイクルエンジニアの部署へと流れつき、自身も開発しつつ品質の改善を進めています。
この経験から、より品質向上を目指すのであればQA以外の人も開発に関わるべきだと考えていますが、その話はまた別の機会に。