TPI NEXT を活用したテストプロセス改善

みなさん、こんにちは。QAコンサルタントのコージーです。
普段は主に、お客様のソフトウェア品質管理プロセス改善などのご支援をさせて頂いています。

はじめに

ソフトウェア品質の向上に向けた活動は終わりの無い、息の長い取り組みです。
活動の成果を出すためには開発現場任せにせず、計画的・組織的なプロセス改善を行う取り組みが王道です。
本書では、そのような取り組みに活用できるテストプロセス改善モデルの一つ、「TPI NEXT」の概要をご紹介します。

テストプロセス改善の課題

テストプロセス改善には下記に示すような課題があり、必要性は感じていながらもなかなか思うように進まないのが実情です。

  • コスト、リソース、スケジュールの制約のため、テスト実施が優先されてプロセス改善まで手が回らない
  • ステークホルダーを巻き込んだ取り組みが必要であり、利害関係者の意見調整に労力と時間がかかる
  • 現状の課題対応優先順位やプロセス成熟度レベルの把握が難しく、改善目標の設定が難しい
  • テストプロセスの課題解決によって実現される品質向上効果が測定しにくい

又、品質向上にはテストプロセスだけではなく、開発プロセスと連携した取り組みも重要です。
プロジェクトの限られた期間と工数の中で、タスクの優先順位付けとそれに応じたリソース配分を適切に行うことは、熟練した経験者でも大変であり、テストプロセス改善のハードルを高くしています。

テストプロセス改善への取り組み

これらの課題を解決していくためには、ソフトウェア開発・保守・運用をささえる三要素である「人」、「プロセス」、「技術」をバランス良く改善することが成功の秘訣です。
テストプロセス改善も一般的な業務プロセス改善と同じく、上記三要素に着目しながら次の順番で進めていきます。

  1. 現状の課題を整理・分析し、根本課題を把握する
  2. 根本課題を解決する施策案を検討する
  3. 最終目標を設定し、達成までのステップとマイルストーンを策定する
  4. ステップ毎の具体的な取り組み内容を決める
  5. リソースとスケジュールをアサインして実行する

これら一連の取り組みを効率的に進めていくためには、実績に裏打ちされた方法論、進め方のガイドライン、改善状況を測定するための評価指標等があると、効率的に進めることができます。
TPI NEXT はこのようなニーズを満たすツールの一つとして活用することができます。

TPI NEXT とは

TPI NEXT は Capgemini グループである Sogeti 社が、欧米 1,000 社近くのコンサルティング結果をまとめたテストプロセス改善のモデルです。
1998年に発表した TPI(Test Process Improvement) の実践事例に基づく改訂版として、2009 年に TPI NEXT が発表されました。
テストプロセスの成熟度を多角的な視点から可視化するためのツール、改善活動を達成するためのコツや提案が、実践を通じて蓄積されたノウハウを盛り込んで体系的にまとめられた改善モデルです。

ツールとしての TPI NEXT の概要

全体像と構成要素

TPI NEXT の全体像と構成要素を(図1)に示します。

図1:TPI NEXT 全体像と構成要素

テストプロセスの成熟度を測定、可視化する 「テスト成熟度マトリクス」を中心として、下記の各要素で構成されています。

  1. テストプロセスを 16の切り口で分類した 「キーエリア」
  2. 各「キーエリア」毎に、下記の 4段階で定義された 「成熟度レベル」
    -Level0:初期レベル ⇒ テスト活動の構成要素が充分に文書化されていないアドホックな活動
    -Level1:コントロールレベル ⇒ 行うべきことに取り組み、テスト対象の品質を十分に把握できるレベル
    -Level2:効率化レベル ⇒ テスト活動を適切に実施するように方法を改善するレベル
    -Level3:最適化レベル ⇒ 刻々と変化する状況に絶えず順応するレベル
  3. 「成熟度レベル」を定義・測定するための「チェックポイント」
  4. 「チェックポイント」達成のためのヒントと提案を提示する、「改善提案」、及び 「キーエリア達成のコツ」
  5. 複数の「チェックポイント」をグループ化し、効率的な改善活動の順序を提案する 「クラスタ」

テスト成熟度マトリクスの見方

「テスト成熟度マトリクス」 のイメージを(図2)に示します。

図2:テスト成熟度マトリクスのイメージ

縦軸方向に SR(Stakeholder Relation)、TM(Test Management)、TP(Test Profession)の3カテゴリに分類された 16 の「キーエリア」が配置されています。
横軸方向には「初期レベル」~「最適化レベル」の 4つの「成熟度レベル」が並び、各レベルはキーエリアに応じて更に 2~4 レベルの「チェックポイント」に細分化されています。
各「チェックポイント」の達成条件は別途チェックシート形式で提供されており、そのチェック項目に “Yes”、”No”、”N/A” で回答していくことによって、テスト成熟度マトリクスの各「チェックポイント」が “条件を満たす(グリーン)”/”条件を満たさない(オレンジ)” で色分けされます。

テスト成熟度マトリクスによる評価

チェックポイント達成状況の評価が一通り終わったら、キーエリア毎の成熟度が評価できます。
ある成熟度レベルの全チェックポイントが条件を満たしたとき、そのキーエリアが当該成熟度であると評価します。
図2の例であれば、「03:テスト戦略」、「05:コミュニケーション」、「06:報告」、「10:欠陥管理」、「12:手法の実践」~「15:テストツール」、の各キーエリアが「コントロールレベル」にあると評価します。
又、「16:テスト環境」のキーエリアは「効率化レベル」にあります。

評価結果に基づくアクション策定

この成熟度マトリクスは、現状テストプロセスの成熟度を可視化しているとともに、次に実行すべきアクションを提案しています。
基本的な改善のアプローチ方法として、キーエリア毎に成熟度の低い(マトリクスの左側にある)未達成のチェックポイントを達成するように対策を検討します。
TPI NEXT は対策検討のためのヒントとして、チェックポイント毎に「改善提案」、及び「キーエリア達成のコツ」を提供しており、これらの情報を参考にアクションプランを策定することができます。
又、成熟度マトリクスには「クラスタ」という概念が導入されており、各キーエリア間でバランス良く改善対策を検討できるようになっています。
図2の例では、各チェックポイントに “A” ~ “M” 迄のアルファベットが付番されており、同じアルファベットが付番されたチェックポイントを一つの「クラスタ」と呼びます。
クラスタ単位でアルファベットが若い順番(A ⇒ M の順番)にチェックポイントを達成していくことによって、キーエリア横断的な視点で優先順位を考慮したプロセス改善が図れるという考え方です。
図2 の場合であれば例えば、 「”A” のクラスタは全て条件を満足しているので、 “B” ~ “E” のクラスタにある未達成のチェックポイントを対策することで、テストプロセス全体の成熟度を “コントロールレベル” に底上げしよう」という目標設定が考えられます。
このクラスタは TPI NEXT のツールでデフォルトとして提案されている他、ビジネスニーズに合わせて優先度をカスタマイズすることができるので、テスト組織のニーズや戦略に合わせてテスト成熟度マトリクスを活用することができます。

テストプロセス改善への TPI NEXT の活用例

ここまで、TPI NEXT のツールとしての側面を中心にご紹介してきました。
TPI NEXT 自体はテストプロセス改善モデルですので、企業毎、組織毎の改善活動の中に組み込んで上手に活用することが品質向上のキーとなります。
本章では活用例として、ソフトウェア開発企業の 「品質管理組織」から委託を受けたTPI NEXT のコンサルタントが、同企業のステークホルダーを巻き込んで現状プロセスの成熟度診断を行うケースを紹介します。
尚、TPI NEXT のモデルに基づく改善は本来、現場主導のボトムアップ アプローチであり、コンサルタントによるアセスメントは必要ありませんが、プロセス改善のリソース不足対策や、第三者視点での現状評価・改善のアイディア導入等の目的で外部コンサルタントの支援を得ることもあります。
登場人物と役割分担は下記を想定しています。

  • コンサルタント:全体プロセスリード、TPI NEXT ツールの準備、及びワークショップのファシリテーション
  • 品質管理組織:自社のテストプロセス改善をミッションとしたタスクフォースのリード
  • ステークホルダー:同企業の開発組織や運用組織の責任者・リーダー 全体の流れを(図3)に示します。
図3:TPI NEXT を活用した成熟度診断例

(1) TPI NEXT 概要説明

  1. コンサルタントは、品質管理組織に対して全体の進め方とTPI NEXT 概要を説明します。
  2. 品質管理組織は、TPI NEXT のチェックシートを用いて自己診断を行います。
    TPI NEXT コンサルタントはチェックシートの質問内容の趣旨、判断基準の考え方、用語の意味等について、品質管理組織の自己診断をサポートします。
  3. 自己診断は各チェックポイントの Y/N 判定だけでなく、判定理由を記入するとともに、課題の現状を示すエビデンス資料(テスト計画書、進捗管理表、欠陥管理表、課題管理表、品質分析資料等)を入手して現状を客観的、定量的に把握できるようにします。

(2) ステークホルダーへのヒアリング

  1. コンサルタントは品質管理組織と協力して、各ステークホルダーに個別にヒアリングを行います。
  2. 品質管理組織が自己診断で判断できなかった項目の他、各ステークホルダー間での認識の齟齬、組織間の利害関係、品質戦略の理解浸透状況 等の課題についてもヒアリングを行います。
  3. ヒアリングはTPI NEXT のチェックシート 1問1答形式ではなく、各チェックポイントの趣旨を現状課題に置き換えて、ステークホルダーに身近な課題として回答を引き出せるように準備します。
  4. 必要に応じて開発委託先や運用委託先企業のリーダーにもヒアリングを行います。
  5. コンサルタントは品質管理組織と協力して、ヒアリング結果を基に「TPI NEXT チェックシート」に記入します。

(3) 改善施策検討ワークショップ

  1. 事前準備として、コンサルタントは「TPI NEXT チェックシート」、「テスト成熟度マトリクス」を中心に、ヒアリング結果や課題のエビデンス資料を分析し、ワークショップの論点整理を行います。
  2. 品質管理組織とステークホルダーによるワークショップを開催し、コンサルタントのファシリテーションで主要課題の認識合わせと論点の検討を行います。
  3. ワークショップ参加者は、「テスト成熟度マトリクス」、「改善提案」、「キーエリア達成のコツ」 等を参考に、実施するべき施策を議論し、合意します。
  4. 品質管理組織はステークホルダーと協力して、合意した施策のスケジュールとリソースを決定し、アクションプランとして取りまとめます。
  5. 取りまとめたアクションプランについて、品質管理責任者の承認を得ます。

おわりに

テストプロセス改善モデルの一つである、TPI NEXT の概要と活用例をご紹介しました。
TPI NEXT は日本語化された excel ツールや、活用のための分かり易い手引書等も出ているので、比較的容易に始められるのではないでしょうか。
又、手法自体のカスタマイズ性も高く、必要な箇所だけをセレクトする等の使い方も柔軟にできるので、部分的なテストプロセス改善等に適用して試してみて頂ければと思います。

Appendix:参考となるサイト、書籍 など

TPI Next ツール

  • TPI NEXT テスト成熟度マトリクス ツール(日本語版 ver 2.1.2)
  • TPI NEXT テスト成熟度マトリクス ツール ユーザーマニュアル(日本語版 ver 1.2.1)

TPI Next 関連参考資料

SHARE

  • facebook
  • twitter

SQRIPTER

AGEST Engineers

AGEST

記事一覧

AGESTのエンジニアが情報発信してます!
AGESTのサービスやソリューションのお問い合わせページはこちらです。

株式会社AGEST

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST