QAの役割について考えてみた
この記事はチームスピリット Advent Calendar 2020 の22日目の記事です。
はじめに
TeamSpiritにて現行プロダクトのQAを担当しています。
今年の9月に新プロダクトのQAチームから、現行プロダクトのQAチームに異動になりました。異動後、品質目標の策定やQAプロセスの見直しを行ってきました。
今回、QAプロセスの見直しを行った際に、アジャイルにおけるQAエンジニアの役割について、色々な書籍や記事を読み、共感した部分、こうありたいというアジャイルにおけるQAエンジニアの在り方について、書きしるします。
誰がQA(品質保証)する?
ウォータフォール型のプロジェクトでQAといえば、プロダクトの品質を確認する最後の砦というイメージを持っているかと思いますが、アジャイルでは品質の責任を持つのは開発チームになります。短期間でリリースできるように開発チーム全体で受入可能なプロダクトを作っていかなければなりません。そのためには、QAエンジニアだけでなく、開発者で十分な品質が担保されるように、開発者に対して、品質やテストに対する意識づけが必要だと思います。
Markさんの記事や鷲崎さんの記事は非常に参考になりました。
それではQAエンジニアは何をするかというと、自分は下記の3つだと考えました。
・品質特性からみたプロダクトの評価
・開発プロセス全体の課題解決
アジャイルQAがやること
①品質特性からプロダクトの評価
機能適合性だけでなく、性能効率性や互換性、使用性、信頼性といった機能適合性以外の品質特性に対して、品質目標を定めて、評価する仕組みを作ることです。目標設定やどのように測定するかはQAエンジニアが考えますが、実施すること自体はツールを使用したり、開発者と協力して、進めることもあるかと思います。なお、評価結果はプロダクトオーナーに報告します。
アジャイルQAがやること
②開発プロセスの課題解決
不具合のメトリクスを収集し、何が課題となっているか把握します。
不具合チケットには下記のメトリクスを収集できるようにラベリングすることで不具合傾向が出るかと思います。そこから課題を導き出し、対策を検討し、開発チームにフィードバックします。
・事象分類
・混入原因
・不具合を検出したテスト
・不具合が発生した機能
まとめ
エムスリーキャリアさんでは、Quality Assurance(品質保証)からQuality AssIstance(品質支援)へ。というスローガンでやっているように、自分もQAチームを開発チームやプロダクトに対して、Quality AssIstance(品質支援)する立ち位置となるよう頑張っていきたいと思います。
最後に
今回、様々な会社のQAに関する記事をみて、自分なりのQAチーム、QAエンジニア像ができました。これらのイメージをQAチームに伝播して、チーム作りしていきます。
ありがとうございました。