Technical Information

プロセスアセスメントによるテストプロセス最適化

asset_approach_column_advanced-test-process01_hero.jpg

システムの大規模化や複雑化が進み、開発の難易度がますます高まっている一方で、開発に対する短納期化の要求が年々強まっています。そして、テストはリリースする上でのクリティカルパスとして存在しており、テストを最適化し、効率的かつ効果的に進めたいといった要望が高まるのも必然です。本稿では、テストを改善する方法の1つである「プロセスアセスメント型」の開発手法を採用した当社の「テストプロセス診断サービス」についてご紹介いたします。

テストプロセスのアセスメントとは

プロセスアセスメントと聞いてピンとこなくても、例えばCMMI(※1)やAutomotive SPICE(※2)といった言葉は聞いたことがあるのではないでしょうか?これらはシステム開発のプロセスを評価し、改善していくためのアセスメントモデルであり、モデルの持つプロセスに対する要求事項をどれだけ満たしているか、アセッサーと呼ばれる評価者が現在のプロセスを評価します。CMIやAutomotive SPICEが開発プロセス全体をスコープとしているのに対して、TMMi(※3)、ISO/IEC 33063(※4)、TPI NEXT(※5)など、テストプロセスを改善するためにスコープを絞ったモデルも存在します。ベリサーブでも10年以上前にVPI(Verification Process Improvement)というテストプロセスのアセスメントモデルを作り、製品やシステムのシステムテストや受入テストといった高位テストレベルの改善に活用しています。

※1 CMMI:Capability Maturity Model Integrationの略称。カーネギーメロン大学のSoftware Engineering Instituteによって開発されたモデル。
※2 Automotive SPICE:VDA QMC(ドイツ自動車工業会 品質管理センター)によって発行されている車載システム開発向けのモデル。
※3 TMMi:Testing Maturity Model Integrationの略称。TMMi Foundationにより開発された、テスト向けのプロセスアセスメントモデル。
※4 ISO/IEC 33063:ISO/IEC/IEEE 29119-2のテストプロセスを参照プロセスとした、テストプロセスアセスメントモデルの国際規格
※5 TPI NEXT:オランダのSogeti社が開発した、テストプロセスのアセスメントモデル。

テストプロセス診断サービスの概要

当社の「テストプロセス診断サービス」はテストを改善するための包括的なサービスです。そのサービスの中核を担う技術的なツールとVPIというアセスメントモデルです。

VPIでは、テストをさまざまな側面から現状分析することで、現状の強みと弱みを明らかにします。一口にテストと言っても、その要素はさまざまです。「テストプロセス診断サービス」では、テストを7つの視点から概観し(図1)現状を見える化し、さらに具体的な20の領域(表1)に対して詳細に分析し、改善案を策定します。つまり現状をしっかりと把握することにより、その現場にとって最適な改善施策を提案し、テスト改善への足がかりを提供します。

テストプロセス診断の7つの視点

図1 テストプロセスの成熟度を概観するためのレーダーチャート

テストプロセス診断、20の領域

表1 20の領域一覧表

テストプロセス診断サービスによる改善の進め方と特長

改善の進め方

「テストプロセス診断サービス」は、例えるならばテストプロセスに対する健康診断のようなものです。健康診断を受信し、その結果として診断結果のレポートを受け取ります。その中で、たとえば尿酸値の値が悪かったら、医師から改善のための助言を受け、プリン体の少ない食事を心がけるといった対処方法を実施し、生活習慣の改善につなげると思います。それと同様に、現状のテストプロセスのどこが良くてどこが悪いのかをアセスメントによって把握し、悪いところを1つ1つ的確に改善していき、成熟度の高いテストプロセスに段階的に改善していくことが重要です。

自分たちのテストをどのようにしたいといった目標やゴールを設定することで、VPIで得られた現状とのギャップを把握することができます。ともすれば、目標やゴールを目指すにあたり、自分たちの目の前にある技術、ツール、もしくは方法論といった所謂 ”銀の弾丸”に飛びつきがちです。しかし、ゴールを設定しても現状とのギャップを疎かにし、一足飛びにゴールを目指そうとすると、失敗する可能性が高まります。仮にギャップが小さい場合は問題ありませんが、多くの場合はゴールに至るまでに中間ゴールを設定し、段階的に改善を進めていく必要があります。(図2)

テストプロセスの改善を段階的に進めていく概念図

図2 テストプロセスの改善を段階的に進めていく概念図

テストプロセス診断サービスの主な特長

● テストの現状を可視化
特性が異なるプロジェクトでも共通の尺度(前述の7つの視点と20の領域)でテストプロセスの成熟度を可視化することができます。

● 効果的な改善施策の立案
アセスメント結果に基づき、アセッサーとしての能力を保持するエンジニアにより20の領域のどこから改善を進めていくと効果的であるかをレポートし、改善活動の足がかりを提供します。当社ではアセッサーの教育とともに、求められる能力を保持しているかを確認する技術者認定プロセスを運営し、技術者の育成に注力しています。

● 段階的な改善ステップ
現状の分析結果に基づいた上で、改善の第一歩を踏み出すため、無理の無い効果的な改善活動を段階的に進めていくことができます。

おわりに

プロセスアセスメントはPDCAサイクルで言えば、Check(評価)とAct(改善)を実施していることに該当します。これをPlan(計画)し、
Do(実行)していくことが求められます。つまり、アセスメントは、アセスメントを実施してからが本番です。

しかし、場合によっては現場が改善を行うための体力が無い場合もあります。体力が無いところで無理に改善を進めようとしても、改善は思うように進みません。現場に負担をかけない形で改善活動を無理なく進めていくことが重要です。

当社では状況に応じて最終ゴールを目指すためのご支援を行っておりますが、まずはプロジェクトの健康診断である、プロセスアセスメントから始められてはいかがでしょうか?