品質工学のためのスプリント計画

品質工学とスプリント計画

品質工学のためのスプリント計画|  mabl

品質保証から品質工学への移行は、アジャイルやDevOpsプラクティスへの移行と似ており、しばしば絡み合っている。
DevOpsと同様に、品質工学は、ソフトウェア開発組織がより良い製品をより信頼性高く、より速いペースで構築するためのテクノロジーに支えられた文化的、手続き的な移行である。しかし、DevOpsが適応性とコラボレーションの向上に焦点を当てているのに対し、品質工学は、データ駆動型のソフトウェアテストによるソフトウェア品質の向上、テスト自動化によるテストの高速化と拡張、そして品質の文化の創造を中心に据えています。

Mablの「2021 State of Testing in DevOps」レポートによると、DevOps導入の障害として最も多いのは変化のペースが遅いことでした。多くのアジャイルプロジェクトやDevOpsプロジェクトは、多大なファンファーレと熱意をもって開始されますが、ソフトウェア開発プロセス全体を変革するという現実は、最終的に勢いを失わせ、多くのチームが導入の初期/中期段階に留まってしまいます。しかし、このような組織的な障害を乗り越えることができたチームは、DevOpsの勢いを持続させるための最善の方法を教えてくれました。報告書によると、最も成熟したDevOps組織は、ソフトウェアテストの民主化、QAと開発者間の合理的なコラボレーション、高いテストカバレッジなど、品質工学の基本的な考え方を実践していました。

ソフトウェア開発ライフサイクルに品質エンジニアリングを組み込む

アジャイルやDevOpsへの移行を計画し始めたばかりの企業でも、すでに主要なアジャイル・プラクティスを採用している企業でも、DevOpsのロードマップに品質工学を組み込むことで、より良いソフトウェア開発プロセス、そして最終的にはより良い製品をサポートすることができます。最も効果的なスタート地点は、スプリントサイクルです。

質の高いスプリント計画の利点とは

品質を重視したスプリントサイクルを作ることは、一般的な長期的な変革を計画するよりもはるかに簡単な作業です。というのも、スプリントサイクルは数週間という短期間で行われるように設計されているからです。また、スプリントサイクルには、計画とレビューの議論が組み込まれており、QEチームは、大規模な開発チームと一緒に、スプリント期間中にソフトウェアテストがどのように機能したか(そして機能しなかったか)を振り返る機会を得ることができます。時間が経つにつれ、QAリーダーはスプリントサイクルにおけるソフトウェアテストと品質工学の改善を追跡し、より良いプラクティスを構築し、会社の経営陣に進捗状況をアピールし、アジャイルとDevOpsの採用に貢献することができる。 

スプリント計画における品質工学の主張

残念ながら、ほとんどのソフトウェア開発チームでは、スプリントサイクルを計画する際に品質工学を考慮していないため、品質保証担当者が変革を促すことは困難です。しかし、データは言葉よりも説得力があり、スプリント計画プロセスのすべてのステークホルダーは、より良い品質の実践によってサポートされる目標を持っています。QAが主張するためのデータポイントは以下の通りです。

  • 計画外の作業の量:すべてのスプリント計画には、予想以上に時間のかかるバグの手直しや、ストーリーポイントなどのために時間に余裕を持って計画しています。しかし、ソフトウェア開発チームが、テストの実施が開発サイクルにおいてかなり時間を取られてしまう可能性があります。
  • 作成されたチケットの数:Jiraのような課題管理プラットフォームは、ソフトウェア開発プロセスにおける課題を改善するための貴重なツールですが、現在のスプリント計画プロセスの有効性についても有益な情報を提供してくれます。チケットの量が異常に多い、または常に増加しているということは、チームの既存のソフトウェアテスト戦略がDevOpsパイプライン内に集中しすぎている、またはQAと開発が不具合の解決に向けて協力するのに苦労していることを示している可能性があります
  • 目標と成果:計画外の作業、大量のチケット、またはその他の障害がスプリントを圧倒し始めると、ソフトウェア開発チームは目標を達成できなくなり、計画されたリリースが遅れる可能性があります。スプリントの目標と成果の間にギャップが生じた場合、QEリーダーは、品質を中心としたスプリント計画プロセスを実行していかなかればなりません。  

QEをスプリントに連携するためのベストプラクティス

品質管理チームは、スプリント結果のギャップを特定した後、スプリント計画を担当するプロダクトマネージャや開発マネージャに対して、品質工学のプラクティスを改善するための主張を行うことができます。チームの目標、課題、動力学はそれぞれ異なりますが、チームの規模やDevOpsの成熟度に関わらず、ほとんどのチームに広く適用できるベストプラクティスがあります。

  • アンサンブルプログラミング:スプリントサイクル中にソフトウェアテスターとソフトウェアエンジニアが一緒に作業することで、ソフトウェア開発の初期段階での直接的なコラボレーションを可能にし、DevOpsと品質工学の両方の目標を達成します。QAとエンジニアリングが別々ではなく、隣り合って作業することで、重要な作業の縦割りが解消され、両チームのメンバーが質問をしたり、お互いに確認したり、コードベースの共通理解を深めることができるようになります。アンサンブルプログラミングは、同じ不具合を長時間繰り返すことが多いチームをサポートし、予定外の作業につながり、スプリントサイクルの生産性を軽減させます。
  • 左シフトと右シフトのテスト:Jiraチケットの過剰や計画外の大量の作業に苦労しているチームは、スプリントサイクル中にコードのテストを再検討する必要があります。「mabl Testing in DevOps」レポートでは、DevOpsの成熟度、不具合を迅速に解決する能力、ソフトウェア開発ライフサイクルの初期段階でソフトウェアテストが頻繁に行われる品質文化の間に強い関連性があることがわかりました。開発プロセス全体でテストの実施を広げることで、チームはバグを発見して修正することができ、スプリントサイクル中に必要な予定外の再作業の量を減らすことができます。

1回のスプリントで品質の高いものを作る

DevOpsと品質工学の導入を成功させるために必要なシステムの変更には、企業全体で長期的な焦点と努力が必要であり、全面的な移行を継続するのは難しいでしょう。しかし、スプリントサイクルのレベルでプロセスを少しずつ改善していけば、より管理しやすいプロセスになります。品質管理チームは、適切なデータを得ることで、品質工学の導入をリードし、DevOpsの導入をサポートする準備をすることができます。 

mabl(メイブル)に関するお問い合わせ

「mabl(メイブル)」のトライアルアカウントのお申し込みや、製品デモの依頼、機能についての問い合わせなどお気軽にお問い合わせください。

Posted by IMAMURAMai