SmartHR Tech Blog

SmartHR 開発者ブログ

マルチプロダクト戦略におけるQA組織の変化とこれから

こんにちは、SmartHR品質保証部マネージャーのarminです。 前回、私たちのグループの方向性をブログで発信してから3年が経過しました。 この間、品質保証部の体制や目指すべき方向性などに変化が起きていますので、改めてここで公開しようと思います。

品質保証部の変遷

前回のブログを出したのが2021年だったので、翌年2022年以降について説明します。2022年当時はQAエンジニアが個々のプロダクトに専属で入り、開発チームと一緒に品質保証を行なっていく組織を目指していました。 開発チーム内に入ったQAエンジニアは各々バリューを発揮し、各プロダクトの品質は向上していきました。

2023年になると、SmartHR全体としてマルチプロダクト戦略が打ち出され、プロダクトもプロダクト開発チームも急激に拡大していきました。

開発チームが増えても、品質の良いプロダクトを素早くリリースしなければ意味がありません。そのため、品質保証部は開発チーム全員で品質保証していく戦略へと方針転換を図りました。開発チーム全員で品質保証することで、よくあるQAがボトルネックになってプロダクトがリリースできない問題を起こさないようにしたのです。具体的には以下のような取り組みを行ないました。

  • 開発チームに入り、QAエンジニアがどのように品質保証しているのかを示す
  • 開発チームに品質保証の考え方・やり方を伝える
  • 開発チームが品質保証できるかを経過観察して、問題なければQAエンジニアはチームから抜ける
  • 開発チームが継続的に品質保証し続けられているかを観測して、課題があれば一緒に解決に向けて動く

このようにすることで、全プロダクトに専属のQAエンジニアがいなくても、各プロダクトで品質保証が行なわれるようにしました。

そして2024年現在、開発チームの半数以上は専属のQAエンジニアがいない状態でプロダクト開発を行なっています。現在専属のQAエンジニアがいる開発チームも、多くは2024年中にQAエンジニアがいない状態でも品質保証できるようにしていく方針です。

なお、開発初期段階で早くプロダクトを作ることに価値がある開発チームや品質保証に困っているチームなど、開発チームの状況にあわせて専属のQAエンジニアをアサインするなどの手段は取っており、一律にQAエンジニアがいない状態にすることは行なっていません。

品質保証部の新しいミッション

先述した通り、QAエンジニアの役割を再定義したことに伴い、品質保証部のミッション(果たすべき責務)を見直しました。 品質保証部の新しいミッションは、

継続的に品質保証していける体制づくりに責任を持つ

です。いまのQAエンジニアの役割が、ほぼそのままミッションになっています。

SmartHRはこれからもマルチプロダクト戦略を推し進めていきます。当然、プロダクトやプロダクト開発チームはさらに増え続ける見込みです。価値あるプロダクトを早くユーザーに提供するには、開発チーム自らが品質保証できることが必要だと考えています。 開発チーム自らが品質保証できるということは、開発チーム内にいるすべての職種の方が自らの得意領域において品質を保証できることになります。これにより、従来のソフトウェア開発で行なっていた「製品を一度組み上げてからテストで品質を確認する」といった後工程での品質保証だけでなく、早い段階での品質保証が行なえるようになります。

このように文章にすると簡単なように見えますが、実際に開発チームが品質保証できるようにすることはとても難しいです。各職能の方が得意としている各領域でどのように品質を保証するべきかを言語化し、開発チームに伝えていかなければならないからです。品質保証部のQAエンジニアは、日々この難題と向き合い業務にあたっています。

これから品質保証部のエンジニアに求めること

「開発チームが品質保証できるようになった後、QAエンジニアは何をするんだろう?」と思う方もいらっしゃると思います。ですが安心してください。やるべきことはたくさんあります! いま、私たちが開発チームに移譲している品質保証の多くは、いままでQAエンジニアがやっていた品質保証です。QAエンジニア以外の職種の方が実施すると負担が大きいと感じることがあると思います。開発チームがよりストレスなく品質保証できるようにやり方を変えていったり、エンジニアリングを用いて極力自動化していったりする必要があります。 また、いままで挑戦できていなかった分野の品質保証についても、専門家として知見をためて開発チームに還元していくことが必要です。いまできていないことをできるようにして、新しい品質保証の手法を開発チームに伝えていくことで、「顧客に早く価値を提供できる状態≒継続的に品質保証していける体制」を作っていきます。

そのために、SmartHRの品質保証部のQAエンジニアには、より品質保証の専門家として専門性を追求してもらいたいと思っています。 開発チームがより高い品質でいまよりも速く開発するためにどのようにすればよいかを常に模索し、開発チームにインプットしていきます。そのベースを身につけるため、直近ではソフトウェア開発に関する知識を全QAエンジニアに求めていきます。プロダクトのコードを読み書きできれば、ホワイトボックスやグレーボックスの観点で品質保証施策を考えることが可能になり、より少ない労力で高い効果を実現できる可能性が高まると考えているためです。また、プロダクトのコードを読み書きできる状態になることで、開発生産性を上げたりコード品質を上げたりすることに寄与できるとも考えています。

念の為お伝えしておくと、いまここに書いたことは全QAエンジニアに求めていきますが、最初からすべてを満たしていないとSmartHRのQAエンジニアになれないというわけではありません。あくまで「入社後に習得していくことを求められること」と捉えていただければ幸いです。

さいごに

我々が目指している体制に向けて、組織はまだまだ未完成です。 プロダクト開発チームから離れていくという方針は、一緒にプロダクト開発をしていきたい!という方にとっては物足りない環境かもしれません。

ですが、開発チームが品質保証できる体制を作れるQAエンジニアがたくさんいる組織ってすごくないですか? ビジネスにどれだけ貢献できるのかを考えるとワクワクしませんか? 多くの顧客にたくさんの価値提供ができたら、それは最高の成果だと私は考えます。

これらの方針や考え方に共感や興味を持っていただいた方は、ぜひSmartHRのQAエンジニア職に応募してください! 新しいQAエンジニア組織を一緒に作っていきましょう。

hello-world.smarthr.co.jp QAエンジニア(リーダー候補) / 株式会社SmartHR
QAエンジニア / 株式会社SmartHR