こんにちは。フロントエンドエンジニアのKotaです。
今回は、最近読んだ『LEADING QUALITY』について、個人的な学びと感想をご紹介します。
参考:「LEADING QUALITY」RonaldCummings-John [PC・理工科学書] - KADOKAWA
本書は、プロダクト品質向上のための思考基盤や行動指針が学べる1冊です。
原著の著者は、GAT(Global App Testing)社の共同設立者であるロナルド氏とオワイス氏です。
GAT社はソフトウェア開発におけるテスト支援事業を行なっており、イギリスで最も急成長しているテクノロジー企業の一つに選出されたようです。
日本語版の訳者は、株式会社グロービスで品質アドバイザリー業務や社内講演などを務める、QAエンジニアの河原田氏です。
年末に登壇されていたセミナーに参加しましたが、「本書は技術書ではなく、あくまでビジネス書として読めるようになっている」とのことでした。
内容は大きく3つのセクションに分かれており、
というテーマに基づいた全10章で構成されています。ボリュームとしては100ページ程です。
プロダクトの「品質」に対する価値を組織に広めるには、という課題感をもつ全ての人にとって学びのある一冊だと思います。
僕の場合は特にセクション2からの学びが多かったので、今回は品質戦略の判断軸に焦点を当てます。
「銀の弾丸」とはどんな課題をも解決する万能な解決策の比喩ですが、自動化されたテストのファンタジーな側面を信じてしまう人は少なくないようです(僕も含め)。
そこに至るにはいくつか要因があることと、自動テストを導入したことでかえって品質悪化に陥ってしまった組織の事例を読み、自分の中ではちょっとした衝撃でした。
では自動テストと手動テストは、それぞれいつ・何に対して実行すべきなのでしょうか。
第4章では、テストを「調査」と「検証」の2種類に分け、その特性に合わせた自動テストと手動テストの必要性が解説されています。
さらに、テストを手動で行うよりも自動化したほうが有効となる3つの判断軸があることがわかりました。
結論としては「どちらも上手く活用する」にはなるのですが、本書を読む前までの自分には無かった視点と判断軸を得られました。
第5章では、プロダクトは
と言う3つの過程を経て成長するものとし、それぞれで品質アプローチは異なることが解説されています。
弊社の『Sangoport』は正に実証段階に該当するのですが、この段階では自動化の優先度は低いことがわかります。
この段階では物事が急速に変化するため、自動化に時間と労力を割くのは割に合わず、テストや品質への考え方に柔軟性が求められるということでした。
しかし、実証段階において品質の水準を下げて良いかというとそんな単純な話ではありません。
成熟した業界、とりわけB2Bのプロダクトはユーザーからの期待値が高い傾向にあり、実証段階であろうとも品質を確保した慎重な開発が必要になるようです。
自分が携わるプロダクト開発状況と重ね合わせて、今重要なことは「費用対効果と柔軟性」であるという気づきを得られました。
こちらも誤解が多い概念の一つで、継続的テストというのは開発フェーズの自動化にのみ言及されがちなようです。
本質的には、プロダクト開発のライフサイクル全てにおいて間断なくテストできて初めて継続的テストである、ということでした。
第6章では、開発プロセスのどの段階でバグが作り込まれ、またいつそれが発見されるかを比較するグラフが紹介されています。
また、バグが見つかった時期に応じた修正コストの見積もりも描かれており、問題を特定・対処するのが早いほど、長期的に見ると時間と労力を節約できることがわかります。
費用対効果と柔軟性を考慮した結果テストを諦めて良いというわけではなく、継続的テストが開発サイクル全体で行われている必要があるということを学びました。
各開発サイクルで継続的テストを手動/自動で実施する基盤が整ったとして、自分の実装が各テストをパスし、すぐさま本番環境に反映されるとしましょう。結構怖くないですか?僕は怖いです。
いくらテストをパスしても、品質の曖昧な実装が素早く本番環境にデリバリーできることに価値はないよ、というのが第7章のテーマです。
デプロイ高速化に加え、ユーザーに一番近い本番環境でモニタリング・アラートシステムを整え、必要に応じて素早くロールバック・修正できるようなインフラが欠かせないようです。
こうすることで、テストで見逃された不具合を見つけ出すための本番環境テストも実現できるようになります。
今回は『LEADING QUALITY』から得た個人的な学びをご紹介しました。
耳が痛くなるような話題ばかりで、こんな本が読みたかったと思える1冊でした。
フロントエンドの技術と同様、品質戦略も移ろいゆくものとして再解釈できたのが良かったです。
本書をきっかけに、プロダクト開発時の品質戦略としてSAKURUGがどのように取り組んでいるのかを、いずれ1本の記事にできたらと思います。