増田 聡 -要求管理から改修・テストまで、アプリケーションライフサイクルから考えるプロジェクトのあり方
2009/01/29

要求管理から改修・テストまで
アプリケーションライフサイクルから考える
プロジェクトのあり方© 2010 IBM Corporation

Agenda1. はじめに
2. アプリケーションライフサイクルの課題
3. 課題と解決策 – 事例をもとに
1. 要求管理・分析
2. テストの自動化
3. コラボレーション
4. IBM Rationalソリューション
5. おわりに2© 2010 IBM Corporation

１．はじめに自己紹介
 所属– 日本アイ・ビー・エム株式会社 グローバル・ビジネス・サービス テストマネジメント
 経歴– 日本アイ・ビー・エム株式会社入社。アプリケーション開発・保守部門において、新手法や新技術、ツールの適用・展開などの技術支援業務に従事。
– 海外IBM と共に、テスト方法論、テスト技法、テストツールに専門的に取り組み、日本のプロジェクトにおいて展開を行う。
– IBM のグローバルテスティングサービスの日本市場への展開業務に従事。現在、グローバル・
ビジネス・サービス事業において、テストコンサルティングなどのテスティングサービスをお客様に提供をしている。
– 情報処理学会正会員、IEEE Computer Society 正会員、NPO法人ソフトウェアテスト技術振興協会（ASTER）理事。
 著作・翻訳– 「ソフトウェアテストPRESS Vol.2」(2005年技術評論社)– 「プロジェクトマネジメントハンドブック」(2009年オーム社)– 「実践アジャイルテスト」(2009年翔泳社)

3© 2010 IBM Corporation

１．はじめに講演概要
 セッションタイトル–要求管理から改修・テストまで、アプリケーションライフサイクルから考える
プロジェクトのあり方 セッション概要–企業にあらゆるアプリケーション・システムが導入されている現在、非常に多くの方が改修を含むアプリケーションのライフサイクルに関わっている。本
セッションでは、IBMで手がけた事例を元に、機能拡張などの変更要求を管理し、タスク化、担当割、開発、テスト、リリースといった一連の作業を管理する方法をご紹介する。これによって、進捗の可視化とトレーサビリティーを確保すると共に、品質の安定と全体の効率化が可能になる。
 想定対象–エンタープライズシステム系または組込みシステム系でソフトウェアの改修・テストに継続的に携わるエンジニア

4© 2010 IBM Corporation

１．はじめに
当セッションのキーメッセージ
1. ソフトウェアはライフサイクルで捉える
2. ライフサイクルの各局面で課題があり、解決策がある
今回取り上げる主な課題と解決策
1. 要求管理・分析の課題とトレーサビリティ確保という解決策
2. テストの効率化の課題と自動化という解決策
3. 全局面にわたる作業効率化の課題と作業コラボレーションという解決策
3. これらを管理する一貫した仕組みが必要である

これらを事例をもとに紹介します5© 2010 IBM Corporation

２．アプリケーションライフサイクルの課題
本セッションでは事例から以下の3つの課題をとりあげます
Ｖ字モデル
お客様のニーズ

実現機能

お客様ニーズの受入検証

移行判定
検証

ビジネス目標ユーザー受入テスト

要求レビュー

課題1
トレーサ
ビリティ
確保

検証

システム要件システム統合テスト

要求レビュー
検証

マクロ設計

システムテスト設計レビュー
マイクロ設計

検証

課題2
テストの
効率化

単体テスト

製作

プロジェクト局面

基本計画

基本設計

詳細設計

実装/単体テスト

テスト

課題3
作業
効率化
6

© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティ確保
トレーサビリティマトリクス事例
 一般的課題– 改修時の影響範囲の把握が困難
 事例
– 事象
• 改修時のテスト漏れによる障害発生– 原因• 影響範囲を把握できていなかったことが原因– 解決策• 改修影響範囲を把握するためトレーサビリティマトリクスを導入
お客様のニーズ

検証

ビジネス目標・要件

トレーサビリティーの確保

ユーザー受入テスト

検証

システム要件要件の詳細化
要件の追跡・管理実現機能

お客様ニーズの受入検証

マクロ設計

マイクロ設計検証

検証

システム統合テスト

システムテストシステムへの統合
要件の検証

結合テスト

プログラミング
単体テスト

7© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保
ソフトウェア・テストを取り巻く代表的な課題としてもトレーサビリティマトリクスの課題は取り上げられています
プロジェクト責任者

プロジェクトA テスト計画

テスト成果物の分散

テスト進捗レポート

テスト計画書

テスト責任者
TR1

TR2

TR3

TR-TC 管理TC進捗管理表

100

テスト要件

AAA
BBB
CCC
DDD
EEE
FFF
GGG

80
60
40
20

テスト設計者

要件とテストケースのトレーサビリティ欠如
TC1-1

0
1

テスト実行担当者
TC

TC1-2
テストケース
テストスクリプト

テストケース

TS1-1

2

3

4

作業報告のための負荷
・担当者
・実施日
・環境
・実施結果入力
・エビデンス取得

障害表

チームメンバー間のTS1-2 コミュニケーション・ミス
TS1-3

テストスクリプト

テスト環境
8

TR・・・テスト要件
TC・・・テストケース
TS・・・テストスクリプト© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保
トレーサビリティマトリクスとは トレーサビリティとは– 業務要求やシステム要求などの関連を追跡可能にすること
 トレーサビリティマトリクスとは– トレーサビリティを可視化するために表にしたもの

コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求
システム要求システム要求コンポーネント要求
コンポーネント要求
システム要求システム要求コンポーネント要求
コンポーネント要求

システム要求システム要求コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求

業務要求
業務要求

要求・
ニーズ

コンポーネント要求
コンポーネント要求

システム要求システム要求コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求

システム要求システム要求テスト手法
テスト手法
テスト・タイプ
テスト・タイプ
テスト・ケース
テスト・ケース
テスト結果
テスト結果

9

業務要求からテスト仕様までの追跡

設計文書
ビルド・コンポーネント

業務要求
業務要求

業務要求
業務要求

テスト仕様から業務要求ま
での追跡

テスト手法
テスト手法
テスト・タイプ
テスト・タイプ
テスト・ケース
テスト・ケース
テスト結果
テスト結果

システム要求システム要求コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求

テスト手法
テスト手法
テスト・タイプ
テスト・タイプ
テスト・ケース
テスト・ケース
テスト結果
テスト結果

影響のある設計文書およびビルド
コンポーネントへ
の追跡
テスト手法
テスト手法
テスト・タイプ
テスト・タイプ
テスト・ケース
テスト・ケース
テスト結果
テスト結果

コンポーネント要求
コンポーネント要求
コンポーネント要求
コンポーネント要求© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保
トレーサビリティー・マトリックスのイメージ•追跡対象例¾業務要求¾システム要求¾コンポーネント要求¾設計文書¾ビルド・コンポーネント¾テスト・ケース¾単体テスト¾結合テスト10

業務要求１
業務要求２番号
業務要求３
業務要求４
A001
業務要求５
A002
業務要求６
A003
業務要求７
A004
業務要求８
A005
業務要求９
A006
業務要求１０
A007
業務要求１１
A008
業務要求１２
A009
業務要求１３
A010
業務要求１４
A011
業務要求１５
A012
業務要求１６
A013
業務要求１７
A014
業務要求１８A015
業務要求１９A016
業務要求２０
A017
A018
A019
A020

シ ス テ ム 要 求 ２４B001 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024○

シ ス テ ム 要 求 ２３○

シ ス テ ム 要 求 ２２

業務要求
○

システムシ
要ス
求 テ２ ム１ 要 求 ２４

マトリクス例•業務要求とシステム要求の対応表•システム要求とコンポーネント要求の対応表
etc.
A001
A002
A003
A004
A005
A006
A007
A008
A009
A010
A011
A012
A013
A014
A015
A016
A017
A018
A019
A020

システム要求２

B001 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024

業務要求

番号
業務要求１
業務要求２
A001
業務要求３
A002
業務要求４
A003
業務要求５
A004
業務要求６
A005
業務要求７
A006
業務要求８
A007
業務要求９
A008
業務要求１０A009
業務要求１１
A010
業務要求１２
A011
業務要求１３
A012
業務要求１４
A013
業務要求１５
A014
業務要求１６
A015
業務要求１７
A016
業務要求１８A017
業務要求１９A018
業務要求２０
A019
A020

システムシ
要ス
求 テ２ ム０ 要 求 ２３

番号

シシスステテムム要要求求 ３
システム要求１
システム要求４システム要求２
システム要求５システム要求３システム要求６
システム要求求４
システムシ
要ス
求 テ１シムス 要
テム要求７
求５
システムシ
要ス
求 テ２シムス 要
テム要求８
求６
システムシ
要ス
求 テ３シムス 要
テム要求９
求７
システムシ
要ス
求 テ４シムス 要
テ ム 要 求 １０
求８
システムシ
要ス
求 テ５シムス 要
テ ム 要 求 １１
求９
システムシ
要ス
求 テ６シムス 要
テ ム 要 求 １２
求 １０
システムシ
要ス
求 テ７シムス 要
テ ム 要 求 １３
求 １１
システムシ
要ス
求 テ８シムス 要
テ ム 要 求 １４
求 １２
システムシ
要ス
求 テ９シムス 要
テ ム 要 求 １５
求 １３
システムシ
要ス
求 テ１シム０ス 要
テ ム 要 求 １６
求 １４
システムシ
要ス
求 テ１シム１ス 要
テ ム 要 求 １７
求 １５
システムシ
要ス
求 テ１シム２ス 要
テ ム 要 求 １８
求 １６
システムシ
要ス
求 テ１シム３ス 要
テ ム 要 求 １９
求 １７
システムシ
要ス
求 テ１シム４ス 要
テ ム 要 求 ２０
求 １８
システムシ
要ス
求 テ１シム５ス 要
テ ム 要 求 ２１
求 １９
システムシ
要ス
求 テ１シム６ス 要
テ ム 要 求 ２２
求 ２０
システムシ
要ス
求 テ１シム７ス 要
テ ム 要 求 ２３
求 ２１
システムシ
要ス
求 テ１シム８ス 要
テ ム 要 求 ２４
システムシ要ス
求 テ１ ム
９ 要 求 ２２システム要求システム要求１¾業務運用テスト○○ ○B001 B002 B003 B004 B005 B006 B007 B008 B009 B010 B011 B012 B013 B014 B015 B016 B017 B018 B019 B020 B021 B022 B023 B024
業務要求
○ ○
○ ○
業務要求１
○○ ○○○ ○○○ ○業務要求２○○ ○○ ○
業務要求３
業務要求４
○ ○ ○○ ○ ○
○
業務要求５
○
○ ○
業務要求６
○ ○ ○○ ○ ○ ○○
○○ ○
業務要求７
○
業務要求８
○
○ ○
業務要求９
○ ○ ○ ○○ ○○ ○業務要求１０○ ○○ ○○○ ○ ○
業務要求１１○
業務要求１２○
業務要求１３○
業務要求１４○ ○ ○業務要求１５○
業務要求１６
業務要求１７
業務要求１８
業務要求１９
業務要求２０マトリクス例© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保
 実際の組織への展開– トレーサビリティマトリクスを作成する前に• 成果物の標準化
どの成果物を追跡するのか？
– 成果物間の追跡の特定• どの要求をどの設計で実現しているのか？
• どの設計をどの実装で実現しているのか？
• どの要求をどのテストで検証しているのか？
業務要求定
義書

トレーサビリティ
マトリクス①
業務要求
vs システム要求

トレーサビリティ
マトリクス⑦
ユーザー受入テスト一覧
Vs 業務要求

ユーザー受
入テストケース一覧

トレーサビリティ
マトリクス⑥
システムテスト一覧
Vs システム要求
システム要
求定義書

トレーサビリティ
マトリクス②
システム要求vs 機能一覧

システムテス
トケース一覧
トレーサビリティ
マトリクス⑤結合テスト一覧
Vs 機能一覧
結合テスト
ケース一覧

機能一覧

トレーサビリティ
マトリクス③機能一覧
vs プログラム一覧

トレーサビリティ
マトリクス④
単体テスト一覧
Vs モジュール一覧
プログラム一単体テスト一覧覧

ソースコード11© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティ確保

ツールに求められる機能
要求管理ソリューション
要求管理プロセス・ツールによる属人性のない
標準要求項目の整理と影響範囲の分析実現¾ ビジネスプロセスを検討する際に洗い出された要望、ビジネス要件、システム要件などを一元的に体系化して管理する必要があります。
¾ 後から振り返っても、特定の人の知識に依存することなく、全ての要求が管理されていることが必要です。
¾ 要求とテストケースの紐付けにより、テストの網羅性、妥当性が検証可能になります。
¾ ビジネスが変化してシステムへの要求が変更になった場合、要求のベースライン管理によりその妥当性、影響分析が可能になります。

ツールに求められる機能

12

要求の一元管理と体系化
要求のためのセンター・
リポジトリー
体系化のための要求の定義、属性の設定
照会、レポート

影響分析
依存関係の設定
変更による影響分析

テストケースとの関連付け
要求レコードとテストケー
スの関連付け© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティ確保

IBM Rational DOORS:要求管理ツール


システム開発における「要求」を開発、分析、管理できる

データベースに一元的に要求を管理し、利用者はクライアント経由で要求にアクセスできる

要求の変更に対して要求文書とデータベースの同期を行い、影響範囲を即座に把握できる。

ユーザインタフェース

要求の一元管理

レポート出力要求
Windowsクライアント

Webインタフェース

13

要求データベース

要求文書

DBサーバー
履歴管理
要求タイプ間のトレーサビリティ管理変更のインパクト分析
セキュリティ
各要求に対するディスカッション

Word

Printer

Excel

HTML

PowerPoint

ASCII© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保（参考）トレーサビリティを利用した影響分析
 違う種類の要求間にトレーサビリティ（追跡可能性）を設定することで、影響分析・カバレージ分析ができます
リスト形式での表示

ユーザ要求

機能要求

ツリー形式での表示

テスト仕様

DOORS

要求に変更が入ると追跡可能性を示す矢印にサスペクトリンクが表示され、その変更が他のどの要求に影響するか、一覧性を持って表
示されます
14

14

編集前の要求項目Ａ
要求項目A xxxxxx
要求項目Ｂ
要求項目Ｃ

編集後の要求項目Ａ
要求項目A’ xxxxyy
要求項目Ｂ
要求項目Ｃ
© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保(参考)要求とテスト仕様のトレーサビリティ
要求

テスト仕様

トレーサビリティ・エクスプローラ¾ 要求とテスト仕様を一元管理します。
¾ 要求とテスト仕様のトレーサビリティを実現し、テスト使用漏れを把握しやすくします。
¾ トレーサビリティにより、要求の変更で必要なテスト仕様の把握が容易になります。

機能要求仕様書

DOORS
15

要求とテスト仕様の依存関係（影響分析）
機能要求

テスト仕様© 2010 IBM Corporation

３．課題と解決策
３－１．トレーサビリティの確保(参考) 要求定義への拡張要求に関するすり合わせや整理するために要求定義のプラクティスおよびツールを利用して効率よく、品質よく検討を進めることが可能。データは要求管理ツールへ自動的にインターフェイスすることが可能。

要求定義

要求管理

（要求のすり合わせ、要求品質の向上）
要求定義フェーズ
によって明確化された要求を一元管理ある文書から
識別された要求を一覧化
データはツー
ル間でインターフェイスされる
要求確定に至る経
緯を成果物と共に一元管理。
経緯を可視化することでコミュニケー
ション・ミスに起因す
る手戻りを防止Requirements
Composer16

要求定義に関わる成果物の依存関係を可視化し、修正漏れ・伝達漏れを防止要求間の依存関係を洗い出し、迅速か
つ漏れのない影響
分析を実施
DOORS

© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
テスト自動化事例
 一般的課題– テストに工数・期間がかかる
 事例
– 事象
• 業務特性上、テストの網羅性および結果保存が求められている• 頻繁に発生する改修に対してテストを実施しているが、期間がかかってしまっている。
• テストが十分でないままユーザー部門の受入れテストとなり、欠陥を発見されてしまっているケースもある。
– 原因• 改修・テスト・リリースのサイクルの中で、効率よくテストできていない– 解決策• テストの自動化を行なう
事例における改修プロセス
要件定義

設計

開発
単体テスト

テスト
(結合テスト)

テスト
テスト(システムテス(ユーザー
ト)
受入れテスト)

ユーザー

ユーザー
受入れテスト

変更要求
情報システム
部

要件定義

設計

開発/UT

結合テスト

システムテスト

結合テスト

第3者
システムテスト

第3者テスト17

テスト工数が膨大
テスト完了日は決められている© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
テスト自動化では、繰り返し実行や手作業による実行を削減し、品質の向上やサイクル・
タイムの短縮、コストの低減の実現を図ります。
►►テスト自動化
テスト自動化概要

All test scripts
全てのテストケース
Regression
回帰テスト
Candidate?
候補は?

回帰テストケース
Regression
test scripts

テスト実施(スTest
クリプト記録)Automate
自動化できる
identified test
テストの識別お客様に提供する価値

script

繰り返しテス&
Repeatablestable?
ト可能か？

Automation
test scripts
自動化されたテストケース

テスト担当者
Train Prep &のトレーニン
Exec testerグ
Executed by
テスト担当者
Prep & Exec
によるテスト
実施tester テスト自動化は、お客様組織内のテスト・プロセスの自動化を主な目的とします。
 テスト自動化ツールは通常はシステム開発ライフ・サイクル全体で活用します。

Deploy toスクリプトの管理TestManagement

Maintain per
テストスクリPrep & Exec
プトの維持管理 tester リグレッション・テストに費やす時間の短縮
 手作業の大幅な削減
 テストの実施プロセスの再利用を可能とすること
 テスト期間を大幅に短縮
 アプリケーションの品質向上
 アプリケーションに対するユーザーから信頼性の向上

改善効果を得るまでに要する期間
テスト自動化のステップ
回帰
回帰
テスト
テスト
絞込み
絞込み

18

繰り返し
繰り返し
可能テス
可能テス
ト絞込み
ト絞込み

テスト
テスト
自動化
自動化
設計
設計

テスト
テスト
自動化
自動化
開発
開発

自動化
自動化
テスト
テスト
実施
実施

テスト
テスト
スクリプト
スクリプト
の管理
の管理

 自動化のフレームワークと実行スクリプトの作成が完了した時
点から即座に改善効果が現われます。
 テストを繰り返し実行するごとに効果を享受できます。

© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
ツールに求められる機能
テスト自動化ソリューション
機能回帰、負荷性能、セキュリティーに関わるテスト実行をツールで実装し、労働集約的な作業や夜間の時間帯を有効利用した効率的なテストの実現¾ 人間が行うと手間と時間がかかり、不正確になりがちな作業を自動化することで生産性が向上します。
¾ テストデータを活用することにより、1つのシナリオで複数パターンでのテストを実現できます。
¾ テスト専門家以外の担当者もウィザードを用いて自動化テストを可能になります。
¾ 繰り返しのテストが出来ることにより、デグレードを防止するだけでなく、夜間の時間を有効利用することが可能になります。
¾ テスト管理ツールと連携することで、テストスクリプトの管理や自動実行/結果取得が可能になります。

ツールに
求められる
機能

19

機能回帰テスト

負荷性能テスト 入力作業のスクリプト化と実行 自動検証による実行結果確認

 多重度を上げたテスト
実行 柔軟なスケジューリング
 レポート機能による問題分析

セキュリティー
テスト
 Webアプリケーションの
脆弱性の指摘 問題の修正方法の提示
 最新の脆弱性への対応© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
Rational Functional Tester : テスト不足やミスを防ぎ、“品質を向上”させるために機能テストの自動化で、アプリケーションの回帰検証を行いデグレード防止Java(J2EE), Web, .NETアプリケーション等のGUI操作(キー入力、マウス操作)を記録– SAP, Siebel, Adobe Flex, Dojo, GEF, 端末ベース等もサポート

コーディングなく、GUIから簡単に画面操作の「記録->再生->自動検証」が可能



記録した操作を再生し、画面上のデータだけでなく隠れたプロパティーを自動検証

アプリケーションの画面変更に対して柔軟に対応できるため、テスト保守作業を軽減
対象アプリケーション
画面遷移テストシナリオ

スクリプト
自動生成

マウス操作
Click

テスト
スクリプト

Click
検証ポイント：Key

検証ポイント

キー入力

Click
Click

手作業による画面入力
20

自動テスト実行と結果の検証
20© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
Rational Performance Tester：性能問題の“早期発見、早期改善”をするために負荷テストの自動化で、アプリケーションのボトルネックを見つけて安定性を確保
Webベース(HTTP/HTTPS)のアプリケーションの負荷テストを実現

コーディングなく、GUIから簡単に負荷テストの「記録->スケジュール->実行」が可能



柔軟なスケジュール機能により、本番環境を忠実に再現

多彩なレポート機能により、結果だけでなく分析を支援– 遅いページを見つける– 応答時間明細によりボトルネックを見つける– テスト対象のリソース情報からボトルネックを見つける

サーバー環境のCPU使用率21

サーバー環境のCPU使用率21© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
データの意味を維持してマスキング、機密情報保護と正確なテスト実施を両立

IBM Optim Test Data Management solution &IBM Optim Data Privacy Solution
 関連性を維持し、サブセット化し、適切なサイズでデータを抽出
 抽出したデータを意味を持った形でマスキング
 異なるデータベースにデータをロード可能

素早く、簡単にテストデータを生成。
そして、データ漏洩を防ぎます!!

実行

本番データ

テストデータ抽出&
抽出&サブセット化
サブセット化

マスキング
マスキング

比較
比較
(監査)
(監査)

ロード
ロード
(配布)
(配布)

データの関連性をデータの関連性を把握
把握

意味を持った意味を持った
マスキング
マスキング

マスキング
マスキング
の確認
の確認

用途に応じた用途に応じた
DBを作成
DBを作成保護された環境22© 2010 IBM Corporation

３．課題と解決策
３－２．テストの自動化
Rational AppScan: Webアプリの脆弱性を予防するためにテスト自動化だけでなく、最新の脆弱性についても網羅できること


テストを自動化し、手作業に比べて圧倒的な時間とコストの削減が可能– 自動探査を行いサイト構成を把握– パラメータからテストパターンを自動生成Webアプリケーションの脆弱性と、インフラ(Webサーバー等)の設定ミス、既知の
問題を検知



最新の脆弱性についてもオンラインからルールの自動更新が可能

サイトの構成が一目で分かる

問題が重大度分けして表示される

Web アプリケーション
HTTP リクエスト

AppScan

23

HTTP レスポンス

問題の解説が日本語で© 2010 IBM Corporation

３．課題と解決策
３－３．作業管理
コラボレーション事例
 一般的課題– 作業に手戻りや集計作業など、本来の作業でないものが多い– オフショアの作業状況が見えない
 事例
– 事象
• メンバーで作業成果物や情報を共有したい• 国内では複数ベンダー体制、海外でもそれぞれ作業をおこなっている。プロジェクト全体として作業状況を把握したい– 原因• 成果物、作業指示、資料、情報などの共有の仕組みがない– 解決策• 継続的に高品質ソフトウェアを維持するためにコラボレーションツールを導入する
各役割での課題
地理的分散状況での作業
CIO

IT マネージャー
プロジェクト
マネージャー

チームリーダー
開発者
24“分散されたソフトウェア開発チームのコミュニケーションがうまくとれない。”
“部門内で進行しているプロジェクトの情報に、より頻繁にアクセスしたい。”“プロジェクトが順調かどうかを簡単に参照したい。”“重たい管理プロセスは逆にプロジェクトの足を引っ張る。管理は必要最低限にして出来るだけ自動化・省力化したい。”“なぜ、いつ、変更されたのか、作業すべき最新のバージョン
はどれかを知りたい。”© 2010 IBM Corporation

３．課題と解決策
３－３．作業管理
ツールに求められる機能
大規模（数十人～）

作業管理ソリューション
変更依頼、修正依頼について標準的なプロセスをツール上で実装し、作業の可視化による、安全な導入プロジェクトの運営、保守の実現

報告

④
集計

オーバーヘッド軽減
効率化の必要性集計①
異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、

集計

②
情報交換

他チームの最② 他チームの最新資料がどこ新資料がどこ¾ プロジェクトのライフサイクルを通じて、「誰が、何をしているか」の可視化により、リーダーの作業管理を容易にし、作業プロセスの標準化を進めることが重要です。（作業管理の基盤）¾ 変更依頼、障害への対応依頼を明示的なワークフローの上で回すことが必要です。
¾ 開発チームのコラボレーションを高めて開発を効率化することが必要です。

異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、

か分からないか分からない

更新
参照

更新
参照

リポジトリー
常に最新状況を把握ツールに求められる機能

25

チームでの作業のための協働基盤
作業（内容、担当、期日、状態）の可視化チャット、Feedなどのコ
ミュニケーション機能
メールとの連携

作業ワークフロー開発環境との統合

変更依頼、障害対応ワー
クフローの実現照会などによる状態管理

開発チームへの作業とソース管理、ビルド管理の統合
個人ビルド、個人用ワー
クスペースの実現などによる生産性の向上© 2010 IBM Corporation

３．課題と解決策
３－３．作業管理
Rational Team Concert の概要
コラボレーションを通じたソフトウエア開発の実現
 ワークアイテム管理を軸に、計画管理、構成管理、ビルド管理を統合したAll-in-One製品– 成果物間に渡る、ワークアイテムを軸とした強力な追跡性、一貫性– プロジェクト全体をリアルタイムに可視化– 分散並行開発を支えるソース管理

IBM Rational Team
Concert 分散開発におけるチーム・コラボレーションをサポート– Web2.0技術(wiki, chat, RSS)を統合し、円滑なコラボ
レーションをサポート
 オープン＆スケーラブルなJazzプラットフォーム上の製品– 既存資産、既存ツールとの連携が可能– 幅広い開発環境、DB/アプリケーションサーバー環境をサ
ポート– 小規模から大規模へ、段階的にＲＴＣを適用可能– オープンでコミュニティベースの開発モデル

26

透明性 統合された表示 wiki オープ
ン リアルタイム・レポーティング チャット
引き継ぎの自動化

Web 2.0 ダッシュ

ボードのカスタマイズ データ収集の自動化
拡張性 Eclipseプラグイン サービス・アーキ
テクチャ 生成の自由© 2010 IBM Corporation

３．課題と解決策
３－３．作業管理
Rational Team Concertにより作業の可視化とワークフローを実現
ワークの登録、アサイン
トラッキングビルド
ビルド担当者

開発者

リーダー

利害関係者

設計、
実装、テスト②アサイン
見積もり

全ての成果物を一元①ワークアイテム的に管理。ワークアイを登録。
テム駆動で、アサイン、
見積もり、トラックする③開発＆テスト。
実績値を入力。

④コンパイルし、ビルドを作成

反復
反復
反復

計画管理

ワークアイテム管理

ソース管理

Rational Team Concert
包括的なコラボレーティブ･インフラストラクチャ
27

リリース管理- メンバー管理- 自動データ収集＆レポート作成© 2010 IBM Corporation

３．課題と解決策
３－３．作業管理

Rational Team Concertによる進捗管理、作業の追跡

ワークアイテムに関する履歴情報（承認ログも含む）

作業の一覧
進捗管理

ダッシュボードによる状況の把握

28© 2010 IBM Corporation

４．IBM Rationalソリューション
本日ご紹介したRational製品エリア
Rationalのポートフォリオ

メインフレーム

IT

開発ドメインビジネス・ドメイン

トレーサビリティ
Rational System Architect
Rational System Architect
Rational
RationalAsset
AssetAnalyzer
Analyzer

Rational
RationalReqPro
ReqProRationalDOORS
RationalDOORS
Rational
RationalRequirements
Requirements
ComposerComposerエンタープライズ・
アーキテクチャー

プロダクト/プロジェクト・
ポートフォリオ
マネジメント
Rational
RationalFocal
FocalPoint
Point

計測と
レポーティング

Rational
RationalRhapsody
Rhapsody
Rational
RationalSoftware
SoftwareArchitect
Architect
Rational
RationalDeveloper
Developerfor
forSystem
Systemi i
Rational
RationalDeveloper
Developerfor
forSystem
Systemzz

分析と設計/開発

要求定義
要求管理

テスト自動化
品質管理

構成管理
変更管理
Rational
RationalTeam
TeamConcert
ConcertRational
RationalInsight
Insight

リリースの管理
プロダクション
オペレーション

組込みソフトウェア

コラボレーション

Rational
RationalBuild
BuildForge
Forge

Rational
RationalQuality
QualityManager
Manager
Rational
RationalPerformance
PerformanceTester
TesterRational
RationalFunctional
FunctionalTester
TesterRational
RationalTest
TestRealTime
RealTime
Rational
RationalPurifyPlus
PurifyPlus
Rational
RationalSoftware
SoftwareAnalyzer
Analyzer

セキュリティーとコンプライアンス
Rational
RationalAppScan
AppScanRational
RationalPolicy
PolicyTester
Tester

System and Software Lifecycle Processes29© 2010 IBM Corporation

４．Rationalソリューション
Rational Quality Manager
IBMコラボレーション型アプリケーション・ライフサイクル管理

Rational Quality Manager
品質ダッシュボード
テスト要求の
管理

障害の
管理

テスト管理

Rational RequisitePro
Rational DOORS

プランの
作成

ビルド
テスト

テスト環境
の管理

結果
レポート

Rational ClearQuest
オープン
プラットフォーム

Rational Test Lab Manager
ベストプラクティス・プロセス

JAZZ TEAM SERVER

SAP
Java

機能テスト
回帰テスト

System z, IBM i.NET

Open Lifecycle Service Integrations

負荷テスト
性能テスト

Webサービス
の品質

コードの
品質

セキュリティーとコンプライアンス

Rational AppScan
Rational Functional Tester
Rational
SoftwareAnalyzer
Rational Performance Tester
Rational Service Tester

30

自社開発

© 2010 IBM Corporation

４．Rationalソリューション
IBMグローバル・テスティング・サービスの紹介
IBM は総合的なテスト・サービスを提供します
Test Center of Excellence(テスト専門組織構築サービス)
ライフ・サイクル・テスト
評価 - 計画

設計

特化したテスト …

テスト・コンサル
ティング

実施 - 報告

単体テスト

システム統合テスト自動化

機能テスト

リグレッション・テスト

特化したテスト …

統合テスト

ユーザー受け入れテストシステム・テスト

運用テスト

管理サポート・プロセス

パフォーマンス・テスト
製品テスト
インフラストラク
チャー・テスト

パフォーマンス・
テスト
SOA テスト
データ・テストパッケージ・
テスト
製品テスト
セキュリティー・
テスト

サービスを支えるIBMアセット

方法論
31

ツール

ナレッジ

グローバル
組織
© 2010 IBM Corporation

５．おわりに
本日お話した内容
1. ソフトウェアはライフサイクルで捉える
2. ライフサイクルの各局面で課題があり、解決策がある
今回取り上げる主な課題と解決策
1. 要求管理・分析の課題とトレーサビリティ確保という解決策
2. テストの効率化の課題と自動化という解決策
3. 全局面にわたる作業効率化の課題と作業コラボレーションという解決策
3. これらを管理する一貫した仕組みが必要である

32© 2010 IBM Corporation

５．おわりに
プロジェクトの規模・形態によらずツールの活用は有効
大規模・分散プロジェクトであるほどツール適用の効果が期待できる

小規模（数人）中規模（十数人）

大規模（数十人～）

管理の必要性

オーバーヘッド軽減
効率化の必要性

報告
報告
集計

集計
集計

報告

④
集計

異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、

集計中のミスが発生する
可能性が増えていく①
異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、

集計

②
情報交換

異なるシートを異なるシートをコピーして、、、
コピーして、、、
集計して、、、
集計して、、、

他チームの最② 他チームの最新資料がどこ新資料がどこ
か分からないか分からない

本来の作業
本来の作業

本来の作業
本来の作業

管理
管理
作業
作業

本来の作業
本来の作業

管理
管理
作業
作業

その他
その他
の作業
の作業

・見渡せる範囲にチームが集合
・状況をお互いに把握しあえるため
管理作業割合が低い

・サブチームが必要となる・サブチームの情報を集計する管理作業が増えていく①情報の収集・整理作業がさらに増加し、集計ミスも多発②横串の整合性確保のための情報交換が多くなる③様々な版の管理票ができ、どれが正確な情報か分かり難くなる④現場での変更から集計・報告までの時間が長くなる

33
個人の生産性を高めるためのツール、製品を検討するチーム間を効率よく運営してくためのツール、製品の適用を検討する

チーム、組織の活動を最大限に活かすための仕組み、プロセスとそれに基づくツール、製品の適用を検討する

一般的に以下のような作業があるといわれている33

管理作業→１０～２０％© 2010 IBM Corporation
情報を探す、伝達するなど→１０～２０％５．おわりに“生産性・品質向上”のためのツール
生産性・品質向上のために、本来の作業ではない作業の軽減が必要
管理
作業

本来の作業

その他の
作業

・資料作成、集計などの公式な報告のための準備など

・横串の整合性確保
・チーム間レビュー、内部検討会などの実施

なぜツールを導入するか？
できる量を増やす

開発能力を高める

本来の作業にかける
時間を増やす本来の作業
時間を効率化する
管理系
作業

管理支援製品の導入
管理支援製品の導入

その他の作業

ツールによる開発生産性・品質の向上を実施する
本来の作業
34

管理
作業

その他
の作業
© 2010 IBM Corporation

５．おわりに
ツール導入のメリット
 ツールに限らず、新しい“もの”、“仕組み”の導入当初は生産性が下がりますが、“慣れ”や“適切なガイド”“運用”によりカバーできるものです。
 立ち上げにかかる期間を短くすることで導入効果を早い段階で得ることができます 適切に効果を得るための適切な要員、チームによる以下が必要です 立ち上げ期間の短縮、初期負荷の軽減
 効率的に利用するための仕組みつくり

開発能力（①の面積-②の面積)＝0 ⇒ ツール効果を授与できる分岐点
立ち上げ期間

現在の開発能力（③の面積）＝（ツール導入効果）②①
利用当初の負荷35

35③

ツール導入による効果分“慣れ”や“自己改善“による開発生産性の向上

利用期間© 2010 IBM Corporation

日本IBM展示コーナーでお待ちしています。

日本IBM
展示コーナー

テスト は Rational
ラ シ ョ ナ ル36

日本IBM
テクノロジーセッション会場© 2010 IBM Corporation

37© 2010 IBM Corporation© IBM Corporation 2010. All Rights Reserved.
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。
本プレゼンテーションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずい
かなる保証も伴わないものとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。
パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com、AppScan、Build Forge、DOORS、Policy Tester、PurifyPlus、Rational、Rational Team Concert、Rhapsody、System i、System zは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。
他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。
Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。
IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標です。
Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。
Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。
ITILは英国Office of Government Commerceの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。
UNIXはThe Open Groupの米国およびその他の国における登録商標です。
Cell Broadband Engineは、米国およびその他の国におけるSony Computer Entertainment, Inc.の商標であり、同社の許諾を受けて使用しています。
JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標です。
他の会社名、製品名およびサービス名等はそれぞれ各社の商標。
38© 2010 IBM Corporation