これからのテスト～アジャイル開発における品質管理のアプローチ
日本ヒューレット・パッカード株式会社
HPソフトウェア・ソリューションズ統括本部
岡崎 義明© 2009 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.

アジェンダ• アジャイル開発− アジャイルの概要と主なアジャイル開発プラクティス− アジャイル開発の広まり− アジャイル開発の課題• アジャイル開発をサポートするHPソフトウェアソリューション

− BTOポートフォリオとHP Quality Center− HPのアプリケーションライフサイクル管理アプローチ− HP Quality Center softwareの概要− HP Quality Centerによるアジャイル開発サポート

アジャイルとは
従来のアプローチ

アジャイル

プロセスに依存メンバーの協調に依存• サイロ化したチーム• 複数機能をもったチーム• “ブロックごとの”開発• 反復開発• 作業契約の定義• 柔軟なスコープ作成• 大量の文書化• 機能するソフトウェア

エクストリームプログラミング（XP）
開発ライフサイクル

リリース

1.テストコードイタレーション

計画
ゲーム

探検

コミット

− 短いリリース− 単純さを優先− テスト駆動開発（TDD）− 恒常的なリファクタリング− ペアプログラミング
8.チェック
イン

運転

2.実装
コード

3.単体
テスト

7.機能
テスト

4.リファクタリング

6.統合「実践アジャイルソフトウェア開発手法とプロジェクト管理」 山田正樹著（ソフト・リサーチ・センター）から抜粋

5.単体
テスト

スクラム

日次スクラムミーティング組織プロセス

スクラムチーム

スプリント

スプリント
バックログ

30日
バックログアイテム

スクラムマスター

出荷可能な製品差分

製品バックログ

製品オーナー

自律型、自己編成型のチーム• 反復（スプリント）ごとのスコープは完全に固定される• 日次スクラムミーティングを実施• 30日間の反復••

各イタレーションの最後に外部の利害関係者にデモを行う

アジャイルへの移行を促進する要因
アジャイルのメリット• 製品化までの時間の短縮• ソフトウェア品質の強化• 生産性の向上• ITとビジネスの整合性の改善• プロジェクト可視化の改善• コストの削減• 優先順位の変動を管理する機能の強化• プロジェクトリスクの軽減• プロセスの単純化

現在のアジャイル導入状況

回答数 781 :
52% が開発者, 22% は管理者
40% は10-20年のIT経験, 33%は21年以上
33% は従業員1,000名以上の組織で勤務
85% は民間企業に勤務
7

出典:
出典 www.ambysoft.com/surveys/

これからのアジャイル導入予測
時期は未定
導入予定なし> 24か月
12か月から24か月
1年以内
すでに導入済み

回答数 781 :
52% が開発者, 22% は管理者
40% は10-20年のIT経験, 33%は21年以上
33% は従業員1,000名以上の組織で勤務
85% は民間企業に勤務
8

出典:
出典 www.ambysoft.com/surveys/

従来の手法と比べたアジャイル開発手法の効果
生産性

品質はるかに低い
やや低い
変わらない
やや高い
はるかに高いビジネス関係者の満足度はるかに低い
やや低い
変わらない
やや高い
はるかに高いシステムコスト

はるかに低いやや低い
変わらない
やや高いはるかに高い

はるかに高い
やや高い
変わらない
やや低い
はるかに低い出典:
出典 www.ambysoft.com/surveys/

アジャイル手法の混在
アジャイル手法をどのように取り込んでいるか
2

32
36

正式なアジャイル手法は採用していない
アジャイル手法を組み合わせて使っている
特定のアジャイル手法をできるだけ密に実行している
アジャイルとアジャイル以外のテクニックを意図的に混在させている

31
Base: 216 technology industry professionals in a variet of roles, including but not limited to Development
Source: December 2008 Global Agile Company Online Surveyアジャイルプロジェクトの成功率
Co-Located：メンバーが同じ部屋で作業 （214プロジェクト）
Not Co-Located：同じ部屋にはいないが物理的に集まれる程度に近い （210プロジェクト）
Offshoring：チームの一部は、出張しなければいけないほど遠くにいる （129プロジェクト）

77.5
AllCo-Located
Not Co-LocatedOffshoring

82.7
71.7
59.5

020

4060

80100
出典:
出典 www.ambysoft.com/surveys/

第一の課題：
みんな変わるのか、誰も変わらないのか
ビジネスアナリスト

開発チーム

QA

要件定義&設計開発および実装

テストおよび統合

アジャイルは組織の考え方に変化をもとめる
コラボレーション
1228 February 2010

アジャイルに関するその他の課題
要件は反復をまたがって開発しうるため、テスト計画も変更しなければならない

複数レイヤーのアプリ
ケーションをどうやってテストするか

1328 February 2010

どの要件を最初に実行するか知る

チームはサイロ形式で作業していた誰がいつ何をするのか、どうすればわかるかだろうか？？

チームの勤務地がなくなることによりアジャイルの課題は大きくなる

アジャイル開発をサポートするHPのソフトウェアソリューション

HP BTO Software ポートフォリオ
業界で最も包括的なIT管理ポートフォリオ
ビジネス成果戦略

アプリケーション開発

サービス ポートフォリオ管理

アプリケーションラ
イフサイクルProject
Project &&Portfolio
Portfolio
Management
Management
CenterCenterQuality
Quality
CenterCenterCIO Office

Performance
Performance
CenterCenter

SOA
SOA
CenterCenterCTO Office

Application
Application
Security
Security Center
Center
SAP, Oracle, SOA, J2EE, .Net

運用
ビジネスサービス
管理

ITサービス
管理

Operations
Operations Orchestration
Orchestration
Business
Business
Availability
Availability
CenterCenterClientClientAutomation
Automation
CenterCenterOperations
Operations
CenterCenterNetwork
Network
Management
Management
CenterCenterUniversal
Universal CMDBCMDBSoftware-as-a-Service

ビジネスサービス
自動化

Data
Data Center
CenterAutomation
Automation
CenterCenterService
Service
Management
Management
CenterCenterHPのアプリケーションライフサイクル管理のアプローチ
HP アプリケーションライフサイクル管理

戦略的な制御ポイント

要求

ポートフォリオ

運用

開発
計画

優先付けと投資アプリケー
ションの土台ビジネスへの影響
変更管理

ガバナンス ポリシー

戦略

完全なアプ
リケーショ
ンライフサ
イクル

完全なシステム
エンドユーザ管理
検証
アプリケーションマッピング

要件•ビジネス的な要求•ポートフォリオ管理•プロジェクトとプログラム

定義/
設計

開発/
テスト

運用

ラウン
チ

アジャイルの反復

アジャイルの反復

アジャイルの反復

アジャイルの反復

新規の配備

Fix/
patch

Fix/
patch

Fix/
patch

ガバナンスの確立•アーキテクチャ•ポリシー•再利用•開発者の振舞い

マイナーリリース

マイナーリリース

機能性能

セキュリティ

正しく機能するか?

性能は十分か?

安全か?

HPがいかにアジャイルをサポートするか

17

28 February 2010

“Scaling Agile Processes: Five Levels of Planning”
by Hubert Smits, Rally Software, May 2007

HP Quality Center
HP Quality Center
Dashboard

HP TestDirector software
要件管理

テスト計画

テスト実行

HP Functional Testing software
QuickTest
Professional

WinRunner

不具合管理

拡張機能
SAP, SOAHP Business Process Testing software

Service
Test

Accelerators for SAP, Oracle, Security

Foundation
共有データ・リポジトリ

集中管理機能ワークフロー

オープンAPIs

HP Quality Centerによる品質管理プロセス•要件定義
要件定義画モジュール

Webベースアーキテクチャ
ベースアーキテクチャ & 共通の処理フレームワーク
により品質管理プロセスの標準化を実現
テスト設計

テスト計画モジュール

テスト実行

自動機能テストツール テスト実行モジュール

自動機能テストツール

障害管理判定障害管理モジュールダッシュボード

1.要件定義要件定義
2.ビジネスリスク判定
ビジネスリスク判定

1.テストケース作成
テストケース作成
2.自動テストシナリオの作成
自動テストシナリオの作成

1.テスト実行フローの定義
テスト実行フローの定義
2.実行スケジューリングの設定
実行スケジューリングの設定

1.障害情報の登録
障害情報の登録
2.改修担当者のアサイン
改修担当者のアサイン

1.品質判定品質判定
2.作業進捗の把握
作業進捗の把握3.テスト戦略立案
テスト戦略立案

3.要件との紐付け
要件との紐付け

3.実行ステータス管理
実行ステータス管理

3.障害情報のトラッキング
障害情報のトラッキング

3.結果分析
結果分析

ビジネスリスクを意識した品質管
理プロセスの実
施の実現

Webサーバサーバ

TestDirector for
Quality Center

DBサーバ
サーバ

要件定義書、テスト手順書、自動化テス
トスクリプト、障害情報等のテスト資産

全ての情報を追跡可能な状態で一元管理

客観的な判断基
準に基づいた品
質の判断アジャイルサポートのプロセス概要

リリース&スプリントの計画
リリースとサイクル：コンセプト

製品•

製品は最上位のフォルダ•

リリースは一般に製品のバージョン•

リリースは増加的に開発される。増分は開発パラダイムによって、サイクル、スプリント、イタレーション、DPなどと呼ばれる。
リリースおよびサイクルは、他のQCモジュールで要件やテストなどに割り当てられる
特定のリリースやサイクルにアイテムを割り当てると、そのサイクルのレポートに関するアイテムが特定される

•

リリース
サイクル

•

管理モジュールでは、リリースとサイクルを定義することができる。

リリース&スプリントの計画
リリース計画：サイクル

サイクルの開始日/終了日を定義

各サイクルに上位レベルのテーマを添付する。これにより集中し続けることができる。

ユーザは、柔軟にユーザ定義フィールドを追加できる。

ユーザストーリー: 主な属性•

名称
− 何に関するものかわかるように意味のある名称をつける•

説明− 全プロジェクトメンバーがわかるようにする− 顧客の期待および実装の正確な実装に関してあいまいさを残さない•適合基準（受入れテストの要件）:− ユーザストーリーが機能することを示すシナリオを記述する

•

オーナー:
− ユーザストーリーの管理に責任をもち、そのプロパティが正しく設定されるようにする。
ユーザストーリーはタスクに分解され、タスクはオーナーにアサインされる•

当初の作業見積り:− タスクに分解される前に行われるマクロレベルの推定•

タスク:− ユーザストーリー内で記述される内容を作成するのに必要なタスクのリスト

23ユーザストーリー/タスクの定義

高位レベルのユーザストーリーの見積り

要件モジュールでは、さまざまな要件タイプを階層的に管理できる。

ユーザストーリー/タスクの定義
受入れテストの要件

ユーザストーリーの作成時に記入
テストの制約として使われる

タスク: 主な属性•

名称− タスクを説明する意味のある名称•

説明− 名称が自己説明的なものでない場合は、ここでタスクの詳細を説明する•

オーナー− タスクを実装する責任をもつ

•

作業見積り
− 当初の作業見積り：タスクに関する詳細な当初見積りで、一度設定されたら更新されない− 現在の作業見積り：タスクの全体的な作業見積りで、最初は当初見積りに設定されるがオーナーがタスクについて学習するにつれて更新される− 作業実績：タスクに関してすでにどれくらい使われたか。毎日更新される− 残存作業：計算される•発生源（Origin）− どのようにタスクが追加されたか。ユーザストーリーのタスク分解の一部としてか、それともユーザストーリーに関して作業している間に発見されたのか

26

ユーザストーリー/タスクの定義
タスク：QCでのカスタマイズ

タスクは要件タイプとして指定される

ユーザストーリー/タスクの定義
バックログ：サイクル（スプリント）の計画

バックログから優先度の高いユーザストーリーを選択する• それを次のサイクルに入れる• 製品バックログを再計算する•28

ユーザストーリー/タスクの定義
サイクルの計画：高位レベル• スプリントの開始前に、ユーザストーリーに基づいて高位レベルの初期見積りを行う

開発時間でユーザ
ストーリーを見積り

29ユーザストーリー/タスクの定義
サイクルの計画：詳細レベル• 詳細な見積りはスプリント内のタスクに基づいて行う

高位レベルのユー
ザストーリーは100時間と見積られた

詳細見積りは、タスクの合計で72時間

30

テスト計画の設計/実行要件から自動的にテストを作成できる。

追跡すべきは....

作業の割合

4段階のカバレッジ
段階のカバレッジ
不具合

完了した作業&テスト

要件

ユーザストー
リーのカバレッジ

32

28 February 2010

スプリントごとの完了率

サイクルの終りにオープンになっている不具合

残っている作業

ユーザストーリーのテストカバレッジ

33

イタレーションごとのテスト実行カバレッジ

34イタレーションごとの不具合の傾向

35

進捗のモニタリング• QCのExcelレポーティング機能を通してバーンアップ/バーンダウングラフを使う

スプリントだけでなくリリース全体の進捗もモニター
36

まとめ
アジャイル手法は新しい開発アプローチとして、注目を集めています。欧米ではすでに企業のアプリケーション開発に広まりつつあります。
• アジャイルへの移行は簡単ではありません。ソフトウェアをデリバリする全ての人の作業のやり方に関係します。
• HPは、アプリケーションライフサイクル全体を通して、アジャイル開発によるビジネス成果の最適化を支援します。
• Quality CenterをAgile Acceleratorとともに使うことにより、アジャイル開発への移行を支援します。
•お知らせソフト開発・テストのためのBTOコミュニティサイト

1月25日オープン！

www.btoclub.jp
主催

協賛

株式会社アシスト
ウィプロ・テクノロジーズ