見出し画像

LegalForceの目指す品質と課題

こんにちは。LegalForce QAの島根(@shimashima35)と申します。

今年(2021年)7月に中途入社でLegalForceに参加しました。正社員としては唯一のQAとしてプロダクトのテスト・品質だけでなく全社的な品質課題の解決・改善を目指して動いています。

過去CTO時武がこれからのQAについてのBlogを書きましたが、QAとして私が入社したこともあり改めてLegalForceが目指す品質と課題について時武に話を聞いてみました。

自己紹介

島根

はじめに、でも書きましたが2021年7月よりQAとして参加した島根と申します。もともとJavaエンジニアで、実はキャリアはQAよりも長かったりします。QAとしてはtoBオンライン会計サービス、toCイラストコミュニケーションサービスを経験し、その中でテストを含めた品質改善活動全般を行なってきました。コミュニティ活動としてはJaSST Tokyo実行委員を10年弱ほど務めています。

LegalForceでは、契約書というビジネス的にも重要なものを扱うサービスのQAとして品質を中心とした改善活動に従事しています。

QA 島根

時武

LegalForce CTOの時武です。インターンとしていくつかのWebサービス開発に携わった経験や前職でスマホアプリの開発に携わった経験をもとに2017年10月LegalForceに参画しました。初期の頃は開発者として製品の開発やプロジェクトマネジメントを行っていましたが、最近では組織開発をメインの業務としています。

CTO 時武

対談

LegalForceにおけるQAの変遷

島根:まず最初に伺いたいのは、創業時からいままでLegalForceがどのようなQAの体制を行なっていたかということです。私も最近入社したばかりなので、今までの経緯は非常に興味があります。

時武:開発初期の頃は、QA専門のメンバーはあえて社内に抱えていませんでした。検証工程も開発フローの一部であり、そこだけを切り離すよりは開発者がそのまま担当すべきという考えだったからです。そのため普段は私も含め開発者が検証まで行い、リリースするという流れで開発を進めていました。

島根:そうなのですね。私が入社した時点ですでに正社員ではないですが何名かQAがチームに参加していたので以前の状況を知ることができ興味深いです。

時武:QAを独立させる必要性を感じたのは開発メンバーが増えてきて、開発も並行できるようになってきた上、正式版リリースを経て外部品質への関心が高まってきた2019年の終わり頃からです。もちろん当時も理想的には開発者が全行程を行うという開発体験を実現したいと考えていましたが、そこまでの知見や基盤を整備する工数も無い中での折衷案としてQAメンバーを採用するという形に落ち着きました。

今でも私がイメージしている理想像は変わっていませんが、理想を実現するための工数をどうしても確保できないまま開発者や開発ラインがどんどん増えてきていました。とはいえこのままの体制を続け、開発とQAが分断された従来型の開発フローに固定化されてしまうことに対して危機感を覚え、QAに関する圧倒的な知見と変革のモチベーションを持ったゲームチェンジャーが必要だと考えていました。そこに入社してくれたのが島根さんです。

島根:嬉しい言葉ありがとうございます。Blog記事で書かれている時武さんの理想像は入社前から共感していたので、その実現の手助けができることは非常にやりがいがあります。
私が入社してからの比較的大きなQA体制の変更がありました。

開発組織は大きく分けてAI契約審査プラットフォーム「LegalForce」、AI契約管理システム「LegalForceキャビネ」のチームがあります。「LegalForce」側では機能開発ごとにチーム体制を組んでおり、それまでQAは独立していて各チームへ派遣という形式をとっていましたが、QAの独立を解体しチーム所属へと変更したことです。これは、この後に話しますがQAだけでなくチーム全体で品質を確保するという考えから、チームの一体感を優先させたためです。ただ、この施策の目に見える結果はまだでていません。

プロダクト開発全体からみたQAの役割

島根:現在の「LegalForce」全体でQAは私を含めて9名で、私を除いてみなさん外部から来てもらっています。私は個別のプロダクト開発チームに所属することなく、製品QAのサポートおよび会社全体のQAの方針策定や改善活動を行なっています。

製品QAは一般的なテストエンジニアとして、UIからの自動テスト・手動テスト実施を中心に動いています。先に書いたように、QAはプロダクト開発チームの一員として動くように体制を変えたので、「開発チームの外側のQA」から「チームメンバとしてQA」として徐々に開発全体に関わっていくようになればと期待しています。

時武:基本的には島根さんが考えられているとおりです。

現状のQA組織はいわゆる下流工程での検証を行う役割を担っています。ただ、作業自体は分業化されていますが組織は分断せず、開発チームの一員としてQAメンバーがチームに入ることでより開発を行うエンジニアやプロダクトマネージャ、デザイナーとの距離が近い形になっています。

島根:確かにLegalForceはプロダクトマネージャーやデザイナーと非常に近い位置で製品開発を行なっていますね。入社して間もない頃に「QAの独立をやめて開発チームのメンバーにしよう」と提案し特に異論もなく受け入れられたのには驚きました。

理想的な開発体制とその中でのQA

島根:時武さんが考える理想のQAについてBlogである程度触れられていますが、今一度聞かせていただけませんか?

時武:私はQAに関する作業を、開発を行うエンジニアから切り離して分業化すべきでないと考えています。

島根:なるほど。それはどういった理由からでしょうか?

時武:ウォーターフォール型の開発が一般的だった時代においては、ソフトウェア開発はある種工場の製造ラインのようなものであり、工程ごとの業務を細分化しそれぞれの工程に対するエキスパートを育成するのが一番効率が良くなります。(ちなみにここでは開発手法の良し悪しについてはトピック外なので述べません)

一方アジャイル型の開発が主流になってきた今日において、ソフトウェア開発は工場というよりもビジネス要件や顧客の課題に合わせ、オーダーメイド品を作り上げるといった様相を呈してきています。ここで言うオーダーメイドというのは特定の顧客に合わせて作るという意味ではなく、一般化された顧客の課題に対してピンポイントで課題解決をするための開発をするといった意味で使っています。そのような状況で検証に関する業務だけを切り出すのは人数効率が悪く、発生するコミュニケーションコストも無視できません。検証業務を切り出すこと自体がアジリティを損ねてしまうということです。

島根:以前の主流と今の主流とでは、対象となるソフトウェアの質やその開発プロセスが変わってきている、その変化に合わせてQAも変わっていくべきということですね。アジリティを重視するというのも良い視点だと思います。

時武:LegalForceでは、フロントエンドやバックエンド・インフラ等得意領域はありつつも、誰もが「ソフトウェアエンジニア」として開発に携われる体制を目指していきたいと考えています。ですので最終的にはすべての開発者がQAに携わるという前提で、その中に「QAが得意なソフトウェアエンジニア」が混ざっている状態が理想です。

島根:実は私も入社前から考えていたことですが「QAという役割がなくなる」というのを理想としていました。これは、時武さんと同じく「品質はQAエンジニアだけで改善するものではなく、チーム全員が行うもの」、そして「QAはチームの中での有識者の一人」を目指しているためです。この価値観が一致しているCTOと働けるのは非常に嬉しいことです。

現在の全社的な品質周りの課題

時武:ここまで理想の体制等も話しましたが、「LegalForce」においても現状手動テストから抜け出せていません。短期的にはテストを担当するメンバーを増員することで体制を維持可能ではありますが、これではいつまで経っても理想的なQA体制に近づくことは難しく、パラダイムシフトが必要だと考えています。

その中で下半期は全社的に「テスト自動化のための基盤づくりや方針策定」に取り組もうとしています。細かい課題は挙げればきりがないのですが、最終的に理想のQA体制に近づく上で今一番のボトルネックで解決すべき課題はテスト自動化です。

島根:テスト品質の向上を目的として、以前から実践していたVSTePの導入・展開を行なっていますが。これ自体必要で価値のあることですが、頻繁なリリースを実現する際にQAがボトルネックとならないようにするには今以上に自動化が重要になりますね。

時武:島根さんが入社したことで、高度に自動化されたテスト基盤やQA機能をビルトインした開発チームを作るための道筋は立てられるようになりましたが、それを動かしていくためのエンジニアリングパワーがまだ足りていません。

島根:テスト自動化を担うSoftware Engineer in Test(SET)についてはテストの知識はあれば嬉しいですが必須ではありません。CI/CDや各種自動化の経験・興味がある方であればぜひ応募していただきたいです。

時武:プロダクトを作るのもいいけどそれより自動化や基盤づくりなど、「一緒に働くエンジニアのために仕事をする」ことがお好きな方、すごくマッチすると思います。こういった仕事にピンとくる方、テストに関する知識は不問なのでぜひ一度お話を聞きに来ていただけるとありがたいです。

島根:自動化以外の分野についてもQAリーダーを募集していますが、こちらもまだ該当する方がおらず引き続き募集を行なっています。ソフトウェアテスト技法に精通しているに越したことはありませんが、それ以上に自分たちにとって重要なことは何なのか、そのためにどういう手順で改善していくかを考えられる方がきてくれると嬉しいです。

左:CTO 時武、右 QA 島根


この記事が気に入ったらサポートをしてみませんか?