「巨額の損失を防ぐ」QA&テスターの生産性
次のトークテーマは、「『QAは売り上げにつながらず、コストでしかない』と言われたらどうするか」だ。「開発者から、QAエンジニアってパソコンをポチポチしているだけで、楽そうでいいな……そう言われたことは?」と会場に向けて呼びかけると、それなりの数の人が手を挙げた。
風間氏は、「ちょっと業績が厳しいからQAを削減する、というケースは実際にありうる」と話す。
『テスト自動化実践ガイド』を著し、自動テストの専門家を自負する末村氏ですら、きっぱりと削減を言い渡されると「必要な領域ではないのかな」と自信を失ってしまう。「それでも、QAという仕事が存在する以上、『要らない仕事』ではないはずだ。その重要性を伝えるためには、品質が売上や顧客満足度などの指標にどうつながるのかを上層部に説明するしかない」。末村氏はそう強調する。
品質と売上の関係について、河原田氏は自身が翻訳した書籍『LEADING QUALITY』をもとに「品質は経営課題であり、品質目標は必ず組織のKPIに紐づけなければならない」と説く。「上層部と意識を揃えるためには、組織が全社的に目指す成果指標(北極星指標)と、QAや品質部門が持つ目標の方向性を揃えることだ」。
たとえばSlackでは、「2,000通以上メッセージのやりとりをした顧客の95%以上がSlackを導入する」というデータをもとに、開発・QA・品質・販売などあらゆる職種のメンバーが「2,000通以上メッセージをやりとりしてもらうにはどうすればいいか」を目指して取り組んでいる。
このように、単に「バグを減らす」ことを目的とするのではなく、バグを減らすことによってどのような数値(デイリーアクティブユーザー数や契約数)を改善し、事業の成長につなげていくのかを説明できるようになれば、QAの価値が可視化できるわけだ。
一方で風間氏は、QAにかかるコストという切り口からこう話す。「こんな論文がある。あるプロダクトにバグがあったとする。要件定義など、初期の段階であればすぐに直せるバグだ。しかし、これを放置したままリリースし、顧客から『直せ』と言われて対応するコストは、初期に発見した場合と比べて30倍〜200倍にも及ぶ。QAをさぼったがゆえに、莫大なコストがかかってしまうわけだ。
これを防ぐには、事前に入念なテスト設計をし、バグの発見や開発サイクルを効率化することだ(いわゆるシフトレフト)。テスト仕様書自体がドキュメントになることで、全体的なコスト削減にもつながる。このような視座を持っていれば、『QAは無駄なコスト』とは言われないはずだ」。品質保証は、上流工程からすでに始まっているのだ。
「継続的なリリース」に対応できるアジャイル開発
セッション後の質疑応答では、「バグが多い」とされている某ゲームソフトを題材に、「なぜこのような製品が世に出てしまったのか、開発チームでは何が起きていたと考えられますか?」というユニークな質問が飛んだ。
風間氏は「そのゲームソフトを遊んだことはないが」と前置きをした上で、「長年続いているゲームタイトルなので、過去の作品からソースコードを流用した可能性がある。そして、過去のコードについてはある程度テストを省略したのではないか」「新たに追加された機能が、他の部分にどう影響するかを充分に見極められなかったのかもしれない」と仮説を述べた。
続いて、「アジャイルにおける『品質』はどう定義すべきか」という質問については、アジャイルは継続してリリースすることが大きな特徴であるとしたうえで、「最初のリリースで完璧な品質を求めるのではなく、継続的なリリースに耐えうる品質を目指す」ことが従来のウォーターフォール型開発との違いだと示し、講演を締めた。