システム本部デベロッパーエクスペリエンス室のQAエンジニア、伊藤由貴(@yoshikiito)です。
私はカカクコムに2023年1月にJoinして、この記事を書いている時点で半年弱になります。まだまだ入りたての身ではありますが、Join直後から週次での勉強会を立ち上げてテストや品質について知ろう!考えよう!という取り組みをしています。
この記事では、勉強会を始めるにあたって考えたことや狙い、実際始めてみてどうなのか、などなど共有したいと思います。
とくに
- 一人目QAとしてチームや会社にJoinしたあと、どう動こうか考えている方
- テストやQAに関する知見を開発チームに広めていきたい、という方
の参考になれば嬉しいです!
勉強会をはじめようと思った背景
一言で言うと「勉強会とか好きだから」なのですが、もちろん仕事でやる以上それだけではいけません。
テストやQA、またその専門エンジニアのことを知ってもらいたかった
私が入社した時点ではシステム本部内では専任のQAエンジニアがおらず、私がいわゆる「ひとりめQA」でした。
専任QAはいないものの、開発者によるテストがチーム毎に行われていて、炎上や大きな品質トラブルなど無くサービスを運営できていました。(すごい)
そこに自分が入ってきたわけですが、
- これまで居なかったロールであること
- 「テスト専門の人と働いたことがないんだよね」という方もいたこと
これらを踏まえて、まずは自分の役回りのことを知ってもらうのが大事だと考え、その知ってもらう手段として勉強会を開催することにしました。
前職でも社内の技術研修などを行っていて、そこから研修や勉強会は単に知識を伝えたりスキルを向上させるだけではなく、メッセージを伝える場である、ということを学びました。組織として何を大事にしようとしているのかや、研修や勉強会をやる側が普段考えていることや思い、逆に参加者側が普段考えていることや思いを直接伝える場として、とても有効に機能します。
単にテストやQAのことを伝えるだけれあればドキュメント化して見てもらうでも良いのですが、入社直後という状況では自分が周りのことを知り、周りに自分のことを知ってもらうことが大事です。 そのために勉強会という場を設けて活用するのが良いだろう、と考えました。
勉強会を立ち上げ
テストやQAについての情報を伝えつつ相互理解を深めたい、という目的があったので、それに適したテーマ設定や勉強会の設計を考える必要がありました。
開催形式などを設計
勉強会を作っていくにあたり、検討すべきポイントは多々ありました。とくに入社直後は部内の雰囲気やカルチャーがわかっていないので、丁寧な確認が必要です。
- インフラ(Teamsなのか、他のツールなのか、などなど)
- 内容、とくに向こう数回分のテーマ
- 開催形式(輪読、講義、ハンズオン、などなど)
インフラについては、ちょうど部内でバーチャルオフィスツールが導入されていたのでこれを使うことにしました。
次に検討したポイントは扱う内容です。全体として「テストやQAに関すること」というのは決まっていましたが、具体的な各回の内容、とくに最初の1か月ぶんくらいは決めてスタートしないと自分も辛くなります。今回はQAエンジニア視点でのテストやQAのことを開発者に知ってほしいという思いがあったものの、じゃあいきなりJSTQBのシラバスを読もうとか、ソフトウェアテストとはなんぞや的な固い話をするのはしっくり来ませんでした。
あくまでも開発者の方々から見たテストの話をしつつ、そこにQA視点での情報を混ぜていく形でスタートするのがよい、と思い至りました。結果、まずは『ソフトウェア品質を高める開発者テスト』という書籍の内容を、毎回2,3章ずつまとめて自分が発表する形に決めました。
輪読にしてもよかったのですが、「勉強会始めます!担当決めて輪読です!」という形は参加ハードルを上げてしまいます。とにかくハードルを下げる、たまたま時間が空いていればその日の気分で聞ける会にするため、数ヶ月続けてこなれてくるまでは自分ひとりで回すことにしました。これを、私の中では勝手にファーストシーズンと呼んでいます。
いざファーストシーズン
いよいよファーストシーズンのスタートです。
初回は冒頭で時間を割き、自己紹介や、今後この勉強会でやっていきたいことなどを伝えました。QAやテスト専門、というのが珍しかったのか、初回は数十人が集まってくださり、大盛況。
この手の勉強会の宿命ですが、2回3回と回を重ねるうちに参加人数は落ち着いていきました。それでも毎回必ず参加してくださる方も少なからずおり、とても励みになりました。
ファーストシーズンの間にちょうどJaSST東京というソフトウェアテストに関するカンファレンスが開催されたので、この参加レポートをはさみつつ、全7回で『ソフトウェア品質を高める開発者テスト』の発表が終わりました。
毛色を変えたセカンドシーズン
ファーストシーズンが終わったタイミングで輪読会など他の方にも発表してもらう形に移行しようかと考えましたが、発表者を増やしてローテをする等始めると運営のコストが上がってしまいます。 それよりかは、もうしばらく自分がソロで行って継続することを優先しよう、と判断しました。
そして内容についてはこのとき幸運なことにちょうどいいネタ、GitHub CopilotやChatGPTが盛り上がっていました。QA・テスト視点でこれらの効果的な使い方を解説したらおもしろそうだ、と考えて「AIツールをテストに活用する」という内容に決定。
GitHub Copilotに単体テストやE2Eテストのコードをサジェストさせてどのくらい実用的なコードが出力されるのか、や、ChatGPTをテスト分析〜設計に使うとどのくらい有効なのか、などをまとめて発表しました。(このへんは改めて本ブログで記事を書くつもりです!)
その後〜現在まで
勉強会を継続開催してきたことで、コンスタントに参加してくださる方も増え、「なんだか品質とかテストとかよく聞くようになったな」という状況ができつつある、と感じています。
現在は改めて品質やテストについて、内部品質と外部品質・品質特性・テストレベルやテスト技法・などなどを解説しようと思い、張り切って作った資料(ボリューミー)を何回かにわけて発表中です。
これから
これまでは私が1人でテストやQAに関する情報をしゃべる会を続けてきたので、そろそろ他の方にも発表いただくような場にできたら、と考えはじめています。
- テストに関する本の輪読
- 各チームにおけるテスト関連の取り組み共有
などなど、本部内でのスキルアップやナレッジ共有につながることを検討中です。
テスト・QA勉強会をやってみて
勉強会をこれまで10回以上開催し、システム本部のさまざまなチームの方が参加してくれています。入社したてで、かつリモート中心ではなかなかコミュニケーションが広がりづらい状態ではあるものの、この勉強会の取り組みをきっかけに自分を知ってくださった方もいて、ありがたい限りです。
勉強会以外にもひとりめQAとしての複数の施策を行っており、結果テストにまつわる相談をいただく機会が増えてきました。まだ喋ったことのない方からTeamsのチャットで「相談いいですか?」と言われるのは本当に嬉しいですね!
まだ始めたばかりではあるので、これを1年2年と継続していき、より部署内でのテストやQAに関する取り組みが活発になっていくといいなと思っています。
宣伝
そんなカカクコムのシステム本部では、私と一緒にQAチームを作っていってくれる方を募集しています。
勉強会に限らず、インプットとアウトプットどんどんやろうよ!というカルチャーがありますし、そういうQAチームを作っていきたいと思いますので、ぜひぜひ。