豆寄席第28回『アジャイル開発におけるQAエンジニアの関わり方』参加レポート

太田 徳幸

本稿は、豆寄席第28回の開催報告です。

開催概要

タイトル アジャイル開発におけるQAエンジニアの関わり方
講演者 株式会社ytteLab/freee株式会社 湯本剛氏
開催日時 2023年7月10日(月)18時30分~20時00分
講演概要 講演者は2019年までアジャイル開発を行うプロジェクトのメンバーとして働いた経験がなかったのですが、現職にて経験することができました。その経験をもとに、QAとして、アジャイルプロジェクトにおいてどんな貢献ができるか、そして通常のテストエンジニアがどうなればアジャイルにおけるQAになれるのかをお話しいただきました。

講演の流れ

湯本氏が2023年になるまでQAとしてアジャイル開発にどう関わってきたか、そして、その経験を通して得られたアジャイル開発におけるQAエンジニアに求められることについて、下記の流れでお話しいただきました。

  1. 私とアジャイルの関わり
  2. アジャイル開発とテスト
  3. QAのアジャイル開発への貢献
  4. アジャイル開発においてQAエンジニアに求めること

アジャイル開発への関わり

湯本氏がアジャイル開発だとうまくいかないと思っていた頃から、アジャイル開発していくことが大事だということに気づくまでの話を紹介していただきました。

2019年に今の会社に入る前までは、お客様の要望によりアジャイル開発からウォーターフォール開発に戻ってしまった現場、海外でスクラム開発したものを日本で受け入れテストしたときに猛烈にバグが発生し長期化を余儀なくされたシステム統合プロジェクトなどを経験し、アジャイル開発はうまくいかないのかなと思ったこともあるとのことでした。後者の長期化を余儀なくされたシステム統合プロジェクトでは、要求の出し方が悪かったところなどアジャイル開発に限定されない原因が複数あったり、統合する複数システムのそれぞれの開発メンバーが同じ温度感で動かないと全然うまくいかないということを学びとして得られたりしたのですが、当時の心境としては、アジャイル開発はやっぱり無理なのかな、アジャイル開発のことをよく知らずに終わるのかなと思ったそうです。

そして、2019年に入った会社でアジャイル開発をやっているプロジェクトがあり、色々な人と話す中でアジャイル開発にマッチしたQAをやりたいと言われ、メンバーと一緒にいろいろとトライしていったそうです。その中で有用な学びが得られたそうです。一例として、QAを早く始めたいならQAができるようにチケットを選んでいく(QA側から取るチケットに対して意見を言う)、という例を挙げていました。往々にして、作りやすいからとか、これ大変そうだから早く作らないといけない、といった理由でチケットを取っていくのですが、それだと結合したときにミニマムのシステムも動かないことが多いし、単体テストはできるけどQAがやるテストにはならないことが多いので、QA側から取るチケットに対して意見を言っていったそうです。その結果、スプリントが回っている段階からQAを始められるメリットが得られ、「プロダクトができました」と言ってから1週間でリリースすることも可能になったそうです。いくつかの成功体験を経て、現在はQAマネージャーとして、スクラム開発がうまく回るようにメンバーをサポートされているとのことでした。

QAのアジャイル開発への貢献

アジャイル開発にQAが入ってどんなことをやったのか、下記の5つの事例について紹介していただきました。

  • スクラムチームの一員になる
  • チケットの運用を変えていく
  • テスト環境の割り振りをリードする
  • できるところからどんどんテストしていく
  • テスト実行のスピードを高速にしていく

「スクラムチームの一員になる」では、ストーリーチケットの受け入れ基準をQAが書いている例の説明がありました。QAがどんなテストをするのか、というのは受け入れ基準に相当するので、QAが受け入れ基準を書くようにしたそうです。QAが受け入れ基準を書くことにより、チーム内での期待の目線が合うメリットが得られているとのことでした。また、QA目線でのテストの優先度を共有し、開発スケジュールもそれに沿ったものにしてもらうこともあるとのことでした。

「チケットの運用を変えていく」では、チケットの運用を自分たちが一番効率的に進められる形にどんどん変えていき、カンバンとは別の世界でQAをしていますという状況にしないことが大切であるとの説明がありました。チケットの運用の例として、インスプリントでQAを開始したいので、Doneにする前にDeployというレーンを作って、DeployになったらQAをやるという話がありました。

「テスト環境の割り振りをリードする」では、複数チームで複数機能開発を進めるとき、QAが良いと思うインテグレーションの流れを開発側に提示していくことが大切であると説明されていました。

「できるところからどんどんテストしていく」では、ストーリーチケット単位でテストできるようにしていくこと、必要に応じてQAで自分たち専用の環境を作ってテストしていくことが大切との説明がありました。ユーザーがこうやって使いますというのが分かるストーリーチケットを起票して、バックエンドで何やる、フロントエンドでどう対応する、といった内容をストーリーチケットに関連するタスクチケットとしていくことで、ストーリーチケット単位でテストができるようになったとのことです。また、QA専用環境を用意したことで、3ヶ月くらい掛かるテストを1週間程度で完了できたこともあったそうです。

「テスト実行のスピードを高速にしていく」では、テスト専用APIを作ってテストを高速化した事例について説明がありました。テストデータの作成に48時間掛かっていたものを、テスト専用APIを作ることにより、3分でテストできるようになったとのことでした。

アジャイル開発においてQAエンジニアに求めること

湯本氏はQAマネージャーとして、新しく入ってくるQAエンジニアに対する教育を行っているのですが、いつも話すこととして以下の内容があるとのことでした。

  • 開発チームの一員として価値がある行動をしよう
  • プロダクトに最も触れているのは自分だと自負できるようにしよう
  • チームのみんなに思っていることを言葉にして伝えよう
  • 「重篤な問題を見つける」「テストを進めてリスクを下げる」

また、自己組織的チームを目指しており、開発エンジニアに対して「仕様はどうなりますか」とか「これは、これで合っていますか」とか、正解を教えてください的な受け身な発言はとにかく止めようと、QAエンジニアに言い続けているとのことでした。自分の考えを発言し、何かしら自分の意見、意志を伝えることが大事だと伝えているとのことでした。

所感

私はQAの経験はなく、アジャイル開発の経験も少ないのですが、今後の業務に活きる講演内容でした。綿密なコミュニケーションが大切であることや、受け身的な発言ではなく自分の意見、意志を伝えていく積極的な姿勢が大事であること等について、あらためて気づかされました。今回の講演で学んだことを業務で活用していければと思います。
 

今後の 豆寄席 へのご参加もお待ちしております!