QAエンジニアは「追い風のような存在」と定義した話
QAエンジニアの役割ってなんだろう?
エン・ジャパンでは、QAエンジニアの目的を「プロダクトの価値を最大化し事業に貢献すること」と掲げています。
これについてその具体的な事柄とは一体何か?ということについて、前回のAssuranceの記事の続編として執筆しました。
当社の考えるQAエンジニアの役割について考えてみました
QAエンジニア(Quality Assurance Engineer)は、上記の記事の解釈に従えば、単に不具合を見つけるだけの役割ではないはずだと考えています。Assuranceという活動を通してチームメンバーの不安を解消することはプロダクトの成功に大きく関与することだと思います。
そのためには、どのような視点やスキルが求められるのかを明確にすることが重要です。「プロダクトの価値を最大化する」という目的を達成するために、それを実現するためのQAEの目指すべき姿を定義したいと考えました。
そこで、QAエンジニアの目指す姿を定義するために、以下のように当社の考えるQAエンジニアの役割を考えてみました。
QAエンジニアは、広い視野と高い視座を持ちながらQA技術で課題解決をする「追い風のような存在」
視野は「物事をどれだけ広く捉えるか」という範囲に関するものです。当社のQAエンジニアは、単なるテスト活動の枠を超えた、広い視野を持ってQA活動を行うことでプロダクトの価値最大化し事業に貢献します。
一方、視座は「どの立場や観点で物事を捉えるか」という位置に関するものです。当社のQAエンジニアは、品質というテーマやAssuranceという技術について改めて考えて自身の立場を再定義し、単に不具合を見つけるだけではなく事業の成功に影響を与える視座を持つ必要があります。
事業へ貢献するために、QAエンジニアは上記で挙げた視野と視座を活用してチーム全体を支えることができる役割であると考えています。
- 技術: テスト技術だけに閉じずに開発プロセスや分析やユーザビリティなど幅広く熟知している。単に不具合を見つけるだけでなく、プロダクトがユーザーにどのような価値を提供するかを考えることができる。そのために、その人の持っている技術を活用することができる。
- 事業: プロダクトの売上や市場での成功を意識し、事業戦略を理解している。プロダクトが市場で成功するためにどのように関与できるかを考えることができる。
- マーケティング: ユーザーの課題やニーズを捉え、プロダクトが市場でどのように受け入れられるかを考えることができる。ユーザーの課題やニーズを深く理解し、それを解決するためにどのように関与できるかを考えることができる。市場での受け入れを意識し、QA活動を通じてプロダクトの競争力を高めることができる。
QAエンジニアの役割について考えた背景
どうしてこのような役割を定義しているのかというと、当社QAエンジニア組織では他の組織に漏れず1on1を実施していますが、SETからこのような質問をいただいたことがきっかけでした。
プロダクトの価値を最大化することとは、果たしてそれって品質のことだけで語られていいのか?プロダクトやプロジェクトの品質、プロセスの品質、テスト技術だけで語られていいのか?
開発プロセスやテスト技術にフォーカスした発信を見かけることは多い。それだけでプロダクトの価値を最大化し、事業に貢献するという話だけをしてもピンと来なかったのです。本当に事業貢献するための品質を語るのであれば、エンジニア組織外の話までスコープを広げて語られるべきではないだろうか?
これは私自身も共感しています。本当の意味でプロダクトの価値を最大化し事業に貢献するという目的を達成するためには、目の前の技術やプロセスだけにフォーカスするのではなく全方面において考える必要があると思います。
前提として、私たちはサービスやプロダクトを提供しておりそのプロダクトが市場で十分な支持を得られなければ、事業の継続が難しくなります。
それに対してQAエンジニアの活動がどんな影響を与えることができるのかを考えたときに、事業戦略から逆算してどのような機能や品質が必要なのかを考えなければなりません。
果たしてその機能はユーザーの課題やクライアントの事業課題を解決しているのか? ということを気にする必要があると考えています。その機能がユーザーの課題やクライアントの事業課題を解決できるのか?できているのか?を知るためには、マーケティングのことも考えて行くべきだと思います。
このように、事業に貢献するためのQAエンジニアの役割を考えると、この目的を達成するためには広い範囲のことを考える必要があります。この広範囲な事柄まで考慮した上でQA活動ができた時に初めてQAエンジニアの活動はプロダクトの売り上げに直結していき、事業に貢献すると考えています。
その活動の代表例としては、前回Zennでも投稿したようなテスト以外の活動が強く求められたりというような、いわゆるAssuranceするという技術が必要になると考えています。
ミッションを実現し、役割を果たすための当社のQAエンジニアの目指す姿を定義しました
QAエンジニアの役割とは、広い視野と高い視座を持ちながらQA技術で課題解決をする「追い風のような存在」 です。
ミッションを実現しQAエンジニアの役割を果たすためには、具体的な行動や価値観を体現する理想の人物像(ペルソナ)が必要です。このペルソナとは、理想的な能力や特性について抽象的に描かれたものです。
これを示してみんなが同じ方向を向く必要があります。そのため、QA組織としての目指す姿を定義しました。
当社の全社MTGの発表で使用したスライド
質とスピードを両立する
QAの具体的な技法や手法を使って品質とスピードを両立していきます
- 探索的テストなどを活用しつつ、テストをローレベルからハイレベルへ
- プロダクト開発に関わる全員へ品質をリードする
- 継続的なテスト
これは一般的によく言われていることなので、今回は割愛しようと思います。
役割として何ができるかではなく、持っている技術で何ができるのかを考える
質とスピードを両立するための技術的な取り組みを支えるためには、いわゆるシフトレフトな活動を実践して品質を支えることが大切になると考えています。
「私たちはQAとして何ができるだろう?」 これを考え続けられる組織を作っていきたいと考えています。シフトレフトの代表例は、デザインレビューや企画段階でのQAの関与です。
これはAssuranceするための技術です。企画段階で関与するためにはただテストするだけではなく、それは果たしてユーザーのためになっているのか・課題を解決しているのか?を考え続けられることだと思っています。
内製化がスタートしたばかりのフェーズである我々は、様々な業界・業種からQAエンジニアが中途入社しているため、今までの経験したキャリアによって様々な得意な技術が存在していると思います。そのため、我々は持っている技術を使って何ができるのか?を考えることが必要だと考えています。
プロダクトに関わる皆が自信を持ってリリースできることを示す、「追い風」のような存在になる
上記に定義した2つの目指す姿を実現するためには、シフトレフトだけでは足りないと考えています。
スクラムチームが自信を持ってリリースできるように支援するためには、旧来型のQAエンジニアではなく、PM/PdMの片腕としてチームを強く推進する存在になることが必要であると考えています。
スクラムチームのプロセス改善やプロジェクトを進行していく上での障害の排除やプロジェクトの続行の判断にもQAエンジニアが関与してチームを強く推進するためにPM/PdMをサポートします。
そんな姿をイメージして、追い風のような存在と定義しました。
どうして当社で目指す姿を定義したのか
このように目指す姿を定義した当社ですが、これを設定した背景には当社の多くのQAエンジニアが事業会社ではなく第三者検証といったSESから採用されることにあります。
この話をするためには、QAとは何か?という問いには正解を出すことが難しいという、よく聞く話をしなければいけません。これは品質の定義をすること自体がとても難しいからだと思います。
なぜなら、品質を語るためには知らないといけない領域があまりにも広いからです。だけどそれができないとプロダクトの価値を最大化するQA活動ができているとは言い難いと考えています。
一機能のスコープだけで考えるとバグと一言で片付けられてしまいますが、しかしそれはQAエンジニアって言えるのかな?とQAエンジニアの役割について考えると疑問を持っていました。その理由は「QAEの役割を定義した背景」のセクションで語られたとおりです。
「追い風」のような存在になるとは、PM/PdMの片腕になる、ということ
当社の全社MTGの発表で使用したスライド
PM/PdMの片腕になるためにはドメイン知識や事業についてもっと詳しくなって考えられるようにならないといけないと思います。それがいちQAエンジニアとしては、全てに対して大きく関与することが難しいため、アジャイルな組織・チームの中でそれぞれの専門分野を活かしながら活動していきたいと考えています。
そのためには大上段の「目的」や「なぜ?」の部分といった確かな根拠を可視化するように組織の中からボトムアップで働きかけることも重要です。そうでないと、QA活動の方針も立てられないし何かシフトレフトな取り組みをやっていたとしても、それ正解なのか成果が出ているのかも計測できません。
QAエンジニアに限らず、各業界人材不足のためにリソースが限られており、そのためプロダクトを作るための優先順位をより深く考える必要がある現状です。そのため戦略を立ててやっていかないとユーザーの望みを叶えられなかったり、競合他社に勝てない時代になってきていると考えています。
そのため、この記事で語られているような意識を持たずに再現性のない成功や失敗を繰り返すとただ単にリソースを消費していて私たちには学びがなくなってしまいます。
その時、私たちのような事業の成功のために活動しているQAエンジニアが事業会社で生きるためには、第三者検証とは異なった視点が必要になってきそうだということができそうです。
事業会社で生きる、ということ
事業会社の目的は作るプロダクトが成功することです。これは、第三者検証のQAエンジニアがクライアントの要望を満たす明確な活動と、その活動に対する報酬が直接結びついているのとは異なります。一方で、自社サービスのQAエンジニアは、一個人の活動に対して具体的な答えがありません。そのために私たちは答えがない中で自分たちは何ができるのかを考えなければいけません。これはとても難しい課題です。
そのためエンジニアとしての難易度が上がるし、この問題解決という技能が遂行できるとエンジニアとしての価値も高まると考えています。
一般的に第三者検証から事業会社に転職したQAエンジニアが持つギャップと言われているものは、このような部分ではないかと考えています。もちろんどちらも事業を成功させることが会社の目的ですが、エンジニア個人にフォーカスすると全然異なっていると言えそうではないでしょうか。
とはいえQAエンジニアの母数の多くは第三者検証出身者であると推測しています。そのため、そういう「目的」と呼ばれる、マインドマップやツリー構造の大上段に当たる抽象的な概念を考えられるような人材を育成することは当社のQA組織で持っている一つの目標です。そのため、目的と目指す姿を定義しました。
さいごに
この記事では、エン・ジャパンの内製QAエンジニア組織が掲げる「プロダクトの価値を最大化し事業に貢献すること」という目的を実現するための考え方や取り組みについてお伝えしました。品質の向上だけでなく、事業やユーザーの課題解決にまで視野を広げることが、本質的な価値あるQA活動につながるという視点をお話しました。
また、QAエンジニアの目指す姿の定義を通してQAエンジニアが「追い風のような存在」としてチームを支え、PMやPdMの片腕となるためには、技術力だけでなく、事業やドメイン知識を深め、全体を俯瞰したような高い視座と広い視野を持つことが求められることもお話しました。
これからのQAエンジニアには、プロダクトの成功を支える重要な役割が期待されていると思います。そのためには、個々の技術や経験を活かしつつ、組織全体で学び合い、成長していくことが不可欠だと考えています。
私たちは、この記事で示した目的と目指す姿を基に、プロダクトの事業に貢献するための活動を続けていきます。そして、同じ志を持つ仲間とともに、より価値のあるプロダクトを世の中に届けていきたいと考えています。
読者の皆さまも、この記事を通じてQAエンジニアの新たな可能性や役割について考えるきっかけになれば幸いです。もし共感をいただければ、当社への応募もお待ちしております。
共に学び、成長し、より価値のあるプロダクトを生み出していきましょう。
(本記事は、MAXとRymの共著です)
Discussion