USDMとDRBFMを羅針盤にして派生開発を成功に導く
NECソフト株式会社
酒井 賢
3. 課題
問題点を整理して、次の4つを課題としました。
- 1)要求の仕様化技術:どうしたら要求を正しく仕様化できるのか?
「仕様化があまい」という問題の解消
- 2)変更点の追跡:どうしたら変更点を追跡できるのか?
「変更の経緯が分からない」という問題の解消
- 3)抜け漏れ防止:どうしたら変更の影響範囲を特定できるのか?
「変更の影響範囲が分からない」という問題の解消
- 4)未然防止:どうしたら問題発生を未然に防げるのか?
「”思いもよらない”問題が発生」の解消
4. 施策
メンバーの持ってきた本を元にして「USDM」を導入し、お客様から紹介された資料をきっかけに「DRBFM」を導入することとしました。どちらも、レビューを重視する点が共通している手法です。
導入にあたっては、私自身の”つかんだ”という感覚と、お客様やメンバーへの定着度合いをみながら順をおって進めました。
No. | 課題 | 手法 | 引継ぎ時 | 3年後 |
1 | 要求の仕様化技術 | USDM TM | 変更要求仕様書 | 2003~ |
2 | 変更点の追跡 | |||
3 | 抜け漏れ防止 | |||
4 | 未然防止 | DRBFM | 心配点シート | 2008~ |
表 2. 課題と施策の対応
4.1 USDMの導入
施策の第一段階として、USDM(Universal Specification Description Manner)とトレーサビリティ・マトリクス(TM)を取り入れました。
USDMは株式会社システムクリエイツの清水吉男氏が考案された、要求を仕様化するための表記方法です。
USDMには次のような特徴があります。
・ 1つの表に全ての要求・仕様を記述する
・ 要求を2~3段の階層構造で定義する
・ 各要求に対して、その要求が必要な理由を併記する
・ 最下位の要求に対して仕様(その要求を実現するためのシステムの振る舞い)を記述する
・ 要求・仕様にはユニークなIDを付与する
このような記法によって変更要件の意味を理解して、変更しなければならない仕様を漏れなく見つけ出して一覧化します。
トレーサビリティ・マトリクス(TM)は、USDMに付随するもので、USDMによって明確にした変更仕様が、どのモジュール(またはソースコード)に影響するかを改造規模で示すものです。これによって、ある要求を満たすには、どこを変更する必要があるのかが俯瞰でき、どのくらいの変更なのかを定量的に把握できます。
USDMとTMをセットにしたドキュメントが「変更要求仕様書」です。(図1)
図 1 変更要求仕様書
表の左側部分はUSDM記法で記載した仕様です。これは「何を変更するのか」という“What”の視点で記入します。
右側部分は「トレーサビリティ・マトリクス(TM)」です。モジュール単位の列を作成して、仕様に対して変更が必要なモジュールとの交点に改造規模を記入します。TMは「どこを変更するのか」という“Where”の視点で記入します。
表が完成したら、要求が正しく理解できているか、仕様に抜け、漏れがないかを確認するためにメンバー全員で集合形式でレビューを行います。同時に、自担当部分の変更が他メンバーのモジュールに与える影響などの検討も行います。
図には簡単に記入方法を記載しましたが、詳しくは次の書籍をご覧いただくとよいかと思います。
・ 「要求を仕様化する技術・表現する技術 - 入門+実践 仕様が書けていますか?」
清水 吉男(著)
・ Software People Vol.8 「特集:コンサルタントが教える戦慄の仕事術 失敗しない派生開発」
Software People編集部(編集)