アジャイルテスティング(Agile Testing)は,自動車システムのソフトウェア開発に応用することができる。アジャイル手法を自動車に適用するには,Automotive SPICE-Vモデルをアジャイルに適用することが必要だ。アジャイルとSPICEを組み合わせた成果のひとつとして,"集中的な自動テストとクライアントのデモンストレーションが,よりよい製品を生み出し,顧客満足を向上するのに役立っています",と述べるのはXavier Martin氏である。
氏は,スペインのビルバオで開催されたQA&Test 2014カンファレンスで,あるカーテレマティクスのプロジェクトについてプレゼンテーションを行った。このプロジェクトでは,Automotive Vモデルプロセスの中で,アジャイルの自動ソフトウェアテストを実施している。
自動車メーカは3G/4G通信機能を採用して,盗難車両追跡やカーシェアリング,緊急コール,ディラーサービスといった,新たなサービスの機会を提供している。そのカーテレマティクスのプロジェクトでは,車載用の2G/3G/LTE通信ユニットであるiVTU(in Vehicle Telematics Unit)モジュールの開発を行った。世界中のカーブランドが使用するために,プロジェクトでは,非常に多くのハードウェア-ソフトウェアの組み合わせに対応することが必要であった。頻発する要件の変更,あるいは不明確な仕様といったものも,プロジェクトの課題となっていた。
Automotive SPICEモデルは,ソフトウェア開発のプロセスを重視した規格である。ウォーターフォールモデルの拡張のひとつとして,BDUF(Big Design Up Front)を使用している。氏が指摘するSPCE Vモデルの利点と欠点は,次のようなものだ。
利点:
- 事実上の業界標準
- プロセスのライフサイクルを明確に定義
- テストを重視,特に早期のテスト計画を重要視
欠点:
- ソフトウェア開発におけるプロジェクト管理の視点を反映しているため,ソフトウェア開発者やユーザよりも,プロジェクトマネージャや会計士,弁護士などのニーズに適合する。
- 柔軟性に乏しく,変化への対応が遅い。
- プロセスへの負荷が大きい。
- ユーザの関与が少ない
さらに氏は,アジャイルアプローチを使用することで期待される利点と欠点についても,次のように挙げている。
利点:
- プロジェクトのライフサイクル中に変化する顧客の要求に適応する柔軟性
- 新機能の実装
- 機能の再定義
- 迅速な市場投入
欠点:
- ユーザの抵抗
- 軽量プロセス vs 自動車関連の古典的アプローチ
- BDUFでない
プロジェクトでは,システムテストにアジャイルの作業方法を取り入れることにした。テストグループがアジャイルチームとなって,ユーザへの成果提供に仮想スプリントとカンバンを使用した。ユーザはデモに参加して,彼らにフィードバックを提供した。安全要件と自動文書化テストを満たすため,Automotive SPICEプロセスは継続した。
プロジェクトチームはアジャイルプロセスに従って,毎日のミーティングとユーザ参加のデモ,そしてレトロスペクティブを行った。テストの自動化は,さまざまな種類のリリースや,多数ののハードウェアとソフトウェアの組み合わせを扱う上で必須のものだ。
プロジェクトの期間中,複雑性は増加したが,リリースごとの検証作業の労力は確実にダウンした。評価チームの検出する不具合の数が増加する一方で,ユーザが発見する不具合数は当初安定化し,次第に減少していったのだ。
集中的な自動テストとユーザが関与するデモを行うことにより,アジャイルはプロジェクトの複雑性に対処して,よりよい製品を提供する上で有効なものになる,と氏は言う。氏によれば,"スクラムなどのアジャイルメソッドは一般的に,自動車環境で要求される重要な機能を満足できない"。そのため氏は,"現行のプロジェクトライフサイクルにカスタムバージョンのアジャイルを組み入れる"ことで,アジャイルとAutomotive SPICEを組み合わせる方法を推奨している。