要求管理ツールは,システム構築におけるユーザーからの要求をデータベースで管理するためのツール。要求を変更した際の影響範囲をビジュアルに確認できる。「決めながら作る」というスタイルが増えてきた昨今,いかに要求をコントロールするかの重要性が高まり,要求管理ツールへの注目度が上がってきた。
要求管理ツールは,要求と要求を関係(リンク)付け,データベースに格納する。要求やリンクを変更した場合は,自動的にバージョンを管理。変更の影響範囲は,GUI上でリンクを調査することで把握できる(図1[拡大表示])。
スウェーデンTelelogicの「Telelogic DOORS」を利用する,日本電気通信システムは,これらのメリットを実感している。同社では従来,紙ベースで要求を管理していた。しかし,「いくつものチューブ・ファイルに分かれた仕様書のつながりを,すべて把握することは不可能」(組込システムソリューション事業部 開発グループマネージャー 藤田浩司氏)という問題があった。開発者の記憶に頼った関係付けや,手作業による影響範囲分析ではどうしても漏れや矛盾がおきる。それらはテスト工程でバグとなって現れる。
「上流工程での要求管理の大切さは分かっていたが,頼れるツールがなかった」(藤田氏)。ところが,2002年4月にDOORSが日本上陸。4カ月後にはいち早く導入を決めた。導入後は,ツール上で要求間のリンクを調査して漏れや矛盾を排除,実装工程にバグが流れ込むリスクを減らしている。
要求を階層化してリンクを付与
要求管理ツールの品ぞろえも,充実しつつある。DOORSのほか,日本IBMは2004年5月に「IBM Rational RequisitePro 2003 SR2」を出荷。2004年6月にはボーランドが「Borland CaliberRM 6.5」日本語版を国内初出荷した(表1[拡大表示])。実際に,これら要求管理ツールの使い方を見ていこう。
まずは要求をツール内のデータベースに格納する。通常,要求定義書といった設計書類は,回覧や承認するために紙ベースであることがほとんどだろう。それらの書類に記述された要求を簡単に登録できるように,要求管理ツールはWordやExcelのグラフ,テキスト・ファイルなどからの取り込み機能を備えている(図2[拡大表示]の(1))。
ツールに登録した要求は,Windowsのエクスプローラのように階層構造で配置,ツールの利用者が要求間のリンクを設定していく。例えば,「商品を注文する」という要求の下に,「商品を検索する」「検索結果を一覧表示する」という要求をリンクさせる(同(2))。
リンクを設定できる項目は,設計書や文章,キーワードなど,自由度が高い。DOORSのように,階層構造のひな型に利用できるように,IEEEやISOが標準化した「開発やテストでそろえるべき資料の目次」をあらかじめ取り込んだ製品もある。
またCaliberRMではドラッグ・アンド・ドロップで,要求を階層間で移動させることが可能。すべての製品で,登録した要求には「重要度」といった任意の属性を付与できる。管理項目として利用するとよいだろう。
要求管理ツールの導入効果を高めるために,要求を登録したらそのテスト項目も一緒に入力したい。要求変更が発生した場合は無駄になる恐れはあるが,テストを意識することで,要求の曖昧さや矛盾が排除しやすくなるからだ(同(3))。また,あるタイミングでユーザーと合意が取れた要求セットは,「ベースライン」として仕様を凍結しておく(同(4))。
変更時に威力を発揮
いったんベースラインを固めたら,それを保って開発を進めたい。しかし現実には,要求変更がつきものだ。しかも,「要求変更は,影響範囲の分析作業と,本当に変更を実施すべきかどうかをユーザーと判断する作業が重なるため難易度が高い」(電通国際情報サービス 事業推進本部 開発統括部 テクニカルエバンジェリスト 高安厚思氏)。この分析作業において,要求管理ツールは最大の威力を発揮する。
要求管理ツールでは,要求変更の影響範囲を“見て”確かめられる(図3[拡大表示])。影響範囲は,DOORSでは文書レベルで,CaliberRMは要求をアイコン化して,それぞれ表示する。どちらも影響のある要求には,「サスペクトリンク」と呼ぶマークが付き,修正忘れを防ぐ工夫がされている。
運用ルールが欠かせない
要求管理ツールは,要求定義フェーズのみで使うものではなく,システム開発全般で利用する。そのため,C/S型やWeb型で動作し,チームで利用できるようになっている。
開発ツールとの連携機能はすべての製品が備える。例えばRequisiteProは,米IBMのテスト管理ツール「IBM Rational TestManager」とテスト設計書をやり取りできる。要求定義はどの開発プロセスでも必要なため,要求管理ツールもどのプロセスでも利用できるようになっている。
加えて,RequisiteProはRUP(Rational Unified Process)でも利用できるように,UMLモデリング・ツール「IBM Rational Rose XDE Modeler」などとの連携機能や,ユースケースから要求管理を実施できる機能を備えている(画面1)。
多彩な機能を備える要求管理ツールだが,導入に当たり注意点もある。一つは,要求管理ツールを使いこなすには,要求と仕様を的確に分けるスキルが必要なこと。「要求と仕様が区別できていなくても,ワープロの仕様書ではそれらしい体裁になる。しかし,それを要求管理ツールに登録したところ,要求と仕様が混ざっているためにリンク付けが不可能なケースがあった」(日本電気通信システムの藤田氏)。
もう一つ,要求管理ツールの運用ルールを決めておくことが大切だ。ツールは様々なプロジェクトで利用できるように,要求の登録方法などにかなり自由度がある。しかし,要求の粒度や属性の付け方などを決めておかなければ,登録はしたが使い物にならない,といった事態に陥りかねない。あらかじめ,設計書の記述方法,要求の具体化方法など運用ルールを整備しておくべきだろう。必要ならば,ツールベンダーのコンサルティングも検討したい。