今回インタビューを受けてくださった方

- 西出 皓一 氏
freee株式会社 QA/SEQマネージャー
2015年にfreeeに入社。freee人事労務の開発を経て、現在はQA/SEQマネージャーとして奮闘。
さまざまな現場でQA業務に携わっている方々の「声」をダイレクトにお届けする『隣のQAに聞く!』。QA・品質向上の重要性が増している今、他のチームでは、どのようにQA業務が行われているか気になっている方も多いと思います。本連載では、その取り組みや「想い」などを伺い、エンジニアの皆さまにお伝えします。
今回は、freee株式会社のQA/SEQマネージャー 西出 皓一さんにお話をいただきました。
- QA業務には、やることから探っていける魅力がある
- freeeで展開されているQA業務について
- エンジニアから「セーブしてもらった」と声が上がるとうれしい
- ノウハウを全社内に浸透させて「属人性」をなくしていきたい
- QA業務を進める上で重要なのはプロダクトを熟知すること
- 問題を自分の言葉でまとめ、正確に伝えられるスキルが必要
- QAエンジニアがどこまでやれるかは「心の持ちよう」
QA業務には、やることから探っていける魅力がある
――はじめに、これまでのQA業務に関するご経歴を教えてください。
西出氏:freeeに入社して7年ほどになります。前職では開発エンジニアを4年ほどしており、入社直後は『freee人事労務』の開発をしていました。その後、QA業務や品質に興味があったこともあり、5年ほど前にQAエンジニアに転身しました。
――QAを志望された理由を聞かせていただけますか?
西出氏:きっかけは会社から打診があったことです。はじめは『freee人事労務』のエンジニアと両方やりたいと考えましたが、絞ることにしました。なぜなら、QAはとても重要な業務で、できることが無数にあり、まず、そこから探っていける課題感覚に惹かれたからです。
freeeで展開されているQA業務について
――御社のQA業務体制について教えてください。すでに5年前にはQAチームが立ち上がっていたのでしょうか?
西出氏:私が4人目というフェーズでした。当社のQA部門が立ち上がったのは、それより少しさかのぼって1〜2年前です。私が入社した頃、QA部門は1人体制で、担当者が1人でリリース前のテストや自動テストの開発をしていました。
――かなり早くから取り組んでいたことになりますね。
西出氏:そうですね。現在でも毎日リリースしていますが、当時から自動テストは毎回、必ず回るようになっていました。
――御社のQA業務の位置づけやミッションを教えてください。
西出氏:当社のサービスはSaaSです。継続的に使う価値があることをユーザーにご理解いただけないと成り立たないビジネスを展開しています。また、ユーザーの業務を担わせていただく社会的責任の大きいサービスです。そのため、継続的に品質を作り込んでいくことがなにより重要になってきます。
当社のQAのミッションは、起きてはいけない不具合を起こさない開発体制にしていくことです。製品の価値を届けるリリースを頻繁にしていく中で、細かい不具合を全て出さないことにすると、リリースの速度が落ちてしまいます。
そこで、絶対に出してはいけないもの、起きてはいけない不具合と、出してからでも直せるものを正しく認識しておく必要があると考えました。そこには、絶対に起きてはいけないことにフォーカスして、継続的にそれを発生させない体質にしていくという私たちの意思も入っています。
――具体的に何か、工夫されていることはありますか?
西出氏:「絶対に起こしてはいけないこと」は意外に人によって異なります。そこで、全社的にしっかり定義をしました。
――皆でトラブルのレベルを分けて認識し、その最も高いレベルのものは「絶対に起こさないようにする」ということでしょうか?
西出氏:はい。サービスごとに問題の「重篤度」を定義しています。フェーズはサービスごとにそれぞれ異なるため、全サービス共通の定義はしていません。
――freeeは積極的に機能追加をされており、競合製品と比べて機能豊富なイメージがあります。テストの領域も幅広いのではないでしょうか? どんな体制で取り組まれていますか?
西出氏:一つのプロダクトにエンジニアが在籍する複数のチームがあり、個々のチームには必ずQAが1人います。そして、プロダクト全体を見るQA担当がいる体制が基本です。また、名称は造語ですが、SEQ(Software Engineer in Quality)という、テストの自動化や保守運用、テスト環境のボトルネックの解消などを通じてQAを支えているチームがあります。SEQでは、品質をエンジニアリングで押し上げていく土台づくりに取り組んでいます
――御社はディベロッパーブログなどでエンジニアが積極的に情報発信をされていますが、どのような意図があるのでしょうか?
西出氏:私たちがエンジニアリングで取り組んでいることを、自分たちから発信していかないと世間には伝わらないので、ブログなどで積極的かつオープンに情報をアウトプットしています。社内でも、アドベントカレンダーなども毎年書いていますし、社内ブログも活発です。最近のQAの取り組みついてもこちらに書いたので、ご興味ある方はご覧いただけると嬉しいです。
エンジニアから「セーブしてもらった」と声が上がるとうれしい
――日々、QA業務に取り組まれていて、どんなとき「やりがい」を感じておられますか?
西出氏:チームにいるときは、QAがいて安心とか、品質が実際に良くなっていることが見える化できていると言われたときにやりがいを感じますね。
――不具合を未然に防ぐことができたときも「やりがい」が感じられそうです。
西出氏:はい。当社ではクォーターに1回、成果発表会があり、そこでチームごとに実績を発表しています。QAチームでは未然に問題を防いだことを「ナイスセーブ」と表現していて、エンジニアから「セーブしてもらった」と声が上がるとうれしいですね。QAチーム内でもSlackに「ナイスセーブ部屋」を作り、そこで共有しています。
――QAは、まだ発生していない問題を止めることでも評価されるべきですが、実は目立たない部分でもあります。それを「ナイスセーブ」として、きちんと評価されているのですね。
西出氏:以前、私もその点が見えにくいと思っていました。実際に不具合を予防したり、それ以前のリスクを要件レベルで防止できたりしたら「ナイスセーブ」として評価し、チーム内でわかり合えるのは良いカルチャーだと感じています。
ノウハウを全社に内に浸透させて「属人性」をなくしていきたい
――QA業務を担ってこられて、現在、課題だと感じていること、改善したいことなどをお教えください。
西出氏:先ほど、チームには必ずQAがいると話しました。それ以前は、どのチームにも所属していない横断的なQA体制を取っていましたが、プロダクトチームとのコミュニケーションや仕様の変化、不具合の検知が不十分でした。そこで、チーム化を進めてきたことになりますが、今度は特定の人にノウハウが集中する「属人性」という課題が出てきていると感じています。
今後、新メンバーが増えていきますので、オンボーディングを体系的にすることや、テストを資産化する取り組みを進めたいと思っています。そのようにして、ノウハウをチーム内から全社内へと浸透させていきたいですね。
いずれは、QAだけでなく、エンジニアでもそのノウハウを使えるようにすれば、チーム内での高品質保証が維持できます。極論すれば、QAが抜けてもエンジニアとPMで対応できるとか、エンジニアが抜けてもQAができるといったチームづくりが属人性の解消に繋がっていくと思っています。
QA業務を進める上で重要なのはプロダクトを熟知すること
――QA業務を進める上で知識や情報の収集はどのようにされていますか?
西出氏:チーム的なところですと、最近は、経験年数が多いシニアQAと経験が少ないジュニアQAに分けて、両者を組み合わせたチーム体制にして、シニアの経験から学べるようにしています。実際に一緒に働くことで得られるものは多いと思います。不具合を分析して、そこからテストやプロダクトにフィードバックしていく活動もしていて、その分析方法をQAチーム内で検討したり、悩んでいることを話しあったりしています。その分析結果から得られるものを毎月レポート化して、全社で共有して学んでいます。
――西出様ご自身はどのように情報を得たり、学ばれたりしていますか?
西出氏:私はQA業務を進める上で、プロダクト、プロジェクトをよく知ることが重要だと考えています。そのため、とにかくプロダクトに触り、製品について学び、熟知することを重視しています。
freeeのQAチームには、当社ではじめてQA業務に携わったサポート出身のエンジニアも活躍しています。
問題を自分の言葉でまとめ、正確に伝えられるスキルが必要
――QA業務にはどんな人が向いていると思われますか?
西出氏:やはり、会社の方向性やプロダクトが目指す先が好きであることが重要かもしれません。「良くしたい」という想いが品質に直結すると思うからです。スキルとしては、いろいろな情報を収集して、実際に品質に繋がるような形にしてプロダクトにフィードバックすることがQAには求められていると思います。
――QA担当になる前に、こんなことをしておくと役に立つといったことはありますか?
西出氏:少々前になりますが、テストは品質の可視化の一つだと学びました。可視化するには、起きた問題を自分の言葉でまとめ、正確にエンジニアに伝えられることが重要になってくると思います。言語化するスキルは重要かもしれません。
――先ほどお伺いした「ナイスセーブ」も、セーブしたポイントを言語化していますね。
西出氏:そうですね。言語化することで、他の人がやっていることがわかったり、起こった事象を再現できたりするようになります。属人性を解消するためにも必要になってくるスキルだと思います。
QAエンジニアがどこまでやれるかは「心の持ちよう」
――これから、QA業務を通じて達成したいことや「夢」があったらお教えください。
西出氏:私たちが成果を出していくことによって、SaaSのQAだったらfreeeと言っていただけるようになっていきたいと思っています。SaaSの品質保証のベストプラクティスは、まだまだ確立しづらい面があると感じています。そこを自分たちで実践したり、失敗したこと成功したことを発信したりして確立していきたいと考えています。これから、SaaSのQA、SEQをやってみたいと考えておられるエンジニアの方にも、ぜひ、当社に参加していただきたいですね。freeeがSaaSのQAを実践できる場として、参加している全員がスキルなどを高め合っていけるようにしていきたいと思っています。
QAエンジニアの定義や役割は会社によって異なります。私は、QAエンジニアの魅力は、期待されている役割だけでなく、自分で想定したところまでできることだと思っています。つまり、QAエンジニアは心の持ちようでいくらでも成長できるので、私もいろいろ取り組みの幅を拡げるようにしていきたいと考えています。
――本日は、さまざまなお話をしてくださり、ありがとうございました。