品質とアジリティを両立、二ーリーQA 最新の取り組みのトップ画像

品質とアジリティを両立、二ーリーQA 最新の取り組み

投稿日時:
関井 祐介のアイコン

株式会社ニーリー / 開発横断部 開発横断グループ QAチーム リーダー

関井 祐介

株式会社ニーリー 開発横断部 開発横断グループ QAチームの関井と申します。よろしくお願いします。

私たちの提供する「Park Direct(パークダイレクト)」は、月極駐車場をオンラインで検索・契約できるモビリティSaaSです。通常、駐車場を探す際は歩いて看板を探して問い合わせ、契約手続きが店頭で紙ベースで進められるケースが多いですが、このプロダクトを使えばすべてWeb上で完結できます。借主様向け機能として駐車場検索、オンライン契約、賃料支払いなどを、不動産管理会社様向け機能として駐車場や顧客の管理、賃料回収代行・集客支援など、駐車場を借りたい方と管理する方、双方にとって便利な機能をそろえたプロダクトです。

今回はQAチーム全体のミッションや組織体制、立ち上げから現在に至るまでの取り組み内容、そして現在の課題と今後の展望についてお話しします。

QAチームのミッションと組織体制

QAチームのミッションは「品質とアジリティの両立」です。できる限り品質とアジリティを同時に高めたいのですが、実際の開発フェーズによっては、どちらかを優先しながらもう一方も確保していく必要があります。現在はアジリティを重視しており、品質を落とさずにアジリティを上げるための手法を日々模索中です。

私たちのQAチームは大きく3つのサブチームに分かれています。
QAチーム構成.png

1. インプロセスQAチーム
各開発チームに1名ずつ入り込み、テストだけでなくプロセス改善や品質向上の活動なども行うロールです。開発現場で起こる課題や仕様変更などに柔軟に対応し、密に連携を取る役割を担っています。

2. 横断QAチーム
開発チームを横断して支援する横断QAと、自動テストやテスタビリティ向上に特化したSET(Software Engineer in Test)から構成されています。より技術的なアプローチで品質面を支えるチームです。

3. テスト専門チーム(CTT)
セントラルテスティングチーム(通称CTT)と呼ばれ、テスト実行をメインに担当します。インプロセスQAをサポートする形で活動しており、ドメインが重い案件はインプロセスQAが対応し、比較的カバーしやすい部分はCTTが担当するという分担をしています。

QAチームが発足したのは2023年2月、当初は3名でスタートし、すぐにQAプロセスの構築を行いました。夏頃からインプロセスQAの導入を進め、年末には5名にまで拡大。2024年2月からはQAチームが開発への問い合わせ窓口となる取り組みを始めました。さらに8月頃にはCTTを正式に発足し、現在は総勢9名の体制で活動しています。こうしたチームの成長と組織体制の変化がQAの役割やアプローチをより幅広く、柔軟にするための基盤になっています。

品質とともにアジリティを支える取り組み

QAプロセス構築と探索的テスト

ニーリーではQAチームが発足する前から開発者の品質意識が高かったことに加え、テストを担当できるメンバーがまだ少なかったため、仕様策定からテスト設計・実行まですべてを開発者自身が担う開発プロセスで運用が行われていました。しかし、QAチームができたことでどのような役割分担が最も合理的かを改めて検討し、最終的にインプロセスQAの形を採用、上流の段階からQAがレビューに入りPRDやDesignDoc、開発者が作成したテストケースなどをチェックし、リリース前には探索的テストを行うというプロセスで約2年間運用しました。

問い合わせ対応とドメイン知識の獲得

QAチームでは開発への問い合わせ対応を引き受けることでアジリティを高める取り組みを行っています。開発チームには毎月約80件の問い合わせを開発者が対応するために、本来の開発業務をかなり圧迫していました。
そこで、QAチームが積極的に問い合わせ対応を担う体制を導入しました。この方法には、問い合わせを通じてプロダクトの利用状況や顧客業務の背景を深く学べるというメリットがあります。そうして得たドメイン知識をQA活動にも活かすことで、品質面だけでなく開発全体のアジリティ向上に貢献できるようになりました。問い合わせ対応を一手に引き受けることで開発者のコンテキストスイッチを減らし、最終的には組織全体の生産性向上につなげる狙いもあります。今ではほとんどの問い合わせをQAで完結できるようになり、狙いどおりの成果が出始めています。

開発規模に応じたテストプロセス最適化

現在、QAチームが特に注力している取り組みについて解説します。まずは開発規模に応じたテストプロセスの最適化です。メンバーが増えたことでこれまで以上に柔軟なアプローチが可能になりました。従来は開発者がテストを設計し、QAがレビューと最終的な探索的テストを行う流れがメインでしたが、大きな機能開発ではQAがテスト設計の段階から深く関わるようにしています。その際、実際のテスト実施はCTTやQAメンバーが担当し、開発者もレビューで参加する体制を取っています。

一方、小規模な機能追加などでは、従来のプロセスを踏襲して開発者がテスト設計を行い、QAがテストを実施する方式に切り替えています。規模に合わせて役割を変えることで、開発者の品質意識を保ちつつ、スピード感を落とさないようにする狙いです。プロセス変更の効果はこれから検証を進める段階ですが、期待どおりの結果が得られなかった場合は、再度見直していく方針としています。

AIチャットボット活用とPlaywright移行

最後に、開発への問い合わせ削減とテスト自動化についての新たな取り組みをご説明します。
QAチームが対応している問い合わせ数が最近増加しており、効率的な運用を検討する中で社内で運用しているAIチャットボットを活用しようというアイデアが浮上しました。このチャットボットはドメイン知識を参照して回答してくれる仕組みを持っているため、問い合わせ対応の一部を自動化できる可能性があります。そこで、まずはConfluenceなどのドキュメント整備を進めると同時に、これまでに蓄積してきた約2,000件の問い合わせデータを生成AIで要約・整理し、類似の問い合わせに対してチャットボットが直接回答できるよう準備を進めています。

また、テスト自動化ツールをPlaywrightへ移行する取り組みも進んでいます。これまで利用していたツールは実行回数に応じた従量課金制だったため、テスト頻度が制限されがちでした。昨年からSET(Software Engineer in Test)のメンバーが加わったこともあり、ツールの選択肢が増えた結果、Playwrightへ移行することとなりました。すでに移行作業はほぼ完了しており、実際にテスト運用してみると平均で約88%もの時間短縮が実現できています。これまで1回あたり約1時間半かかっていたリグレッションテストが、最適化によって20分程度に収まる見込みが立っています。

属人化から脱却し、目指す未来とは

まずはQAチームが現在抱えている課題について、キーワードは「属人化」です。インプロセスQAは、各メンバーが自分のチーム内の案件には詳しくなる一方、他のチームの業務内容には疎くなりがちな構造になっています。こうした偏りを解消するため、今後はインプロセスQAの担当を定期的にローテーションするなど、少しでも属人化を回避する仕組みを検討しています。

もうひとつの課題は、PlaywrightのメンテナンスがSETのメンバーしか担当できない点です。最終的にはQAチーム全員がテストコードをメンテナンスできる体制を目指し、自分が担当しているテストは自らアップデートしていけるようになるのが理想です。そのためには、コードを初めて触るメンバーでもわかりやすいドキュメントや学習機会を整備し、ハードルを下げる必要があると考えています。

今後の体制としては、当面はインプロセスQAを継続しながら、各メンバーのレベルアップを促進していきます。QAチームが先頭に立ってプロダクトや業務の背景を学び、ドメイン知識の資料などの必要な情報をドキュメント化して共有することで、開発者やビジネスサイドが知識を吸収しやすい環境を整えたいと考えています。

さらに、今後は生成AIの活用を推進し問い合わせ対応だけでなく、テスト設計やその他の業務サポートなど、よりいっそう生産性とスピードを高めていきたいと思っています。

We Are Hiring!

ニーリーではQAエンジニアをはじめ、他のポジションも積極的に採用しており、カジュアル面談も随時実施しています。転職を今すぐ考えていない方でも興味があればぜひお声がけください。[1]

Loading...Loading...Loading...
脚注
  1. 本記事は、2025年4月21日に開催されたイベントの内容を元に編集した記事です。

プロフィール