天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

QAと開発チームの連携どうしてる?〜品質文化醸成の取り組み編〜に参加して

findy.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。(時間の関係でラスト15分は抜けました)

会の概要

以下、イベントページから引用です。

ソフトウェア開発における品質と効率の両立、特にQAエンジニアと開発チームの効果的な協業は、企業規模や開発フェーズに関わらず多くの組織が直面する重要な課題です。

そこで本イベントでは、QAエンジニアとして活躍されている、株式会社ログラス コタツさん、フリー株式会社 akariさんをお招きし、スクラムにおける「QAと開発チームの連携」について、それぞれの視点から語っていただきます。

各社の開発組織・体制や取組に関してLTを通して紹介いただき、その後お互いの取り組みについて質問し合うことで、規模や状況の異なる組織におけるQAと開発チームの協働モデルや品質文化の構築について知見を共有いただきます。

QAエンジニアはもちろん、QA組織の立ち上げを検討している方、連携強化を模索するエンジニア、PdMやスクラムマスター等の方々にとって、明日からの実務に直結する 学びとなる場を目指します。

会の様子

ワンチームで勝つ:QAとエンジニアの協業を超えた連携の実践例

最初にコタツさんのお話を聴いていきました。

品質富士山

今回の発表の前提となる品質富士山に関して話がありました。
内容としては、以下のブログやスライドが詳しいので、そちらを参照するのが良いかと思います。

www.wantedly.com

speakerdeck.com

サービス品質を向上させるための取り組み

サービス品質を向上させるための取り組みとしては、

  • 商談動画を見る会を週次で行う
  • 顧客要望を見る会を毎日行う
  • 企画レビュー会を隔週で行う
  • デザインレビュー会を随時行う

を行っているという話がありました。

プロダクト品質を向上させるための取り組み

テストをうまくやるために、任意のチームメンバーと一緒に勉強会を行い、QAはイベントのファシリをやったりしているという話がありました。

また、ペアテスト分析/設計として、ブラックボックス観点とホワイトボックス観点をコラボレーションで確認しているそうです。

プロセス品質を向上させるための取り組み

開発プロセスを良くするために、開発フローを落とし込んだ日々のタスク遂行場所を整備しているそうで、チームメンバーとQAはともにスクラムの運営をメンバーと共に推進しているそうです。

組織品質を向上させるための取り組み

組織に所属している人が各々のパフォーマンスを向上させるために、品質コミュニティを社内で開いているそうで、品質富士山にもとづくふりかえりをするとともに、人と人を繋ぐようなコミュニティとしての機能も満たせるようにしているということでした。

大事にしていること

ログラスでは元々内部品質を大切にする文化があったので、ワンチームになってことに向かい続けることをQAとして意識しているということでした。

(質問) スクラムの中でQAはメンバーとしてどんなことをしているのか?

基本的にはワンチームで働き、一緒にコードを見たりしながら、難しい仕様の深堀りを手伝ったりしているということでした。

(質問) QAと開発がリモートで物理的に壁がある場合どのようにコミュニケーションをするのか?

1on1でまず挨拶をして、どうしてログラスで働いているのか?といった話をするようにしているということでした。

品質の高速フィードバックへの取り組み

続いてakariさんから発表がありました。

開発組織におけるQAの立ち位置と動き方

開発組織全体の中にQAがあり、その中でプロダクトQAと品質企画(SEQ)と呼ばれるように細分化されているそうです。

また、実際の案件では、スクラムチームの中に開発エンジニア5-6人に対してQAエンジニアが1-2人(兼務)いて、設計書やテスト実施などのレビューを行うということでした。(品質の高速フィードバックをしてバグの作り込み防止、プロダクトリリースを早めるためにスクラムチームに入る形を取っている)

最近取り組んでいること

チームの状態を可視化することでコミュニケーションがスムーズになり品質の高速フィードバックに結びつくという考えから、開発やテストステータスの理解をチームで合わせているということでした。

テストステータスの理解が合うことで、各ステークホルダーが迷うことなくチケットを移動させられ、案件途中に参画するメンバーも一目瞭然でキャッチアップができるようになったということです。

また、バグチケットは重篤度などのステータスをQAが主導して作ることで、QAチームがテストケース作成などのブロッカーになっているバグを開発チームが優先的に直せるようになったり、優先度が低いバグが目立つようになったことで、PdMがリリースから見送りするかの判断が容易にできるようになったそうです。

他にも、テスト管理ツールを移行しているそうで、元々使っていたツールではなく、開発チームが使っているJiraのPluginを活用し、テストケース側から直接的にチケットを起票したりステータスの参照ができるようになったということでした。

(質問) 品質企画はどのようなプロセスで活動しているのか?

標準化を行ったり、案件が始まる前にデザイナーさんなどとも協力しながら事前にリスクを洗い出ししたり、QAのスキルを職位ごとに明確にしているということでした。

ただし今後は、バグ分析などもやっていく予定だそうです。

パネルディスカッション

発表の後はパネルディスカッションがありました。以下、トピックと回答を一問一答形式かつ常体で記載していきます。

テスト実行は誰がしているのか?(コタツさん→akariさん)

基本的にはQAがしている。ただし開発エンジニアがやれるように徐々に移行する取り組みもやっている。また、重篤度が高いものに関しては、QAがテスト実行している。

QA2名でどう回しているのか?(akariさん→コタツさん)

QAがいないチームも普通にある。
そういうこともあって、品質コミュニティを作ったりしている。二人では全然足りないのは間違いないが、テスト実行をQA以外がやることも多いので、そこの負荷はあまりない。(テスト分析やテスト設計などは一緒にやることが多いが、テストケース作成やテスト実行に関しては開発者に完全に委ねている)

QAエンジニアが上流から価値発揮するには?(akariさん⇔コタツさん)

プロダクトを網羅しているQAがいるので、今のところは上流から価値発揮することに障壁を感じてはいない

Q&A

品質富士山の概念を開発チームに根付かせるための活動はどれくらいの頻度でやるか?

入社時のオンボーディングに加えて、開発チーム全員に説明する時間を定期的に持っている。

時間はどうやって作り出しているのか?
  • 時間は普通に足りない笑
  • テスト実施は開発チームに完全に委ねられているというのはあるかもしれない
  • チームに関してはNo Meeting Dayは作っている
重篤度の深刻さの基準は?

スタンダードなざっくりとした定義はまずある。(システムがまったく動かない→Lv1のようなイメージ)

そのうえで、この定義をもとに各プロダクトごとにQAが重篤度の定義をしている。

なお、重篤度はカスタムフィールドとしてJiraに追加している。

開発チームの優先度とQAチームの重篤度はどのように優先度を調整しているのか?

スクラムチームの中でストーリーの優先度は当然ある。

その上で、優先度が高いストーリーの中で必要な対応は重篤度などで優先順位づけしている。

会全体を通した感想

特定プロダクトというよりはかなり広範囲に活動をされている事例と、広範囲な活動もありつつ一つのプロダクトにフォーカスしている事例の対比が聞けて、考え方の相違点などが分かりやすかったのが非常によかったです。

最後のQAも聞きたいものが多かったので、途中で抜けることになったのは残念でしたが、ユニークな実例が聞けて面白かったです。