みなさんこんにちは!ピクシブの一人QAエンジニアの @shimashimaです。
昨年、WACATE2018参加レポート!テストへの熱い想いを語ってもらいました。 という記事で、ソフトウェアテストについての合宿形式勉強会 WACATEへの参加報告を行いました。 今年もWACATE2019 夏 〜納期半端ないって!〜に参加してきたのでそのレポートを行いたいと思います。
WACATEとは?
昨年と同じ説明になりますが、WACATE(ワカテ)という名前は、 Workshop for Accelerating CApable Testing Engineersの略称で、主に若手テストエンジニア向けのワークショップを開いています。 有志で運営しているワークショップで、1泊2日でソフトウェアテストをテーマとした合宿形式の勉強会を年2回開催しています。
前回参加時のテーマはモデリングでしたが、今回は「納期半端ないって!」ということで、限られた状況下での計画から実施・報告まで行うというものです。テストというとどうしてもテスト実施が中心に思われてしまいますが、計画を立てることの重要さを学ぶことができるのではと思い社内で参加者を募集しました。
私自身は最近テスト計画を立てることがないので、久しぶりにやってやるぞーという気持ちで参加しました。もちろん、誘った同僚に対するフォローアップもあります。
参加者紹介
shimashima: 前回同様、Slackでの呼びかけや直接声をかけるなどした結果、昨年に引き続きのyasu、今年新卒入社のryusei、pixivコミックのプロダクトマネージャーのshomaの3名と参加することができました。 ここからはインタビュー形式でお送りします。各自簡単な自己紹介とWACATE参加の目的などを教えていただけませんか?
yasu: メディア事業部アドプラットフォーム部のエンジニアをやっているyasuです。Twitterでは@tamanobiで活動しています。WACATEには、ソフトウェアテストのプロセスに一通り触れて、実務に活かすために参加しました。去年夏のWACATEにも参加しています。とても楽しく学びになったので、今年も参加を決意しました。
ryusei: yasuさんと同じくメディア事業部アドプラットフォーム部にエンジニアとして今年新卒で入社したryuseiです。自分の中ではソフトウェアテストやQAというとunitテストしかイメージできておらず、実際にはどのような手法を用いて品質を担保しているのか知りたかったので今回参加しました。
shoma: pixivコミックでプロダクトマネージャーをしているshomaです。元々ゲーム会社に所属していた為、QAやテストが必要な認識はあったものの自分自身や所属チームにテストやQAについての知識が足りてないなと感じておりました。参加にあたっては、テストの意義や手法を持ち帰って実務に取り込めればと考え、参加しました。
WACATEに参加してみて
WACATEの感想
shimashima: WACATEに参加してみて、まずは皆さんどのような感想を聞きたいと思います。今回初参加のryusei、shomaはどうですか。
ryusei: 今回のWACATEでは自分が知りたいことが知れてとてもよかったです。個人的に「本当にテストするべきものは何か」「何をやらないか」をどう決めるのかという事に関して知りたかったです。 QAという仕事に対するイメージがだいぶ変わったと思います。今まではテストをしてただ品質を上げるというイメージしかなかったんですが、「本当に必要な機能は何か」「限られた期間で最低限品質を保証するためには何をするべきか」を考えてテストを行なっているということがわかりました。
shoma: 私も元々どこまでのテストをやるのか、ユーザーに対しての品質をどこまで保証するかなどの悩みがあった中で今回の「限られた納期の中でどこまでやるか」というテーマでのワークショップはとても勉強になりました。
shimashima: 確かにテストの一般的なイメージはテスト実施部分に目が行きがちですからね。今回のWACATEでは実施部分よりも前の「何をテストし、何をテストしないか」が中心にありましたからね。テストに対する見方が変わったようで誘った甲斐がありました。 2回目の参加となるyasuはどうですか?
yasu: ソフトウェアテストを計画から実行まで体験できてとても満足しています。参加者は「3時間という短い時間で大変だった」という感想が多かったと思いますが、僕は別の感想を持ちました。ソフトウェアテストをやったことがない身として「6人で3時間あればソフトウェアテストが計画から実行までできる」という気づきを得ました。
どのようにソフトウェアテストを導入していけばいいのか、分からなくて困っていた僕にとっては、後押しになりました。
shimashima: yasuの着眼点は面白いですね。私もはじめは「たった3時間しかない!」と思っていたのですが、「3時間あれば計画から実行までできる」という気づくことができました。確かに網羅的なテストはできませんが、限られた時間内でもできることはまだまだある、というのはその通りですね。 他に、合宿ならではのことはありませんか?
shoma: WACATEは複数の会社がいくつか集まっての合宿だった為、有益な情報交換ができたと感じています。 特に知りたかった他社サービスのQAやテスト事例を間近で学べ、チームや会社に持ち帰ることができました。
夜の分科会について
shimashima: WACATEでは初日の夜に有志がテーマごとに集まって語り合う「夜の分科会」がありますが、分科会についてはみなさんいかがだったでしょうか?
ryusei: 分科会ではお金に関するテーマについて話をしました。QAに使う予算がない中でどのように品質を担保していくかであったり、QAのための予算を確保していくにはどうすればいいのかを議論していきました。 分科会が終わった後、もっと話したい人がどこかの部屋に集まって色々話をする会があるんですが、そこにも宿泊が同室の人が行くというのでついていきました。 そこでは自分が前から課題だと感じていたインフラのテストをどのように行なって品質をどう担保していくのかであったり、QAエンジニアのキャリアパスについての話をしました。
shimashima: そういえば、yasuさんは分科会のオーナーをやっていましたよね?
yasu: 「チームをどう作るか」というテーマでオーナーを務めました。ちょうど会社でチームをどう作るか考えながらチーム作りに取り組んでいたので、他チームはどのようになっているか気になって起案しました。ソフトウェアテストと直接関係のあるテーマではなかったので、採択されるか不安でしたが「ソフトウェア品質はチームの品質に依る」という仮説のもとで参加者と議論が盛り上がりました。
shimashima: 2回目の参加で分科会オーナー、お疲れ様でした。活発な議論がなされていたようでうまくいったようですね。素晴らしいです。
私は、第三者検証会社でテスト自動化を推進しているぱいんさんが主催したソフトウェアテスト情報交換会に参加しました。これは、ソフトウェアテストに関する情報を入手先や相談先をお互いに交換・共有しようというものでした。 最初はこういう人にはこのような書籍が良いよ、ということをお互い話しながら紹介していきました。その後、参加者からの悩みに対して「こういう書籍を読むと良いよ」と具体的な書籍を紹介して進んでいきました。その他、書籍以外にTwitterでフォローしておくとよい人、勉強会、JSTQBの紹介などを行い終了となりました。
夜の分科会では、私が参加者の中で比較的年長かつ経験が長いことから情報を出す側に回ったのですが、ちょっと喋り過ぎてしまったようで、主催のぱいんさんから「shimashimaさんは少し黙ってください」と言われてしまいました。反省しております。
WACATEを振り返って
shimashima: WACATE全体を振り返っての感想や、今後の仕事への展開の仕方など皆さんいかがでしょうか。順番に語ってもらいます。
まずは私からですが、前回もそうでしたが参加者もQA/テストエンジニアが多いので話をして様々な刺激を受けました。また、2日間みっちりとテスト漬けで非常に疲れました。特に今回は極めて短い時間で全てを終わらす必要があり、密度が前回以上だったのではないでしょうか。
メインとなるワークについてですが、実際に受けてみて、まさしくいま社内でテストを導入していく際にプロダクトマネージャーと話している内容そのもので納得感がありました。受託ではなく自社サービスであるため、網羅的なテストを求められないこと、品質基準を自分たちで作ることができる・その必要があること、リリース速度を求められることからリスクベースドテストが基本になることなど。
今回のWACATEにはプロダクトマネージャーであるshomaも参加しているので、私だけでなくshomaからもテストの重要性ややり方を説明することで説得力を持たせられるのではと考えています。もちろん、shomaのプロダクトも一緒に協力してよりよいものにしていきます。
shoma: WACATEで学んだ考え方や手法について、早速チームに持ち帰って実践してみたいと思いました。特にサービスを運用しながらの機能開発はスケジュールにも限りがある為、今回のように納期が少ない中で何を選択し、何に集中するか、ということをワークできたのは得るものが非常に大きかったと感じています。
また、講演の中であった「品質の担保はエンジニアの心理的安全性を保つ為」という話にはハッとしました。それまでの自分は、ユーザーにちゃんとしたサービスを届ける為にQAを実施する、という考えだったのですが確かに自分やチームメンバーの心理的安全性を保つことで安心できるなと考えが広がりました。
WACATE参加以前はどうしてもテストについては後手になりがちになってしまっていましたが、最初から計画を作っておくことや「テストによってユーザーにどんな価値を届けたいか」という意識がいかに重要かということを講演やお話をした方々から学びました。
ryusei: WACATEのワークではすでに仕様書があり、それを読めば「ユーザーが本当にやりたいこと」を理解することができました。しかし、実際の業務では要求される仕様がその時々によって変化していきます。その変化に対応していったり、より品質を高めていくにはどうすればいいのかを今回のWACATEで得た知識を使ってチームで考えながらやっていきたいと思っています。
様々な分野から参加している方がいたので、普段の業務では気づかなかったことや新しい視点がたくさんありました。
これからはインフラの品質管理に力を入れていきたいと考えているので、「何をテストしないか」をよく吟味してテスト設計・Infrastructure as Codeを進めていきたいと思います。
yasu: WACATEの中でも、分科会のオーナーを担当したことは良い経験になりました。私のテーマは「ソフトウェア品質を良くするには、ソフトウェアを作るチームを良くすること。どういうふうにチームを作るか」という話でした。分科会には20人以上が参加してくれました。どのチームも課題を抱えており、各チームでの試みを共有しました。属人化を無くす方法、知識伝達のための手順書作成の時間をどう確保するか、学習性無気力に囚われた人との仕事の仕方など幅広く話が盛り上がりました。
ほかに印象に残っているのは、実行委員の1名が「システムテストとか、コンポーネントテストとかの用語も重要ですが、何よりも意思伝達や合意形成のほうが大事です」と講評の中で言っていたことです。そのメッセージは「何のためにソフトウェアテストをしているのか、自分の言葉でステークホルダーに伝えられるか再度考えて欲しい」というように聞こえました。
自分の中で曖昧だったソフトウェアテストのイメージが、ある程度固まったように思っています。正しい用語や効率的な技法よりも、ステークホルダー(開発、QA含む)と合意を取りながら計画・実行を行うことが最も大事だと、今は思っています。エンジニアだけではなく、ビジネス職とソフトウェアテストについて論じるときは、合意形成を第一として活動していこうと思います。
shimashima: 参加した皆さん、それぞれに得るものがあり業務への反映のイメージもできているようですね。品質は誰かが頑張れば良いわけではなく、みんなで協力しなければなりません。その際、この場にいるメンバーが核となり旗振り役になれれば良いなと考えています。
テスト/QAに興味のあるエンジニア募集中です
昨年の品質“実質”無料キャンペーンで社内でのテストそのものとテストエンジニアである私の認知度は上がりましたが、社内のプロダクト数は多く、動けるのは私一人であることから回っていない部分があります。
今回のWACATEではテスト計画から実施・報告までを行いましたが、社内では比較的後半になってからテストの依頼をされることが多いため、最初のテスト計画から関われること自体まれだったりもします。そういう意味ではテストについてだけでなく品質全般についての関わり方を、プロダクトマネージャーとコミュニケーションを取りながら文化を作り上げていく必要があります。
ハードな業務だとは思いますが、なかなか経験できるものではありません。もちろん私も協力しますのでぜひ一緒にピクシブの品質文化を一緒に進めるエンジニアが来てくれることを望んでいます。