「Scrum Inc. 認定 アジャイル・テスティング研修」に参加してきたお話

はじめに

介護事業者向け経営支援サービス「カイポケ」でQAを担当している中村です。先日、「カイポケ」に関わる開発エンジニア3名、QAエンジニア3名で「Scrum Inc. 認定 アジャイル・テスティング研修」に参加してきたので、その時のことを簡単にお話しします!

参加の経緯や目的

私自身はこのイベントの存在を知っていたわけではありませんでしたが、同僚やマネージャーからの紹介と推薦により、会社の支援を受けて参加することになりました。もともとAgile Testingに関する少しの知見と強い興味を持っていたのですが、実践的なスキルを身につけることはもちろん、「組織に適用する方法を学ぶこと」や「組織が抱える課題を解決するための方法を得ること」を目的として参加しました。

※エス・エム・エスはこのように研修への参加など学習をすることへの支援を積極的にしてくれるため、成長する機会やきっかけが得られやすい会社だと感じています。技術責任者の@sunaotが執筆した記事 があるので、詳細はそちらをご参照ください。 tech.bm-sms.co.jp

※エス・エム・エスのQA組織では「Agile Testing Condensed」を参考にした行動指針を作成しており、Agile Testingに関する関心は組織全体で強いものを持っていることも付け加えておきます。行動指針については、私と一緒にQA組織の運営を担当している星が執筆した記事があるので、詳細はそちらをご参照ください。 tech.bm-sms.co.jp

研修内容

ここからは研修内容をダイジェストでご紹介します。研修ではワークが多く、実際に頭と手を動かしながらチームで対話する機会がたくさんありました。そのため、丸2日間という長い日程でも、眠くなることはありませんでした(笑)

その前に、会場の写真を1枚だけ撮ることができたので、雰囲気を伝えるために載せておきます。オープンなスペースでお菓子や飲み物も用意されており、リラックスして参加することができました。

DAY1

チーム決め・自己紹介

受講者30名のうち、エス・エム・エムのメンバーは6名で、全体の約2割を占める一大勢力でした。本研修ではチームでディスカッションやワークショップを実施する機会が多く、最初にチーム分けを行ったのですが、スクラムの経験や生成系AIの経験が均等になるように配慮されました。エス・エム・エスのメンバーはスクラムの経験が似通っていたため、チームはうまく分散してくれました。チームが決まった後は、それぞれが自己紹介を行い、チーム名を決めて準備は完了です。

マインドセットの転換

アジャイルではマインドセットを揃えることが非常に重要ですが、急な転換は難しいため、対話を通じて徐々に揃えていく必要があるとのことでした。重要性は理解していますが、各自のスキルや意識、社内での立場が異なるメンバーで構成されたチームだとやはり難易度が高く、じっくりと時間をかけて取り組む必要があることを再認識しました。

複雑さとアジャイル

自分たちが行っている仕事の複雑さを把握しなければ、アジリティの必要性を理解することはできないとのことです。この点についてはあまり意識していませんでしたが、日々の仕事を振り返ると、確かに多くの変数に向き合っており、事前に把握できない変数に苦労していることを実感しました。これはマインドセットの転換にもつながる部分でもあり、アジリティの必要性を関係者間で揃える必要があると思いました。

アジャイル、スクラムの起源

ワークを通じて「アジャイルマニフェストの12の原則の自己診断」や「スクラムの理解度を確認する」といったアクティビティを行いました。私を含め、すべてを完全に理解し実践できている人はおらず、スクラムのフレームワークに沿ってきちんと実施するのは難しいと感じました。これまで、専任のスクラムマスターが配置されているチームにあまり関わったことがありませんでしたが、やはりチームにはスクラムマスターが必要であり、特に成長途上のチームでは成長を促すために長期間専任で関わるのが望ましいとのことでした。

※参考:アジャイルソフトウェアの12の原則

アジャイルテストとは

この分野については元々書籍などで理解していたため、再確認の場となりましたが、テストマニフェストが2023年に更新されていることを初めて知りました。「品質に対する責任…」から「テストに対する責任…」に変わったようです。

  • 変更点
    • 変更前:Team responsibility for quality over tester responsibility.
    • 変更後:Team responsible for testing over tester responsible.

実例による仕様

提示された受け入れ条件に対してGherkin形式で実例仕様を記載するというワークを実施しました。ワークの時間があまりなかったため、形式に沿って記載することで手いっぱいになってしまいましたが、書くこと自体の難易度はそれほど高くないと感じました。また、短い時間でも受け入れ条件の抜け漏れに気づくことができ、実例仕様への期待効果である「曖昧さをなくす」「共通認識を持つ」「リスクを軽減する」「開発効率の向上」を意識しながら、今後も活用していけば有用な活動になると感じました。

DAY2

受入テスト駆動開発(ATDD)、振る舞い駆動開発(BDD)

ATDDもBDDも言葉としては知っていたものの、実践した経験がなかったため、楽しみにしていた部分です。Cucumber Test Frameworkを使用したデモとライブコーディングを通じて、DAY1で説明があったGherkin記法を用いたBDDの流れをなんとなくイメージできました。また、ATDDとBDDのどちらも具体的な実例を通じて要件を明確化していくことは共通しており、実際に使用する際にはどちらを選んでも良いという点にも気づきました。

CI/CDとテスト自動化を使用して、早期に、頻繁に「完成」を達成する

テストピラミッドを使ったテストプランニング作成のワークを行いました。どんな機能をテストするか、どんなテストを行うか、どのテストレベル(手動テスト、E2Eテスト、統合テスト、単体テスト)で確認すべきかをチームで話し合いながら決めていきました。これは実際の現場でもエンジニアやプロダクトオーナーを巻き込んで一緒に取り組むことで、誰が、いつ、どんなテストを行うかをすり合わせをすることができ、チーム全体での品質保証活動につながると感じました。

AIでテストの有効性を高める

チームごとにワーク形式でChatGPTに相談しながらテストプランニングを作成するという活動を行いました。私のチームでは、「受け入れ条件」をインプットし、「Gherkin形式」でアウトプットすることを試みました。その結果、素早くそれらしい形のアウトプットを得ることができたので、うまく活用すれば作業の効率化に大きく貢献できるという印象を持ちました。生成系AIを効果的に活用するためには、ゴール設定や作業手順を具体的に伝える、短いやり取りを繰り返し行う、などのコツがあるようです。

アジャイルテストに適した指標

アジャイルにおける品質はチームの責任なので、テスターの指標よりもチームとして品質指標を定義することが重要とされています。

  • 指標の例
    • プロダクトの価値を測定するための指標
    • チームのイノベーション能力を測定するための指標
    • 価値を市場に出すまでの時間を測定するための指標

これまでの経歴を振り返ると、テストケース数、テスト工数、不具合数などをよく収集していましたが、これらは主にテスター寄りの指標であり、アジャイルに適した指標には必ずしも含まれるべきというわけではなく、より多様な視点のテストを期待されていることに気づきました。

現場への導入に向けての研修まとめ

最後は「SMART」のフレームワークを使って各自目標を設定しました。目標設定だけして終わりにならないように、同じチームのメンバーとその後の状況を確認し合うようにと、講師の方から念を押されました。その後、研修受講の証として「Registered Agile Testing」の資格を取得して終了です。この資格は取得できることが急遽決まったらしく、最初に取得した30人のうちの1人になれたとのことで、地味に嬉しかったです。

さいごに

以上が、「Scrum Inc. 認定 アジャイル・テスティング研修」の紹介(かなり割愛していますが…)となります。

もともとAgile Testingについては書籍を読んだりオンラインイベントに参加してお話を聞いたりと、一定の知見を持っていたため、座学パートは学び直しの部分が多かったと感じました。ただし、講師の方への質疑を通じて新たな知見を得たり、ワークを通じて実際に考えたり手を動かしたりすることで実践的なイメージをつかんだり、また、自分が難しいと感じていたことが他の人も同様に感じていると知って少し安心できたりと、研修を通じて多くの学びを得ることができました。

今後に向けては、マインドシフトが重要なので、まずは身近な人との対話の機会を増やし、徐々に広げていくなど、じっくりと時間をかけて取り組んでいきたいと思います。また、自動テストを改善したいという意欲が高まったため、開発エンジニアと密にコミュニケーションをとりながら最適な自動テストを目指していくつもりです。何かしら成果が出てきた際には、また別の機会に紹介できればと思っています。

エス・エム・エスでは引き続きQAエンジニアを募集しています。今回参加した研修のテーマにもなっている「AgileTesting」は、冒頭で紹介したQA組織の行動指針に通ずるところがあり、積極的に取り入れていきたいと思っています。少しでも興味・モチベーションがある方は是非カジュアル面談や選考へのご応募よろしくお願いいたします!!