Agile Testingの考え方をQAから開発チーム全体に広めてみた
こんにちは。icchiiです。
「atama plus」という教育×AIのスタートアップ企業でQAとして働いています
私はオンライン模試を開発しているスクラムチームの中に入ってQAとして動いています。
今回は、Agile Testing(アジャイルテスティング)を開発チーム全体に広めていった話を書いていきます。
といっても、QAチームも最初からAgile Testingを理解していたわけではなく、試行錯誤しながら前に進んできたのでその経緯を含めてお話できればと思っています。
atama plusのQAが気になる方は、ぜひこちらの記事もお読みください。
紹介のスライドもあるのでぜひご覧ください。
Agile Testingにチャレンジしてみる
2年前の話になりますが、「実践アジャイルテスト」という書籍を基に、Agile Testingのノウハウを開発プロセスに組み込みはじめました。
というのも、考え方のベースがatama plusのやり方に合っていると思ったこと、取り入れることでより良いものづくりができると思えたからです。
すべてを教科書どおりに取り入れることは難しいので、QA内で手が出せるところから始めてみました。
まずはテストプロセスを「最後にまとめてテストする」あり方から「開発プロセスごとにやりたいテストを整理する」あり方へ改善しました。
「開発(スプリント)中のテスト」「統合後(スプリント〆後)のテスト」のそれぞれの役割をハッキリとさせることで、どんなテストをしていくべきかを整えるところからスタートしました。
例えば、「テストで明らかにしたいことをアジャイルテストの4象限にあてはめてみて、目的の違うテストは分けて考えよう」「このタイミングで○○な不具合を見つけるテストをすることがベストタイミングなのか?」などをチームで話し合いました。
引用:「Agile Testing Condensed Japanese Edition」 P.42より、アジャイルテストの四象限
この段階では、よくあるテストプロセスの改善の範囲だったので、Agile Testing的な要素はあまりなかったと思います。
一方で、QAチーム内の気持ちの面は大きく変わりました。
実践前は、スクラムチームの少し外側にいて、必要なミーティングには出て開発内容を把握し、最後にまとめて変更点をテストしてどうにかしよう!という体制でした。
そこからAgile Testingにチャレンジする中で、スクラムチームの一員として一緒に活動し、開発中のテストに力を入れていくことを少しずつ意識できるようになりました。
まだまだAgile Testingの実現には遠かった
取り組む中で、新しい課題が見えてくるようになりました。
特に、根本的な「みんなで品質について取り組む」という認識を合わせることができていませんでした。(私の理解が浅く、テストプロセスばかりに目が向いていました。。。)
具体的には以下のような状態だったと記憶しています。
QAチーム内
■Agile Testingの概念(やりたいこと)は分かる
■開発前〜中のタイミングでの立ち回りが難しい
■開発中は従来のような形でテストケースを作るなど、行動があまり変わらなかった
■認識齟齬や仕様誤りといった不具合が後半に発覚しがちでどうにかした
開発メンバー(PO、エンジニア、UXデザイナー)
■QAに対する期待値が人によって異なる
■最後にテストするだけではない とは知っている(が、具体的に何をするかはイメージがない)
■どのようにQAとコラボレーションしていくかのイメージがまだない
同じスクラムチームの一員として行動していましたが、よりよい品質をめざす一体感のようなものが足りませんでした。
これらを解消するために試行錯誤していたところ、「Agile Testing Condensed」の日本語訳の書籍が販売されたことを知りました。
Agile Testing CondensedをQAチームで読んでみた
Agile Testing Condensedは、アジャイル開発においてどのようにテストを考えていけば良いのかがまとめられている書籍です。
90ページほどに要点がまとまっているので読みやすく、理解を深めるのにとても役立った書籍でした。(ちなみに実践アジャイルテストは550ページほどあります)
QAチーム内で書籍の読みあわせを行うことで、「こんな動きをしていけばいいのかな?」の解像度がだいぶ上がったかなぁと思っています。
この時期から、QAが開発チームの中で「実装前の段階から積極的に動く」ことができるようになっていきました。
Agile Testingの社外研修に参加してみた
少しずつAgile Testingの思想を勉強していたところ、「認定研修Agile Testing for the Whole Team」の研修の存在を知りました。「こんな貴重な機会は逃したくない!行くしかない!」ということで参加してきました!
※研修の講師であるJanet Gregoryさんは、『AGILE TESTING(実践アジャイルテスト) 』『MORE AGILE TESTING』『Agile Testing Condensed』の共同著者で、3日にわたって直々に教えを受けることのできる貴重なチャンスでした。
研修で学んだことは色々とあるのですが、長くなってしまうので詳細はこの記事では割愛します。
簡単にですが次のような学びがありました。
■研修タイトルにもある「Whole Team」(チーム全体)というのが大切
■QAはQuestion Askerでもある
■質問や会話を通して全体像を把握する
■可能な限り早くフィードバックする
Agile Testingに対する理解が深まり、自信がついたとても良い機会でした。
この熱が冷めないうちに、QAだけでなく開発チーム全体にどうにか伝播させたいな〜と、思っていました。
丁度同時期に、開発チームでもソフトウェアテストや品質向上に向けた取り組みを検討していました。話を聞いたところ、開発チーム側でもQAと合同で品質向上に取り組むことが重要と考えていたようでした。
これは良いチャンスだと思い、QA&開発チーム合同で、プロダクトチームのみんなを巻き込んだAgile Testing Condensedの読書会を実施することにしました。
Agile Testing Condensedの読書会を各開発チームで実施
読書会の案内としてこんな資料を作って、気合を入れて臨んでいました
読書会のルール ---
■事前にやること
◆書籍を読む
◆オンラインホワイトボードツール(Miro)上に付箋を書き出す
■当日にやること
◆スクラムチームごとにわかれて2時間のワークショップを実施
◆付箋を見ながら、チームで気づきを共有して理解を深める
付箋はセクションごとに以下の内容を記載しました
■できていること
■できていないこと
■新しく学んだこと
■わからなかったこと、疑問に思ったこと
■つぶやき・感想
---
上記の流れで、ガッツリと時間を確保して読書会を進めることができました。
読書会全体
とあるチームでの実施内容
2時間の枠では足りないくらい、各チームで活発な会話が生まれていました!
文字まではお見せできませんが、雰囲気だけでもお伝えできればと思い画像を掲載します。
「○○はできているね」や、「△という概念は初めて知った!」、「□はできるようになりたいね」など、現在地を確かめつつ、アクションを検討できました。
読書会で共有された声をいくつか紹介します。
■「”Speak up.”のカルチャーもあるので、コミュニケーションはもともとできているよね」
■「品質はチームで見るものという認識が揃った」
■「仕様の誤解などの確認は、主に設計したUXメンバーがやると思っていたが、テストというプロセスでこの点を重視することで、仕様が正しく伝わることにチーム全体が能動的になれて非常に良いなと思った」
■「みんなの品質に対する意識が高いことが分かって嬉しかった」
■「実例マッピングに挑戦したい」
読書会後、QAチーム内で各チームの読書会の結果共有を実施し、QAとして横断的に取り組めることはないか?を話し合いました。
ここから実際に、次のようなことにチャレンジしました!
■探索的テストをQA以外のメンバーにも広めていこう
■1つの開発チームが実践したふるまいの記述を他チームに広めていこう
■モブテストにチャレンジしよう
Agile Testingの考え方をQAから開発チーム全体に広めてみた結果
Agile Testing Condensedの読書会を通じて、開発チーム全体にAgile Testingについての共通理解をつくることができました。
atama plusの全員でミッション達成に向けて取り組む姿勢や、カルチャーのひとつである”Speak up.”など、「チーム全体で品質について話し合う」ことと、もともと相性が良かったので、綺麗に土台が整いました。
今までも、共通して持っていた「よいものを届けたい」気持ちに、具体的な方向を示すことができたのではないかと思っています。
まだまだ道半ばではありますが、より良いものを作るためにやるべきことに自信が持てるようになったこと、チームでテストや品質について積極的に会話できるようになったことは大きな財産であると思います。
また、読書会での学びが多かったという反響もあり、現在は入社時のオンボーディングのコンテンツとして追加しています。新しくチームに入った人が全員と目線を合わせ、品質について考える場として読書会を継続することで、チームがもっと進化していくことを期待しています。
まとめ
改めて、2年前と比較すると、色々と変化したことがあります。
■QAがスクラムチームの中に入りこんで活動するようになった
■Agile Testingへの理解が深まり、開発チーム全体が意識するようになった
■ふるまい駆動開発のエッセンスを取り入れた開発の中で、実例(SbE)の記述を通して、チームで具体的な会話ができるようになった
■課題整理、仕様を詰める段階からQAが積極的に関与してFBできるようになった
できるようになったことは増えていますが、まだまだやりたいことはたくさんあります。
もっとエンジニアと協力して、テストコードのレベルでの取り組みを増やしていきたいですし、仕様に関する手戻りをなくすための取り組みもしたいです。
そして、チーム全体がもっとテストについて語れる状態をめざしています。
※同じテーマで、JaSST nano vol.5で発表させていただきました!
さいごに
atama plusでは事業の成長に伴い、QAの仲間を大募集中です!
「いいものを早く安定的にユーザーに届ける」ために、日々いろいろな課題に取り組んでいます。
組織やプロダクトの拡大に伴って日々課題が変化していく、新しいことに取り組む楽しさも感じられます!
本日はお話できませんでしたが、課題調査のようなフェーズからQAが一緒に活動できる面白さもあります。
▼デュアルトラックアジャイルのQA事例なの:
少しでも興味がわいた!もうちょっと詳しく聞いてみたい!という方がいらしたら是非お気軽にご連絡ください。
▼QAの募集要綱:
▼採用サイト:
社員インタビューも載っているので、ぜひご覧ください。