【プロジェクト中】 (その2)
まだ、【デザイン案を定義する】タスクと【潜在価値を分析しソリューションを推奨する】タスクがありますが、次の知識エリア「要求のライフサイクル・マネジメント」を先に解説します。
知識エリア【要求のライフサイクル・マネジメント】 (前半)
この知識エリアの最大の特徴は全てのタスクのインプットとアウトプットが要求管理ツール/リポジトリとのやり取りをすることです。BABOKではこの知識エリアでもツールの使用を重視しています。ツールの使用を前提とした知識エリアです。
【要求をトレースする】タスク:
要求のトレーサビリティには前方トレーサビリティ、後方トレーサビリティ、他の要求との関係の3種類があります。
- 前方トレーサビリティ:ある要求やデザインをソリューション・コンポーネントまで結びつけること
- 後方トレーサビリティ:ある要求やデザインを上位のビジネス要求に結びつけること
- 要求間の関係: 要求同士の関係です。要素の項で詳細を記述します。
次の図はプロセスのトレーサビリティとソフトウェアのトレーサビリティの関係を示しています。
ソフトウェアに関しては、通常のトレーサビリティはソリューション要求から設計、コード、テストにトレースされるのですが、BABOKではさらに上位のステークホルダー要求、ビジネス要求にまで遡ってトレースされることが重要とされています。
どの関係を使ってトレーサビリティを管理するのかは「ビジネスアナリシス情報マネジメントを計画する」タスクで決めておきます。そして、その結果を要求管理ツールに設定しておけば、あとはツールが支援してくれますから、トレーサビリティをマネジメントすることは大変容易になります。逆に、このようなツールを使用しないと複雑な要求間のトレーサビリティを管理することはほとんどできないと言ってよいでしょう。
要求間の影響図です。ある要求を変更するとその影響がどの要求や設計などに影響するのかをグラフィックに表示してくれますから極めて便利です。
【要求を維持する】タスク:
このタスクこそ、要求管理ツールで要求やデザインをマネジメントすることです。
要求を管理するのはツール内のリポジトリーです。これを手動(エクセルなど)で行うことはほとんど不可能と言ってよいでしょう。
要求の属性を管理することも要求管理ツールが自動的に行ってくれます。「ビジネスアナリシス情報マネジメントを計画する」タスクで、このプロジェクトではどの属性を使って管理するのかを決めて、それを要求管理ツールに登録しておけば、あとはツールが支援してくれるので属性の管理も大幅に手が省けます。
要求の再利用も同様です。ただこれは要求管理ツールの仕様(機能)に大きく依存します。あるツールは特定プロジェクト内での要求を管理することだけを支援してくれます。別のツールはエンタープライズ全体で要求をシェアすることまでサポートするものもあります。そのようなツールを使用すれば、他のプロジェクトから当該プロジェクトで作成した要求を再利用することも容易に支援してくれます。また、開発フェーズを越えて、運用フェーズにおいても、開発フェーズで開発された要求をそのまま使用することも可能になります。ですからツールの仕様に大きく依存します。
要求の管理、要求属性、再利用、は「ビジネスアナリシス情報マネジメントを計画する」タスクの中で定義しておき、要求管理ツールに設定しておけば、ツールが強力に支援してくれるようになります。
【関係タスク:ビジネスアナリシス情報マネジメントを計画する】
「トレーサビリティ」、「再利用」、「要求の属性」はこの計画タスクの中で事前に計画しておきます。以下、簡単に解説します。
要素:トレーサビリティ・アプローチを計画する
- ドメインの複雑さ、
- 要求のビューの数、
- 要求に関するリスク、組織標準、適用される規制要件、
- トレースに関係するコストと便益
上記を過度の費用をかけずに価値を付加できる詳細度で、トレーサビリティのやり方を決めておきます。
要素:要求の再利用を計画する
品質標準、サービス・レベル・アグリーメント、生産しているプロダクトに関する要求などは組織が継続的に満たさなければならない要求です。またユーザー・インターフェイスのように複数のシステム、プロセス、プログラムで共通に使用できる要求も再利用されます。
要素:保存とアクセス
ビジネスアナリシス情報の保存方法には多くの方法がありますが、この計画タスクで決めておきます。保存とアクセスの方法の決定に影響を与える、どのツールを使用するかは、前述の「ビジネスアナリシス・アプローチを計画する」タスクで決めておきます。
要求管理ツール・リポジトリは、保存したあらゆる情報のステータスを示すことができ、また時間の経過と共に情報の修正も可能です。それなりの高度な要求管理ツール(リポジトリ)を使用することが奨励されます。
要素:要求の属性
一般的な要求の属性の例です。
- 絶対参照番号:
- 作成者:
- 複雑さ:
- オーナーシップ:
- 優先順位:
- リスク:
- 情報源:要求の出所です。
- 安定性:要求の成熟度です。
- ステータス:
- 緊急性:
大規模(例えば、ウォーターフォールで1年がかり)なプロジェクトでは、管理するべき属性はそれなりに多く(例えば10種類ぐらい)必要かもしれません。しかし、の小規模(3か月程度)のアジャイル・プロジェクトでは、それほど多くの属性を管理する必要がないかもしれません。ですから、当該プロジェクトにおいて管理するべき属性を前もって決めておく必要があります。そして決めたらその属性を要求管理ツールに設定すればよいのです。あとはツールが属性の管理を支援してくれますので非常に楽になります。逆に、もしツールを使用しないとすると、要求属性の管理は大変です。