要求管理ツールの賢い使い方みんなが悩む要求管理(8)

» 2005年08月12日 12時00分 公開
[玉川憲日本IBM]

 これまでの連載では、ソフトウェア要求管理の基本を理解していただくことを目標にして、RUPにおける要求管理の成果物とワークフローを取り上げ、要求管理の基本を解説してきました。今回はいよいよ最終回です。本連載の締めくくりとして要求管理ツールについてお話ししたいと思います。


[注] 要求管理ツールを説明するに当たって、要求タイプ、要求属性、トレーサビリティといった用語が出てきますので、もしこれらの言葉がぴんと来ない場合は、まずは、過去の連載を読み返してから、今回の記事をお読みになられると分かりやすいと思います。


要求管理ツールとは?

 一般的に、要求管理(requirement management)ツールというと、開発チーム内で一元的に要求を登録、編集でき、その際に、変更履歴や変更理由を記録することができるツールを指しています。また、それらの基本的機能に加えて、要求ごとに、優先度・リスク・担当者などの要求属性を管理することができ、要求タイプの違う要求間にトレーサビリティを張ることで、カバレッジ分析やインパクト分析を行うことができて、初めて立派な要求管理ツールといえるでしょう。

 このような要求管理ツールのほかに、要求に関係するツールとしては、作成するシステムに対する概念を整理するためのUMLモデリングツール(IBMのRational Rose、Roseの後継であるIBMのRational Software Architect、BorlandのTogether Architect、永和システムマネジメントのJudeなど)が挙げられます。また、作成するシステムがビジネスアプリケーションの場合、業務プロセスを可視化して整理するためのビジネスプロセスモデリングツール(IBMのWBI Modeler、IDSシェアー・ジャパンのARISなど)もあります。

 しかし、今回の記事では、最初に述べた要求、要求属性、トレーサビリティを一元的に管理する“要求管理ツール”に的を絞ってお話ししたいと思います。海外には数多くの要求管理ツールがありますが、日本語化されている代表的な要求管理ツールとしては、IBM RationalのRequisitePro、BorlandのCaliberRM、TelelogicのDoorsなどがあります。

 この中から、今回の記事ではIBM Rational RequisiteProを取り上げて、主要な機能を解説することで、要求管理ツールを使うとどんなことができるのか? という多くの読者の皆さまが持つ疑問点を明かしていきたいと思います。

要求管理ツールの全体構成

 図1はRequisiteProのシステム全体の概略を表しています。ユーザーは、Windowsクライアントもしくは、Webインターフェイスを用いて、要求リポジトリ(要求を一元的に管理したサーバ上の領域)にアクセスできます。複数のユーザーが、一元的に管理された要求を編集・参照することができる、つまり、常に最新の要求に開発チームの全員がアクセスすることができます。

 要求の履歴や変更理由が管理されるのはもちろんのこと、要求間のトレーサビリティを管理することで、カバレッジ分析、インパクト分析が可能になります(第5回「要求管理プロセスの流れを追跡する」参照)。そして、管理された要求を基に、レポートを出力することも可能です。また、ほかのツール(UMLモデリングツールや、変更管理ツール、テスト管理ツール、構成管理ツールなど)と連携させることで要求のデータを開発チームにとってより効率よく使用することが可能です。例えば、UMLモデリングツールと連携させることで、要求から設計にもトレーサビリティを確立することが可能になります。IBM Rational RequisiteProの場合、IBM Rational Rose/XDE/RSA/RSMといったUMLモデリングツールと連携することが可能です。

ALT 図1 RequisiteProのシステム全体の概略

要求を体系化して管理する

 図2は、Windowsクライアントの画面を表しています。この画面をベースに、RequisiteProの主要機能を説明していきたいと思います。

ALT 図2 Windowsクライアントの画面

 まず、左側のWindowsのエクスプローラ形式で表示されている部分が要求エクスプローラです。この要求エクスプローラの中を見ていきますと、“a.プロジェクト”で指されたピラミッドの形をしたアイコンが、個々のプロジェクトを表しています。通常、1つのシステムにつき、1つのプロジェクトを作ることになります。この例の場合、RUDEというプロジェクト名を用いています。次に、“b.パッケージ”は、Windowsエクスプローラでのフォルダと同じ概念です。自由に作成して、要求を整理することができます。この例の場合、ビジネスルール、ニーズ、基本要件など、RUPで推奨されている要求タイプごとにパッケージを作成しています。“c.要求”は、[ ](かぎ括弧)のアイコンで表現されており、個々の要求を表しています。この場合、FEAT(Featureの略:基本要件)の要求タイプの要求が十数個見えています。

 “d.ビュー”は、要求を編集・参照するために用いる概念で、属性マトリクス、トレーサビリティマトリクス(追跡可能マトリクス)、トレーサビリティツリー(追跡可能性ツリー)の3種類があります。ここでは、属性マトリクスを説明しましょう。属性マトリクスは、スプレッドシートに似た外観を持つビューで、行には要求が、列にはその要求の要求属性が表示されます。このビューでは、指定した要求タイプのすべての要求とその属性値を、一覧で参照しながら、編集することができます。また、属性マトリクスビューにフィルタ情報を設定することで、必要な属性のみ表示したり、優先度の高いもの順に並べ替えたりすることが可能です。

 図2の例の場合は、要求タイプとして、ビジネスルール、ニーズ、基本要件、ユースケースなどを用いて、要求タイプごとに要求属性を設定して要求を管理していますが、これらの要求タイプや要求属性は、プロジェクトごとに自由にカスタマイズすることができます。

変化する要求を管理する

 トレーサビリティを管理するためには、図3のトレーサビリティマトリクスというビューを用います。トレーサビリティマトリクスには、異なる要求タイプの要求が、行と列に示されているので、それらの交点にトレーサビリティリンクを設定することで、要求タイプ間のトレーサビリティ関係を作成することができます。このようなトレーサビリティ関係を設定することは、上位要求に対して下位要求の過不足がないかを確かめることになり(カバレッジ分析)、結果として、要求全体の質を高めることになります。

ALT 図3 トレーサビリティマトリクス(追跡可能性マトリクス)

 また、要求に変更が入った場合は、サスペクトリンクという概念がサポートしてくれます。例えば、上位要求が変更すると、下位要求との関係の間にサスペクトリンク(図3の中のトレーサビリティに引かれた赤い斜め線)が設定されます。サスペクトリンクが張られているということは、トレーサビリティリンクのどちらかの端の要求に変更があったので、チェックしてください、という意味です。実際の使い方としては、ある要求に変更が入るとサスペクトリンクが入るので、担当者はサスペクトリンクの先の要求をチェックし、要求に影響がないかチェックします。もし影響がない場合は、手動でサスペクトリンクを消去します。

 注意点として、現在のテクノロジでは、要求の中身まで理解してトレーサビリティリンクを張ったり、要求変更に対して自動的に修正を掛けるツールは存在しません。トレーサビリティリンクは手動で張るものであり、サスペクトリンクはあくまで、人間が要求をチェックする手助けをしてくれる、ということです。

また、図4のようにトレーサビリティ関係を、ツリー形式で表示することも可能です。

ALT 図4 トレーサビリティツリー(追跡可能性ツリー)

要求文書を管理する

 これまで、属性マトリクスビューや、トレーサビリティマトリクスビューを使って、要求を編集する方法を見てきましたが、RequisiteProではこれらのビューを使って要求データベースに要求を管理する方法だけでなく、Word文書を絡ませて要求を管理する方法もあります。この方法では、Word文書で要求文書を作成することができ、またWord文書内の個々の要求を、RequisitePro内の個別の要求として登録することができます。この概念をつかむには、図5を見ながら下記を読んでください。

ALT 図5 Wordの連携

 実際に、Word内の要求をRequisiteProに登録するやり方は、次のとおりです。(1)Word中の個別の要求を選択した状態で、Wordメニューに追加されたRequisitePro用のメニューバー内の“新規の要求”ボタンを押すと、(2)RequisitePro内に個別の要求として登録されることになります。こうすることで、文脈の中で要求を表現できるWordの利点と、個々の要求ごとに要求属性や履歴管理、トレーサビリティ管理ができるデータベースの利点を併せ持つことが可能になります。このようにWord文書を絡ませて管理する場合は、図2の要求エクスプローラの中では、Word文書は“e.要求文書”のように表示されることになります。

WordやExcelで要求を管理した場合と何が違うのか?

 これまで述べてきた機能以外にも、RequisiteProのような要求管理ツールはさまざまな機能を備えています。例えば、ある一時点でプロジェクトのスナップショットを作成できるベースライン作成機能、メール通知機能、要求ごとのディスカッション機能、ユーザー管理、要求アクセスに対するセキュリティ管理、などが挙げられます。

 さて、これまで要求管理ツールの主要機能を話してきましたが、現時点では、プロジェクトで要求を管理する際に、要求管理ツールよりも、Wordのような文書ソフトや、Excelのような表計算ソフトを用いて要求を管理しているケースが多いようです。ここでは、文書ソフトや、表計算ソフトと比べて、要求管理ツールのメリットを整理したいと思います。

 まず、要求をWordのような文書ソフトで管理すると、要求の属性や履歴の管理が難しく、要求間でトレーサビリティが設定できないという欠点があります。一方、要求を表計算ソフトで管理すると、要求を文脈の中で表現することが難しく、要求間でトレーサビリティを設定するのが難しいという欠点があります。いっそのこと、要求を管理するためにデータベースをカスタマイズしたツールを使うケースがありますが、この場合でも、要求を文脈の中で表現することが難しく、ツールの保守にコストがかかります。ある程度、大規模なシステム開発の場合は、市販の要求管理ツールを用いた方がメリットの出るケースが多いと思います。


 以上、今回は要求管理ツールを取り上げ、IBM Rational RequisiteProを例に要求管理ツールの主要機能を説明してきました。

 要求管理ツールは、正しく使いこなせば、特に大規模プロジェクトにおいて非常に強力なツールといえます。しかし、注意点として、要求管理ツールを導入したからといって開発チームの要求管理の能力が自動的に向上するわけではありません。やはり、ツールより大切なのは要求管理プロセス(要求管理のやり方そのもの)であり、現状のプロセスのレベルに合わせて、そのプロセスをサポートする形で要求管理ツールを有効利用していただきたいと思います。要件管理の成熟度レベル(「要件定義の管理技術(Lv0〜Lv5)」)は、現状のレベルを認識する際の手掛かりに使っていただけると思います。

 最後になりましたが、8回にわたる連載にお付き合いいただきましてありがとうございました。この連載が要求管理に悩んでいる皆さまにとって少しでもお役に立てましたら光栄に思います。

著者プロフィール

玉川憲(たまがわけん)

 IBM東京基礎研究所に入所後、超小型腕時計型LinuxコンピュータWatchPadの研究開発に従事。現在は、IBM Rational事業部にて、RUP・要求管理・オブジェクト指向分析設計の講師としてコンサルティングを行っている。



Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ