Safie Engineers' Blog!

Safieのエンジニアが書くブログです

QA組織を作ろう ~未経験者がQAチームを作るまで~

はじめに

こんにちは!Safie QAグループ(QCDグループ)のグループリーダーの山谷です。前回はテストの業務についてのテックブログを公開しましたが、今回はなりたちについてのお話になります。

私自身はSafieに入社するまではQAエンジニアどころかテストエンジニアとしてもキャリアがない状態で入社してます。 もし同じ状況でQAエンジニアチームを作る人達の何かの参考になれば嬉しいなと思い、ブログを書くことにしました。

テスト体制を作ろう

当時のSafieは開発メンバーがテストをほとんど実施している環境でした。 2020年はそんな状況で「QAについて何もスキルセットがない状態で入社した人間がテストチームをまずは作ることにした」年になります。

私の入社時期はちょうどモバイルアプリのリニューアルと、SafieManagerのリリースが控えておりました。 私の上司はこれらのテストを担当してくれそうな人を探していたのですが、とりあえずモバイルのテスト担当者から作ることにします。

そう、私です。 テストの項目書のひな形を渡され、こう書くんだよとナレッジ(もちろん外部サイト)のURLと開発メンバーのMTGに放り出されました。

ここから私のQAエンジニアとしてのキャリアが始まりました。

テスト担当者を作ろう

サービス開発黎明期あるあるな話ですが、当時のSafieは仕様書がないものがほとんどでした。 そのため、まずはアプリでできることを書き出します。

Safieモバイルアプリの場合には
・ログイン画面
・カメラ一覧
 ・各種ボタン
・ストリーミング画面
 ・デバイス設定
 ・その他機能ボタン

みたいな感じですね。

テスト版のアプリを使い画面と、それに設置されている各パーツについて期待動作を洗い出し、開発と期待結果とそれを導くための手順を埋めていきます。

当然ながらこの当時のテストケースはものすごく粗く、テストをしながらテスト項目を増やしたり、テスト手順、期待結果の書き換えなどもすごく多く発生します。 リリースまでにはこぎつけましたが、動作の安定性については今一つ。
今後も継続して品質改善を行うにあたっての行動に移ることになります。

■改善活動その1 ~顧客対応を巻き取る~

  • リリース後しばらくはモバイルアプリの顧客サポートは基本的には私が巻き取ることにしました。(なりました。)
    • エンドユーザーから指摘されたバグを迅速に開発に連携を行える
    • テストケースの抜け漏れに気づくことができる
    • 自分の対応のノウハウを他カスタマーサポートメンバーに共有ができるようになる

お客様から温度感が高いご意見をいただくなど大変ではありましたが、開発メンバー内外含めてメリットはありました。 何より黎明期っぽい働き方ができたので楽しかった面もあります。 また、当時はモバイルアプリとしての不具合対応フローやノウハウがカスタマーサポート部にはあまりなかったので、そういった運用を作ったりしたのも良い思い出です。

■改善活動その2 ~バグチケットを溜める~

当たり前ですがその当たり前が当時はありませんでした。

  • バグチケットを置き場所を決めて、バグの修正プロセスを開発と話し合いリリーススケジュールを決める
  • 改善を確認した際のチケットクローズまでのフローを立てる
  • チケットを積み残す際の基準を作る
  • バグチケットを参考にリグレッションテスト項目を作る

など、今では当たり前にやっている運用をまずは作ることからスタートしてます。 こうしてまずはモバイルアプリにテスト担当者が一人出来上がることになりました。

テストチームを作ろう

さて、モバイルがひと段落つくと次はSafieManagerのリリースがやってきます。 SafieManagerは開発メンバーがテストケースを作成し、私はテスト担当としてプロジェクトに組み込まれました。

SafieManagerはSafieのWebアプリケーションの中ではかなりシステムが複雑であったため、テストケースもモバイルに比べると倍以上ありました。 開発側もテスト実施にお付き合いいただけることになったのですが、さらに元QAエンジニアでSafieViewerのテストを実施されていた社員1名がアサインされます。

だいたいこの辺りからテストをやってくれる人達として認知されていくようになっていきます。 併せて全プロダクトへのテスト参加を目指して人員の拡大を進めていくことなり、僕+社員1名、業務委託1名~2名でQAチームとして業務に取り組むことになります。 また、テストのことを少しでも学ぼうとJSTQBを取得したのもこのあたりだった気がします。

  • 当時のなんとなくの役割
    • 全PJの要件定義の調整+テストの全体スケジュールの調整+テスト作成+テスト実施
      山谷
    • Safie Viewerや、山谷が持ちきれないもののテストプロセス管理および実施
      社員
    • テスト実施のサポート
      業務委託

さて、上のような体制で半年ほど立つと、1つの課題が生まれてきました。 気づくと毎週私のMTG時間が30時間を超えています。 社内PJ全てに参画した結果、1週間の予定がほぼMTGで埋まってしまうことになりました。 頼っていただけるのは嬉しい反面テスト作成や、実施などはMTG中に内職をするか残業がマストになってます。

この課題を解決するにあたり、要件定義から入れるエンジニアを増やすことにします。 採用基準の中にプロダクトの品質や開発プロセス改善に取り組んだことがある、もしくは取り組みたいと考える方を追加し、こちらからの面接の内容もそれに則った内容に変更しました。

1年くらい上記で採用を続けた結果の所感ですが、以下のようなことを感じてます。

  • QAエンジニアはかなりジョブ定義が曖昧な職である
  • ほとんどの場合はテストエンジニアやテストマネージャーといった経歴の方が多い
  • ビジネス、企画、運用などを包括的な目線をもってプロセス改善に取り組んでいただけるか否かは当人の意識や資質に依存しやすく、こういった経験を持っている方は非常に少ない
    • また、上記のようなスキルを持った方であっても芽が出るまでにはある程度の期間が必要

といった部分です。 そのため、最近では品質改善をどのように改善してきたか、もしくは課題をお伝えしたうえでそれをどのように改善したいと考えるか、などの質問を増やし社内でご活躍いただけるか否かの解像度をあげるように取り組んでいます。

まとめ

まとめに入っていきますが、現在は社員6名、業務委託5名の11名となり、グループとなるまで拡大することができましたが、来年度は15名程度までは拡大したいと考えます。

Safie のQAグループのいいところはプロダクトの魅力と、裁量の広さです。 「良い品質のアプリケーションを作るだけではなく、良いサービス/プロダクトを作っていく」ことに共感をいただけましたら、ぜひ応募をいただければ嬉しいです。

最後までお読みいただきありがとうございました。

© Safie Inc.