LegalOn Technologies Engineering Blog

LegalOn Technologies 開発チームによるブログです。

シフトレフトを実現する仕様確認会:QAエンジニア主導の新たな取り組み

はじめに

こんにちは。株式会社LegalOn Technologies で品質保証(QA)エンジニアをしております、リンです。

2021年にLegalOn Technologiesでキャリアをスタートしました。入社当時、QAチームはたった3人で、品質保証プロセスもまだ発展途上でした。時間が経つにつれ、会社は急速に成長し、現在では、QAエンジニアの数も19人に増えています。組織が成長すると共に、最も効果的な品質保証プロセスを見つけるための探求は続いています。

この記事では、その過程で取り入れた新しい取り組みについて説明します。

組織拡大に伴い浮かび上がってきた課題

当社はDiscover to Deliver(DtoD)手法を用いたアジャイル開発を行い、開発フローはこのアプローチに基づいています。各機能には専任のチームがあり、プロダクトマネージャー(PdM)、プロダクトエンジニアリングマネージャー(PEM)、デザイナー、開発エンジニア、QAエンジニアが所属しています。新機能はDiscoveryフェーズを終えた後、Deliveryフェーズに移行します。この段階では、QAエンジニアは開発エンジニアとともにテスト設計、テスト実装、テスト実施を行います。 ※出典:株式会社LegalOn Technologies 開発職向け会社紹介資料

入社2年目に、組織の拡大によって、コミュニケーションが複雑になり、仕様決定の遅延や認識が一致しない問題が起きました。QAも含めて仕様があいまいなまま、且つ共有が不十分なまま開発が進み、実装とテストケースとの不一致が多発しました。

この結果、QAはテストケースを再検討することになりますが、そこで不合理な仕様が実装後に発覚することもありました。これによりロジックの見直しを必要とする手戻りが生じ、開発遅延とプロジェクトコストの増大を引き起こしました。これらの問題はチームの士気にも大きな影響を与えました。

新しいアプローチを始めるまでの流れ

仕様決定のあいまいさに対する挑戦:

「仕様が未定なまま開発を進める」問題について、私たちは様々な解決策を考えました。例えば、「テストケース作成時に疑問が生じたら、その都度Slackで関係者に確認を取る」という方法です。このアプローチは一定の効果をもたらしましたが、新たな問題も生じました。不明点が多いため、Slackでの確認が頻繁に必要となり、それが大量の時間を消費し、ストレスの原因となりました。

新しいアプローチを始めるきっかけ

そんな状況の中、経験豊富なQAエンジニアの孫さんという方がチームに参加しました。彼はこの問題に取り組み、「画面仕様のイメージを用いて必要な情報をまとめるのはどうか」と提案しました。この考え方は私たちに新たな視点を提供しました。

新アプローチへの一歩

これまでと同じく、Deliveryの実装段階ではエンジニアの実装と並行してテスト設計を行っています。ただし、不明な点がある場合は、都度Slackで確認するのではなく、画面仕様のイメージに関連する部分の不明点をまとめて記載し、Slackで確認します。この方法は視覚的に問題点を伝え、フィードバックも「理解しやすい」と評価されています。その結果、問題を迅速に解決することができました。

しかし、エンジニアの実装速度が速いため、QAが不適切な仕様を見つける前に実装が完了してしまうことが多いです。その結果、手戻りやロジックの見直しを防ぐことができませんでした。さらに、仕様が多い場合、画面仕様のイメージを使用してSlackで確認することがコスト増につながることがわかりました。

新アプローチ実現への道のり

先に書いた通り、実装完了までの順序が適正ではなかったため、QAは不適切な仕様を見つけたとき、テスト設計の段階よりも早い段階で問題を提出する必要性に気付きました。

再度、当社の開発方針を参考にして、QAのやり方を見直しました。Discoveryフェーズの妥当性検証段階で、QAは最初に要件を理解します。次に、Deliveryフェーズの仕様策定/UI検討段階で、確定した仕様が少なくても良いので、画面仕様のイメージを利用して対象部分の仕様や不明点をできるだけまとめます。

これは早い段階で行うため、未確定の要素が多いです。そのため、画面仕様のイメージをすぐにSlackで投稿しても、即座に回答が得られない場合があります。効率を上げるためには、一つの機能に焦点を当て、その機能に関連する全ての仕様を画面仕様のイメージにまとめ、一括で確認することが効果的です。このため、私たちはMiroを使用して仕様や不明点を洗い出しました。また、未確定の仕様については、文字よりも直接話す方が速いので、全チームメンバーで話し合いの場を1時間設けました。

その1時間で、QAが進行役を務め、Miroでまとめた内容を説明しながら進行しました。「実装コスト」「ユーザビリティ」「UX」「テストコスト」「要件に満たされるのか」の観点で、既に確定した仕様を全員レビューした上、疑問点や未確定の仕様、または違和感のある仕様は全員で仕様を策定しました。詳細議論が必要ですぐに決められないものもありました。その部分については、Jiraチケットを起票し、別のミーティングやSlackで続きの議論を行うことにしました。

新しい取り組み:仕様確認会

私たちはこの新しいアプローチを「仕様確認会」と名付けました。これにより、チーム内での認識統一と仕様の効率的かつ効果的な確定が可能となりました。早期に仕様が確定し共通認識が得られることで、開発エンジニアの詳細設計や機能実装、そしてQAエンジニアのテスト設計やテストケース実装もスムーズに進みました。現在、「仕様確認会」はQAプロセスの新しい取り組みとして位置づけています。

以下に仕様確認会の詳細流れをまとめました。

シフトレフトの実践:早期からのQAと開発の協力が生むプロセス改善

仕様確認会の開始から半年以上が経過し、その期間、QAチームは欠陥を早期に発見する役割を果たし続けてきました。以前は、QAエンジニアの役割が主に実装やテスト段階に限られていましたが、現在ではDiscovery段階から品質の検証に関与し、仕様策定段階での仕様確認会を通じて早い段階で貢献しています。これにより、仕様策定が効率化され、チーム全体で仕様に対する共通認識を形成することが可能になりました。この大きな変化は、プロジェクトへの影響力を実感できる貴重な経験となりました。

これらの経験から、開発の初期段階でQAが重要な貢献を行い、円滑な開発を支えることの大切さを深く認識しました。これこそが「QAのシフトレフト」の実践であり、私たちの作業方法に新たな視点を提供しました。

仕様確認会に対して、現場から生の声

開催前後の課題解決状況

この取り組みについて、現場から以下のような声をいただいています。

回答者ロール 「仕様確認会」開催前に感じた課題 「仕様確認会」で解決できた課題
開発エンジニア チーム内での認識のずれがある チーム内での認識を揃えることができた
開発エンジニア 正しい仕様がなんなのかがわからないから、現状の実装が正になってしまい、UXの向上を本質的に追求できない 何が正しい仕様なのか明らかになる、曖昧な点は、どんな仕様が正しいのかを議論する機会につなげられた
PEM 決定した仕様がチームメンバー全員に行き届いていないこと、決定した仕様の認識がズレていることがたまにあった 認識ずれ問題が解決できた!
PdM 画面仕様について確認が漏れていたり、認識の齟齬がある部分が多かった。そのため他チームとの連携時にデザイナーやPEMに都度確認が必要だった。 仕様をより網羅的に理解できるようになったため、PEMやデザイナーへの確認が明らかに減った

開催に伴う新たに表した課題

仕様確認会は多くの肯定的な評価を受けました。しかし、新たな課題も浮上してきました。

回答者ロール 「仕様確認会」参加して感じた課題
開発エンジニア 仕様確認会を他のチームのQA エンジニアも同じ様にできること。ナレッジのシェアに課題を感じた
開発エンジニア 決まった仕様を「どこに」「誰が」「いつまでに」明記するのかが明文化されていない点を課題に感じますね!
これがないと参加している人としていない人で結局知っている情報に差分が生まれてしまうのかなーーーと感じております。
PEM 全員参加にすると時間を食うが、全員で認識を合わせるには全員参加のほうがいい点。いまは実装者(代表者)に出てもらっているので、いい塩梅かなとは思っている。
質問の回答はだいたいPdMかPEMが行っているので、事前にPdMとPEMが見て回答しておくと時間の節約になるかも
PdM 仕様確認会で確認された内容をストック情報としてどのように保存するのが良いか。確認した事でも忘れてしまった誰かに聞くこともあったり、途中参加の人に内容を伝えるのがやや非効率な気がしている

さらなるシフトレフトの推進

私たちは仕様確認会から派生した課題を解決し、品質を最優先にするために、早期の段階から問題に取り組むシフトレフトのアプローチを続けています。

新たに生じた課題に対応し、仕様確認会の後の活動にも重きを置きます。また、シフトレフトの考え方を組織全体に広げる活動も進めています。これは品質保証プロセスの一貫性を保ち、生産性を向上するための重要なステップです。シフトレフトの実践により、製品の品質だけでなく、開発の効率性やコスト効果も改善します。

これらの活動を通じて、私たちは組織全体の品質保証文化の形成を目指しています。開発の初期段階から品質を優先することで、各開発フェーズでの品質確保がより容易になると確信しています。これらの取り組みを通じて、私たちは引き続きシフトレフトの実践を推進していきます。

仲間を募集しています!

一緒にシフトレフトを推進し組織全体の品質保証文化の形成を目指す仲間を募集中です!

興味を持たれた方は、下記の募集要項をご覧ください!