テストプロセス改善…の前に
テストに必要な工数は、システム開発の全工数の半数を占めると言われています。また昨今はデリバリー高速化を目指し、より効率的に、よりスピーディーに開発を進めるために、テストプロセスをターゲットとした改善活動が盛んに議論されています。本コラムでも過去にご紹介しているテスト自動化ツールの導入や、探索的テストのような新しいスタイルのテスト実施など、改善の手段は多数存在しています。しかし、現状を見誤って改善を進めても効果を得ることはできません。たとえば下記のような間違った改善活動がよく見られます。
上記の例のように、テスト設計のレベルが低い状態で、テストの自動化によるプロセス改善を狙っても、思ったような効果を得ることは難しいでしょう。それどころか、逆に工数増や品質悪化の要因になりかねません。プロセス改善を始めるにあたっては、自らのプロセスのどこが弱点か、どこに改善余地があるかを把握することが大事になります。
組織の評価に利用できる「TMMi®」と「TPI NEXT®」
自組織のプロセスを改めて見直すために、やみくもな議論を重ねても難しい場合があります。ここではプロセスの現状把握を進める上で手助けとなる2つのフレームワークを紹介します。
1つ目に紹介するのはTMMi(testing maturity model integration)参考1です。TMMiはソフトウエア開発全体のプロセス改善モデルであるCMMI®に対して、テストプロセス改善を行うための補足として位置づけられたモデルです。CMMIの改善モデルと同様にテストプロセスの成熟度を、「テスト計画」や「テスト設計と実行」などの複数のプロセスエリアごとに5段階で表現しています。
2つ目に紹介するのは、オランダSogeti社で開発された「TPI NEXT参考2、3」です。「TPI NEXT」はテスト手法を改善するためのアプローチとして、テストプロセス評価と改善のためのロードマップを提供しています。TPI NEXTはテストプロセスを、「Test strategy」や「Test tools」などのいくつかのキー・エリアに分割し、チェックポイントの確認を通してエリアごとの成熟レベルを測ることができます。
このようなテストプロセスの成熟度を表現したモデルを利用し、自らのテストプロセスを整理することで、プロセス上のどこに改善すべきポイントがあるか、次に目指すべきレベルはどこまでとすべきか?など改善計画の立案に役立てることができます。
個人の評価に利用できる「Test.SSF」
また組織がプロセスを改善するために、個人スキルの底上げも必要となるでしょう。そういった個人スキルを把握したい時には、特定非営利活動法人 ソフトウエアテスト技術振興協会と一般社団法人 IT検証産業協会の公開している「SSFに基づくテスト技術スキルフレームワーク(Test.SSF)参考4」を活用することができます。
Test.SSFは、テストの技術力強化を目的として公開されており、ソフトウエアテストに関する人材育成/人材の有効活用を実現するための指標や仕組みを規定しています。現在のTest.SSFでは「スキル基準(Version 1.0)」として、テスト技術を「開発技術」「管理技術」「技術要素」の3つのスキルカテゴリに区分し、テストアクティビティに沿った形で体系的に整理しています。「TMMi」や「TPI NEXT」がテストプロセスの改善計画に役立つように、「Test.SSF」も個人スキルの改善計画を立案するのに役立てることができるでしょう。
着実な改善を目指す
ここで紹介したフレームワークを上手に活用することで、テストプロセスの改善ポイントを明確にし、改善活動の成功率向上が期待できます。NTTデータでは、このようなフレームワークを参考として、社内の開発プロセス標準にあわせたテストプロセス成熟度の評価手法、個人のテストスキルの測定方法を開発することで、提供するシステムの品質向上や開発スピードアップに取り組んでいます。参考5
参考文献
注釈
- 本コラムに記載の会社名、商品名、製品名などは、一般に各社の商標または登録商標です。