merpay Tech Talk|QAx DevOps/マイクロサービス/Backend vol.2【参加レポ】

昨日行われたconnpassのmerpay Tech Talk|QAx DevOps/マイクロサービス/Backend vol.2に参加したら、感激するほど今聞きたかった話が聞けたので、参加レポートを書きます。

参加したきっかけ

  • 新卒入社してから半年ほどQA業務に携わり、段々とQAは開発側の成果物をテストするだけではないことが分かってきた。
  • ここ1,2カ月で開発工程の上流からQAとして参加しているが、QAとしての立ち回りがイマイチ分からない。
    • (元々Androidエンジニアとして配属され、現在もQAと並行して業務を行っている中、視点の切り替えに困っている)
  • 開発工程全てにおいて、QAがどう関わっていけるのか、その結果どのような文化が醸成されるのかを知りたかった。

というのが、参加したきっかけです。

merpayのQAチームの姿勢

特に良いなと思った部分を書いていきます。

どう品質を作っていくか

チームで品質を作る上で、(プロダクト, プロセス, チーム)という3つの軸を重視しています。

  • 1.プロダクト
    • 当たり前品質と魅力的品質をQAチームの大きな方向として定義し、それを各プロダクトに適用していく。
  • 2.プロセス
    • DevOpsの全ての活動の中でQA/カイゼンを行う。
  • 3.チーム
    • 会社組織の状況におり、個々でもチームでも活躍できるチーム作りを行う。
    • プロダクトの規模や状況により、アジャイルウォーターフォールを選んでいる。

Full stack QA engineerを目指す

どういう品質保証のエンジニアが必要なのか、という問いへのmerpayの答えがフルスタックQAエンジニアです。
これには「上流から下流までDevOpsの全ての局面で活躍できるようになろう」、「金融系テックカンパニーのQAとして、マニュアル的な働きかけだけではなくテクノロジーを活用していこう」 というメッセージが込められています。

merpayではEspressoやTestRail、DataDogなどを用いて品質向上、品質保証の効率化に取り組んでいるそうです。
このあたりは弊社でも取り組みはありますが、QAが行うというよりは開発側のリソースに余裕が出てきたときに取り組んでいるという感じで、QAチームとしての効率化はもっとこれからできるのかなと思います。

「チームで品質を作り込むためにできることを全てやる」を地で行っていて、merpayさんの取り組みを参考に自分ももっとできそう!と思いました。

パネルディスカッションで、現場の取り組みを更に深堀り

merpayさんの取り組み紹介の後、第1回目のイベントのときに出た質問について、現場で活躍しているQAエンジニアの方々のパネルディスカッションが行われました。
twitteryoutubeのチャット欄からも質問を随時募集していただき、自分の質問も拾っていただけました。

バックエンドのテスト自動化

Postmanと内製のツールを使い分けて、テスト自動化に取り組んでいるみたいです。内製ツールScenarigoは以下のリポジトリから見られます。

github.com

元々Postmanを主に使っていたそうですが、成果物を開発者と共有しづらく拡張性も弱いというデメリットを感じ、自動化に特化したツールを作ったそうです。スゴイ。。
単発的なテストはPostmanの方が早くできるので、場合に応じて使い分けているそうです。

webのことはまだあまり分かりませんが、弊社でもPostmanを使っていたような…?web側の同期に聞いてみよう。

フルスタックQAエンジニアとして、上手くいっていない領域

QAに限った話ではないですが、リソース不足で手に負えないタスクが出てきてしまい、そこにストレスを感じることがあるようです。
個人の得手不得手によってタスクを振っていく、も採用しつつ、属人化を排除していく取り組みを今後やっていきたいとのことでした。

品質管理の考え方、アジャイル開発でのQAの関わり方

アジャイルだからこう、ということはなく、開発チーム間で異なるチームの課題に対して、QAの立場からどう取り組んでいけるかを考えているそうです。
例えば「開発している機能、サービスがお客様に価値を届けているか分からない」という課題を持っているチームでは、ユーザビリティの視点を持ち込んだり。

これを聞いていて、「QAの知識をプロセスやチームに適用していく」という方向性が自分の中で見えてきた気がしました。

QAが非QAに対して啓蒙していくようなことはあるか

これは自分が質問しました。今の開発チームでは「メンバー間で目標とする品質レベルの理解がバラバラである」という課題を持っており、ここに対してどう取り組んでいくのが有効なのだろうと思い質問しました。

merpayの中では「啓蒙」がハッキリあるわけではなく、QAがプロダクト開発の全工程に入っていくことで、
PMもデザイナーも企画も含めてQAの考え方を提案することができ、結果としてチームの品質意識の向上に繋がっているそうです。日常の取り組みがベースとなり、全員品質みたいなチーム意識が生まれていくのですね。

また、アジャイルの中で重視される「相互理解」がここでも重視され、スプリントレビューで開発・QA交えてQA的なレビューをしたり、
ドッグフーディングをして開発チーム以外にも自分たちの課題を認識してもらっているようです。

開発側のペアプロにQAも参加したり、QA同士でペアプロのようなことをやったり、というような取り組みも行っているようです。
一聴して「良さそう、やりたい!」と思いました。

おわりに

DevOpsにおけるQAの具体的な関わり方や、現場のQAエンジニアの方の考えを聞けてとても良かったです。
mastuさんが最後に「CI環境をゼロから構築できるようになりたい」と仰っていて、"分かる自分も超できるようになりたい"と共感の嵐でした。

merpayさんの取り組みが良すぎて、また自分の中でも次に取り組むべき方向が見えたので、一気にモヤモヤが晴れました。
QAだからこうしなきゃいけない、ということではなく、QAだからできることは何か、という視点でチーム開発に取り組んでいきたいです。