はじめに
こんにちは、QAエンジニアのヨシナです。
私たちQAチームでは、大規模案件に対するバグ分析を行い、その結果を開発チームに共有しています。この活動の目的は、バグの傾向を部全体で把握し、品質向上につなげることです。
分析の中で、仕様の誤認識によるバグが目立つことが分かりました。この課題を解決するために、開発プロセスの初期段階から品質保証活動を取り入れる「シフトレフト」の導入を検討し始めています。
本記事では、シフトレフトの概要と修正コストの関係、現在のQA体制の課題、そして今後の改善案について整理します。
シフトレフトと修正コスト
「シフトレフト」とは、品質保証活動を開発プロセスの上流(レフト)に移動させることを指します。このアプローチにより、バグや仕様の不備を早期に発見し、修正コストを抑えることが可能になります。
上流での修正は影響範囲が狭く、コストも低く抑えられます。一方、下流での修正は影響範囲が広がり、再テストやリリース遅延などの追加コストが発生するため、リスクが高まります。
QA体制の課題
現在のQA体制では、開発完了後にQAが関与するケースが多く、開発者の仕様の誤認識によるバグを許してしまっています。その結果、以下のような課題が生じています。
-
修正コストが高い
開発後の修正は影響範囲が広く、時間とコストがかかる -
テスト負担の増加
修正に伴う再テストが頻発し、QAチームの負担が増大 -
リリース遅延
バグ修正と再テストによりスケジュールが後ろ倒しになる
課題解決に向けたシフトレフトアプローチ
バグを完全にゼロにすることは現実的ではありません。また、仕様変更はプロジェクト進行中に避けられない場合があります。だからこそ、「早期発見・早期修正」 が重要です。「早期発見・早期修正」 を実現するために、以下のシフトレフトアプローチを検討しています。
| アプローチ | 内容 |
|---|---|
| ドキュメント整理 | 仕様書や設計書を早い段階で整備し、変更点の把握や影響範囲の特定を容易にします。 |
| 関係者との連携強化 | エンジニアやプロジェクトマネージャー(PM)と仕様をすり合わせ、認識齟齬による手戻りを防ぎます。 |
| QAの早期参加 | QAが要件定義や設計レビューに参加することで、テスト観点からのフィードバックを提供し、潜在的なバグを事前に防ぎます。 |
まとめ
本記事では、QAの視点からシフトレフトの重要性について解説しました。さらに、以下の方法で開発者がシフトレフトを実践することも可能です。
- ユニットテストの拡充
- 結合テストやAPIテストの実施
ただし、シフトレフトには以下のようなデメリットが存在します。
- 全工程でテストを行うためのリソースが必要
- 自動テストの品質維持が求められる
- 開発サイクルの速度が低下する可能性がある
これらのデメリットを考慮しつつ、開発者とQAが協力して効率的かつ品質の高い開発体制を築いていきたいと考えます。
KIYOラーニング株式会社について
当社のビジョンは『世界一「学びやすく、分かりやすく、続けやすい」学習手段を提供する』ことです。革新的な教育サービスを作り成長させていく事で、オンライン教育分野でナンバーワンの存在となり、世界に展開していくことを目指しています。
プロダクト
- スタディング:「学びやすく・わかりやすく・続けやすい」オンライン資格対策講座
- スタディングキャリア:資格取得者の仕事探しやキャリア形成を支援する転職サービス
- AirCourse:受け放題の動画研修がついたeラーニングシステム(LMS)
KIYOラーニング株式会社では一緒に働く仲間を募集しています
https://www.wantedly.com/companies/kiyo-learning/projects
https://herp.careers/v1/kiyolearning