メルペイは金融サービスを提供しています。そのため、サービスやプロダクトの品質管理は最重要な課題のひとつです。それを支え、実現しているのがメルペイのQA(Quality Assurance)チームになります。
今回はメルペイQAチームの@gakuと@miisanにインタビューを行い、現在の業務とこれからの取り組み、そしてQAチームが目指す品質の見える化について話を聞きました。安心・安全なサービスを提供するという強い意志をもったメルペイらしい全社的な取り組みをお届けします。
聞き手はEngineering Officeの@afroscriptです。
入社からの振り返り
— お二人はメルペイに入社するまでは何をされていましたか?
@gaku: ソーシャルゲーム会社で品質保証部門を立ち上げたり、スタートアップでプロダクトマネージャー(以下PM)兼QAエンジニアとして働いていました。
@miisan: 前職はERPパッケージを扱う会社でした。そこでは開発や評価、お客さまサポートなど幅広く経験しました。
— メルペイに入社した時期と、現在の職務について教えてください
@gaku: 私は2019年3月に、QAマネージャーとして入社しました。職務は主にメルペイQAのマネジメントです。入社当時はチームメンバーとロードマップを決めたり、体制をチーム制に移行しました。また、外部委託会社の強化やサテライト構築など、組織作りが主な活動でした。その後はQAポリシーやガイドの作成、自動化推進など品質向上を目指す活動を行っています。
現在はエンジニアリングマネージャー(以下EM)として1つのQAチームをマネジメントしながら、MoM(Manager of Manager。マネージャーのマネージャー)として、引き続きQAチーム全体のマネジメントもしています。7月には2年ぶりにQAオフサイトを実施してロードマップを更新し、さらなるメルペイのサービス品質向上を目指して、スケールする体制作りを進めています。
@miisan: 私は2018年7月にQAエンジニアとして入社しました。入社直後はiD決済を主に担当していました。その後、メルペイをグロースさせるプロダクトのQAになりました。最近は信用や与信、オンライン決済の新機能立ち上げなど、メルペイの様々な機能に関わっています。
現在はQAチームのEMとして、プロダクト全体の品質向上を担っています。プロジェクトとしては信用や与信周りのチームマネジメントや体制作り、決済周りではプロジェクトの立ち上げから運用保守まで関わっています。また、個人として女性エンジニアの推進活動にも取り組んでいます。
メルペイの文化「全員品質」
— QAチームでは現在、どんなことをしていますか?
@gaku: 私たちは現在、テスト自動化を進めています。目的としては、継続的にリリースされるサービスに対して、自動でリグレッションテスト(無影響確認)を行い、品質を確保することにあります。
テスト自動化は作業時間の確保であったり、環境や基盤作り、テストシナリオ作成をどう進めるかが課題でした。技術的課題については、開発エンジニアの協力を得ながら進めています。このあたりはメルペイの目指す「全員品質」らしく、役割を越えて実施できていると思います。ただ、新規プロジェクトやマイクロサービス運営などもある中での工数確保が難しく、専門チームを構築したり、採用活動を強化しているところです。
merpay QAチームのEngineering Manager 兼 Manager of Manager @gaku
— 「全員品質」とは何でしょうか?
@gaku:
『特定の工程(例えばテスト)に依存せず、 「全プロセス(全員)」で信頼性の総和を向上させるアプローチ』のことです。プロダクトの品質を高めるのは、QAだけでは実現できません。全部門、経営層まで含めた共通認識として、品質について考えなければならないでしょう。メルペイではリリース前の段階から、みんなで品質を上げていく文化があり、その中から自然と生まれてきたのが「全員品質」という言葉です。今では経営層も全員品質という言葉を使っています。
— 文化として浸透させるためにどんなことをしてきましたか?
@gaku: もともと会社全体に、部門間の敷居が低く協力し合う文化が根付いていたことが一番大きいかと思います。メルペイの組織構造がマトリクス組織になっており、常に部門を越えた相談が行われているのも浸透に一役買ったと言えます。
@miisan: もちろんQAメンバーによる啓蒙活動も行っています。例えばプロダクト開発チームとの定例ミーティングなどでは、品質の定量化を意識した議論ができるように努めてきました。そうすることで、誰もが同じ共通認識で品質に向き合えるようになり、だんだんと開発チームからも全員品質を実現するにはどうすべきかといった意見が出るようになりました。そうやって現場主導で作られた文化になります。
その辺りは「より良いサービスを継続的に届けるための新しい習慣ができるまで | メルカリエンジニアリング」の記事に詳しく書きました。
— メルペイのQAの特徴はなんですか?
@gaku: 止めるQAではなく、早く出すためのQAを意識しています。テストフェーズでテストするのではなく、継続的にテストし続けるためにはどうしたら良いかを常に考えています。通常はバックエンドやフロントエンド、すべて作ってからテストを行います。しかし、メルペイの場合はテストできるものがあれば、どんどんテストし、QAを進めます。それを実現するためにも、私たちは要件フェーズから参加しています。
上流工程からリリース、保守運用まで関わるQAチーム
— チーム体制について教えてください
@miisan: マイクロサービス単位でQAチームが分かれています。社員および協力会社の方たちという混成チームです。自動化プロジェクトも進めていますので、もっと社員を増やして内製化率を高めていきたいと考えています。
— 各メンバーの役割を教えてください
@miisan: どのメンバーも上流工程からリリース、保守運用までQAとして関わっています。ただ、チームによってバックエンドやフロントエンド、クライアントなどが違いますので、それぞれのチームの特性に合わせてスピード感やQAの関わり方が異なっています。
— 関わり方が異なるとのことですが、情報共有はどのように行っていますか?
@gaku: まずドキュメントにまとめています。また、毎週QAチームの定例がありますので、そこで共有を進めています。基本的なQAガイドはありますが、それ以上については各チームが裁量を持って取り組んでいます。
@miisan: たとえば私が関わっているCD(Credit Design)チームについては、週3回知識共有会を実施しています。これも、ここ半年くらいではじめた取り組みのひとつです。チームやドメインが増えてきて、各チームの情報をキャッチアップしたいという要望が出てきたので実施しています。メンバーの気づきや発見から取り組む施策が多いです。
メルペイの品質を支えるscenarigo
— 利用している技術や開発環境について教えてください
@miisan: テストで使っているツールや、プロジェクト管理ツールについては他社と大きくは違わないかと思います。メルペイらしいツールと言えばscenarigoがあります。
scenarigoはメルペイの@zoncoen が個人で開発しているオープンソース・ソフトウェアで、テスト自動化ソフトウェアになります。元々APIのテストはPostmanを使っていたのですが、開発エンジニアにはあまり馴染みがありませんでした。そのため、テストのメンテナンスはQAチームが行うものになり、開発チームとテストに距離が生じるようになりました。scenarigoはGo言語で作られていますので、実開発でGo言語を使う開発エンジニアにとって、親和性が高いツールになります。
— そこでも全員品質の視点が入るわけですね
@miisan: そうですね。プロダクトが大きくなると、QAがボトルネックになる場合があります。開発エンジニアがテストをメンテナンスできることで、開発エンジニアとQAの境界線をなくすのに役立っています。
品質情報を見える化する
— 今後の展望について聞かせてください
@gaku: QAの役割の1つに「品質情報の見える化」があります。これは品質と言う、定量的な計測が困難なものに対して、サービスの品質状態を確認できるようにし、さらなる品質向上を目指すために行います。そのために目的やメトリックスを設定し、テストやサービスレベル目標(SLO)などを利用します。
現在はまだ一部しか取り組めていませんが、開発チームと連携して進める計画を立てています。メルペイのような大規模なサービスにおいて、リアルタイムに品質情報を可視化するのは技術的にもワクワクしますね。
@miisan: 私たちは「金融系テックカンパニーのQAになる」ことを目指しています。メルペイのプロダクトはドメイン難度が高く、技術も複雑です。だからこそ、QAとして金融サービスの品質をリードできることにやりがいを感じます。また、フルスタックQAエンジニアとして、様々なチャレンジができ、新しいことができるのも面白いです。
— どんな人がメルペイのQAチームに合うと思いますか?
@gaku: まずはメルカリグループのミッション&バリューに共感してくれる方ですね。その上で、自分で考えて行動できる方になります。QAチームは裁量を持って取り組んでいるので、待ちの姿勢ではうまくいかないと思います。
EMとしては、まず現場に耳を傾けて、チームを1つの目標に向かわせていける方になります。組織を作ると言うよりも、コミュニティを作る方が近いかも知れません。みんなが意見を出しやすい場を作ったり、メンバーと伴走できる方が向いています。
メルペイはこれまでは立ち上げフェーズでしたが、徐々にグロースフェーズになってきています。EMのあり方も変わってくるかも知れませんので、その辺りの柔軟性を持ち合わせている方が良いかと思います。
@miisan: メルペイはまだプロダクトをローンチして2年程度の会社ですし、プロダクトもまだまだ整理されていない部分があります。理想と現実のギャップもあります。そうした荒れ地を受け入れて動ける方が向いています。まだまだ整いきっていない環境で自分の強みを活かしつつ、状況をどう良い形にできるかをポジティブに考えていける方が良いですね。
あとは、私が女性エンジニア推進に関わっていることもありますが、D&Iも大事な観点です。多様的な考え方、価値観をもっと受け入れていきたいです。
merpay QAチームのEnginering Manager @miisan
— メルペイQAのおすすめポイントを教えてください!
@gaku: 裁量を持って働けるのは大事なポイントかと思います。こうすべき、とは言われません。どうしたいか意見を聞かれますので、自分で決めて能動的に動く必要があります。グループ全体として、風通しはとても良いと感じています。あとは、マイクロサービスのQAができるのもおすすめポイントです。まだまだ世の中にはモノリスなシステムが多いと思いますので。
また、これは個人的ではありますが、私自身がYOUR CHOICE(リモート/出社、働く場所を自由に選択できる制度)で地方に居住しながら働いています。こうした自由度はメルカリグループ全体としてのおすすめポイントです。
@miisan: キャリアパスはとても幅広いと思います。ある時はPM的に、別の時にはテストエンジニア、さらには法律的な話にも関わることもあり振り幅が大きいです。幅広い経験を積めますので、フルスタックなQAエンジニアになれるでしょう。お客さまのためにより良い品質につながることは何でもしますので、QAの道を極められますよ。