QAチーム設立21年目のサイボウズ×3年目のメルペイに聞くQAエンジニアの役割とは?#cybozu_merpay

2021年9月28日に開催したサイボウズとメルペイのコラボイベント「QA Talk 〜現場のチームの作り方。QAチーム設立21年目サイボウズ x 3年目メルペイ〜」の続編として、情報交換会をサイボウズ社の東京オフィスにて実施。そのときの様子をレポートとしてお届けします。

まずは、自己紹介

@miisan(メルペイ):本日のイベントは、先日9月28日に開催したサイボウズとメルペイのコラボイベントの続編となります。前回は「現場のチームの作り方」というテーマで座談会を行いましたが、有難いことに視聴者の皆さんからもっと話を聞きたいという声や私たちももっとお話をしたいという思いから、再度この場を設けさせていただきました。

前回に引き続き、2社のQAチームの役割や業務の進め方などを深掘りながら、たくさん情報交換したいと思います。まずは、サイボウズの皆さんから自己紹介お願いできますか?

△上段メルペイ:左から@Enn、@miisan / 下段サイボウズ:左から@chiemi、@nanami、@hitomi

@chiemi(サイボウズ):サイボウズのchiemiと申します。2020年6月にキャリア入社し、サイボウズOfficeやメールワイズといった製品を担当しています。前回のイベントに参加していないので、今日はいろいろとお話しできたら嬉しいです。

@nanami(サイボウズ):サイボウズの2018年に新卒として入社したnanamiと申します。入社してからずっとQAを担当していて、所属先はkintoneやGaroonなどのクラウドサービスのログイン機能や管理者画面を開発するチームです。前回のイベントに引き続き、よろしくお願いします。

@hitomi(サイボウズ):サイボウズのhitomiです。私は2019年4月入社で今年3年目になります。「#まとまると強い」の電車広告や「どクラウドです!」のテレビCMでお馴染みの業務改善プラットフォーム、kintoneの開発チームでQAを担当しています。前回のイベントと続けて参加させていただきます、よろしくお願いします。

@Enn(メルペイ):はじめまして。メルペイのEnnです。2021年の2月に入社して、メルペイスマート払いの一括払いや定額払いのQA業務を担当しています。こういうイベントの参加は初めてで緊張していますが、どうぞよろしくお願いします。

@miisan(メルペイ):メルペイのQAエンジニア miisanです。私は2018年夏ごろに入社して、@Enn(メルペイ)さんと同じく信用・与信の領域やオンライン決済の立ち上げなど複数のプロダクトに関わってきました。現在は、QAチームのエンジニアリングマネージャーも務めています。よろしくお願いします。

QAチームやマネジメント有無・組織体制の違い

@miisan(メルペイ):さて、前回は「21年目のサイボウズ×3年目のメルペイ」というタイトルで2社でパネルディスカッションを行いましたが、そもそもQAの役割や働き方がかなり違うのでは?という気付きがありました。本日参加いただいているサイボウズの3名も、関わっているプロダクトがそれぞれ違うとおっしゃっていたので、それぞれの業務内容や役割についても後ほど詳しくお伺いしたいなと思っています。

まずはじめにサイボウズのQAの役割について、@hitomi(サイボウズ)さんから教えていただけますか?

@hitomi(サイボウズ):サイボウズには現在、QAだけが所属するチームはありません。背景として、2019年に実施した開発本部の組織体制変更があります。組織変更のタイミングで品質保証部をなくし、各製品チームや横断型チームのの配属となりました。

QAエンジニアの具体的な業務としては、Backlogのリファインメントに参加して意見を言ったり、仕様の懸念点をプログラマーと話し合ったりするものが挙げられます。テスト設計とテスト実施がメインの仕事になります。その他にはリリース後のモニタリングや、プロダクトマネージャーの業務に関わるQAメンバーもいます。

@miisan(メルペイ):品質保証部としての体制がなくなったのは、どういった理由があったのでしょうか。体制変更をして、どんなメリットがあったかも教えていただきたいです。

@nanami(サイボウズ):品質保証部がなくなったのは、開発本部全体の変化が背景にあります。 体制変更のタイミングでマネージャーを廃止することになりました。プロダクトに関わる各ロールが1つのチームに所属する体制に変更され、その過程で品質保証部がなくなりました。

この体制変更に伴い、プログラマーやプロダクトマネージャー、QAエンジニアが1つのチームとして動けるようになりました。具体的には、権限、採用、予算といった承認系のタスクもチームで柔軟に対応できるようになったことが挙げられます。プログラマーとQAエンジニアが同じチームになり、距離が近くなったのは良かった点です。

@chiemi(サイボウズ):私は現在の組織体制になった後に入社しましたが、前職では品質保証チームがある組織でした。サイボウズに入社して、QAエンジニアやプログラマー、プロジェクトマネージャーが全員で同じ製品の目標達成のために、1つのチームで目線合わせができているのは良い点だと感じています。

以前いた会社では、それぞれが別の目標を持っていて、どうしても目線がずれてしまうことがあったんです。全員が一緒に「この製品を良くしていこう」というスタンスで会話できるのは良い特徴ですよね。

@miisan(メルペイ):今のお話から、マネジメント体制の有無がサイボウズさんとメルペイの1つ目の相違点ですよね。 もう1点、品質保証部がチームに入り、他メンバーと同じ目標に向かって走っているという話がありましたが、その点はプロセスは異なるものの、メルペイと考えが似ているところがあると感じました。

@Enn(メルペイ):メルペイにはQAチームがあって、メンバーそれぞれが異なるプロジェクトを担当しています。それぞれがスクラムやウォーターフォールの定例に必要に応じて参加しています。

具体的な業務としては、スクラムだとスプリントで2週間ごとで回していて、他の開発メンバーと一緒に目標設定をしていきます。各メンバーで異なるプロジェクトを担当していますが、QAエンジニア内でお互いに、今何をやっているかを共有する場も設けています。

@miisan(メルペイ):体制に関して補足すると、QAエンジニアそれぞれがプロジェクトA、プロジェクトBといったプロジェクトベースでアサインされている現状です。メルペイの場合は、プロジェクトが3か月スパンくらいで変わったり、新規プロジェクトに優先度が移ったりするので、その時々の状況に応じてアサインしていく体制をとっています。

@hitomi(サイボウズ):今の話で質問があります。プロジェクトベースでアサインということは、自分のタスクが残っていたり、今までに経験していないタスクであっても、別プロジェクトに異動することがあるのでしょうか?

@Enn(メルペイ):ありますね。もちろん引継ぎミーティングを行って、お互いスムーズに業務が進むようにケアしています。

@hitomi(サイボウズ):ちなみに、メンバーのアサインなど異動を指示するのは、QAマネージャーの業務ですか?

@Enn(メルペイ):はい。リソースのアサインはQAマネージャーが行っています。

@nanami(サイボウズ):そこはサイボウズとの違いですね。サイボウズの開発本部では基本的に各メンバーの希望次第で異動できるんです。

@hitomi(サイボウズ):時期の相談はしますが、基本的に本人の意思が尊重されますね。

@miisan(メルペイ):メルペイでも本人のWill(希望)を叶えられる異動体制をとっていますが、弊社では会社のOKRという目標設定がベースとなり、そこからチームやプロダクトに細かい役割が降りてくるイメージです。そのため、ある程度メンバーのやるべきことが決まっていたり、OKRとタスクが紐づいていたりする形です。

テスト実施や自動化は誰がやるの?メルペイ・サイボウズそれぞれのQAの役割とは

@hitomi(サイボウズ):メルペイQAエンジニアの具体的な業務をもう少し教えていただけますか? @Enn(メルペイ) テスト設計、テスト実施以外に自動化を推進していて、一部のメンバーには自動化テストのスクリプトを書いてもらっています。

@hitomi(サイボウズ):そうなんですね!私のチームだと、現状ではQAエンジニアが手順と期待結果のテストケースを作って、それをプログラマーが自動化する流れになっています。コードをQAエンジニアがチェックしたり、一緒にコードを書いたりすることがあまりないんですよね。ここも違いだなと思いました。

@miisan(メルペイ):自動化をQAエンジニアだけで対応していると言うと、少し語弊があるかもしれません。 大前提として、プロダクトをより良い状態で早くお客さまに届けたいという思いがあって、その目標達成のために各自が役割を超えて何ができるか考えよう、と伝えています。

QAが絶対にコードを書く必要はないけれど、やれる人がやりましょうというスタンスですね。QAが工数的に空いていれば動きますし、開発の手が空いていれば任せます。もちろん一緒に書いていくこともあって、ケースバイケースなんです。とにかく、みんなで品質づくりをやっていこうという考えがベースにあります。

@nanami(サイボウズ):プログラマーとQAエンジニアが一緒にテスト自動化を行うとのことですが、両者の知識や経験の差がハードルになったりしませんか?

@miisan(メルペイ):たしかに、立ち上げ初期のころに使っていた言語やツールは今と全く異なりますし、メルペイには業務委託の方も多く、技術における知識や経験にグラデーションがあるのは事実です。

ですが、メルペイでは開発メンバーから他のメンバーに学びの機会を提供する環境が整っていると思っています。中には、今まで自動化に取り組んだことがない方もいるのでそういった方を対象に、知識を底上げするための勉強会の実施や、ドキュメントの整備などを積極的に行う文化があります。このあたり、@Enn(メルペイ)さんはどう思いますか?

@Enn(メルペイ):そうですね。私も今まで経験したことがなかったので、当初はAPIテストなどできないこともありましたが、質問すれば開発メンバーがすぐ教えてくれるので恵まれた環境だと思っています。開発メンバーと技術面の差があるのは事実ですが、QAエンジニアの中でも、知識のある方に聞けば必ず教えてもらえる環境がありますよね。

@nanami(サイボウズ):スキルの共有をする風土が整っているというメルペイさんの魅力がとても伝わってきました。QA間だけでなく、プログラマーとの間でもナレッジ共有されているんですね。

@miisan(メルペイ):もともとQAエンジニアだけでテストコードを管理していたとき、JS系のコードで書くこともありました。しかし、そのやり方ではQAエンジニアがテストすることになってしまい、開発側との乖離があったんです。そこで開発メンバーが主体となって「自動化に開発者も入っていけないかな?」という意見が出ました。

開発者のBackendがGo言語を使っていたため、その言語に親和性のあるツールを開発して自動化したほうがスムーズだよねという声があがり、今の体制に変更となりました。このように、品質保証も全員で温度感高く、一緒に進めていこうという文化がありますね。 @nanami(サイボウズ):ところでサイボウズではチームによって自動化への取り組みが異なると思いますが、@chiemi(サイボウズ)さんと@hitomi(サイボウズ)さんのチームではどういう取り組みをしていますか?

@chiemi(サイボウズ):サイボウズOfficeのモバイルアプリがあるのですが、モバイルアプリで自動化ができないかなと、ちょうど最近プロジェクトが走り出したところです。

@nanami(サイボウズ):なるほど、他のチームとやっていることが違うので聞いてみたかったんですよね。

@miisan(メルペイ):サイボウズさんはチームで担当プロダクトが異なるとのことですが、何かQAならではの役割はあるのでしょうか?ここまでの話しでは、設計・実施・自動テストというテーマが出てきたと思うのですが…。

@nanami(サイボウズ):私のチームでは開発スケジュール作成や各種ミーティングの設定、ファシリテーションなどもQAで担当しています。テスト以外のことも、できることは進んでやっていくスタンスで取り組んでいます。

@chiemi(サイボウズ):私の担当するサイボウズOfficeとメールワイズ、モバイルアプリではプログラマがそれぞれ異なります。そのため現状としてはQAのリソースが少ないんですよね。なので、やりたいことはたくさんあるものの、まだプラスαのことをできていない状態です。

工数が少ないなりに、QAの中で改善活動はしていますが自動化を含めてこれからいろいろと進めていきたいですね。

@miisan(メルペイ):本当に3名それぞれで課題感や取り組み内容が異なるんですね!ちなみに@Enn(メルペイ)さんは、QAとしての役割についていかがですか?

@Enn(メルペイ):直近はテスト業務以外に、プロジェクトの上流工程に入りながら、プロジェクトマネージャーたちと仕様のすり合わせから改善活動を行っています。

@miisan(メルペイ):ありがとうございます。@Enn(メルペイ)さんのお話を補足すると、メルペイでは新規プロジェクトを立ち上げるチーム、グロースに取り組むチームなど動きがそれぞれ異なっていて、チームごとに役割や課題感は異なります。

@Enn(メルペイ)さんが担当しているチームでは品質の定量化と、不具合の改善、そして定量化した後にどのように改善していけばいいのかを検討している最中です。メルペイだけでなく、サイボウズさんの中でもQAの役割は幅広いということが分かってきましたね。イベントの後半では、さらに両者の違いなどを掘り下げていけたらと思っています。

最後に

続きのイベントレポート記事はまた後日公開いたします。お楽しみに…!

サイボウズ社とメルペイでは、QAエンジニアを募集しています。ご興味ある方は是非、ご応募ください。
サイボウズ:QAエンジニア
ソフトウェアエンジニア (Test Engineer) [Mercoin / Merpay]
ソフトウェアエンジニア (QA Engineer) [Mercoin / Merpay]
ソフトウェアエンジニア (QA Engineer Lead) [Mercoin / Merpay]
エンジニアリングマネージャー (QA) [Mercoin / Merpay]

またメルカリグループは QA Talk をはじめとしたエンジニア向けのイベントを定期的に開催しています。イベント開催案内を受け取りたい方は、connpassグループのメンバーになってくださいね!
メルカリ/Mercari – connpass