はじめに
研修で「RDRA」と「USDM」について、少し話があったのでまとめです。
RDRA(ラドラ)
Relationship Driven Requirement Analysis の略で、「要件定義のモデリング手法」
目的
要件の抜け漏れを防ぎ、全体像を可視化すること
特徴
要件を「システム価値」「外部環境」「事業」「システム」の4つのレイヤーで捉える
- アイコンや図(モデル)を使って要素間の「つながり」を表現
- 「ビジネスで何がしたいか」から「システムで何をすべきか」を論理的に導き出すのに適してる
向いている場面
大規模なシステムや、ビジネスルールが複雑で「何を作るべきか」が整理しきれていない初期段階
USDM(ユーエスディーエム)
Universal Specification Describing Method の略で、清水吉男氏によって提唱された「要求仕様の記述手法」
目的
要求の誤解や漏れをなくし、エンジニアが迷わず実装できるようにすること
特徴
「要求(何がしたいか)」と「仕様(具体的にどう動くか)」を階層構造で分けて記述
- 「理由(なぜその仕様が必要か)」を書く欄があるのが最大の特徴で、後からの変更に強くなる
- 表形式(マトリクス)で記述するため、一目で網羅性が確認できる
向いている場面
仕様の細部を固める段階や、派生開発で「どこを修正すべきか」を明確にしたい場合
両者の使い分け
| 項目 | RDRA (ラドラ) | USDM (ユーエスディーエム) |
|---|---|---|
| 主な役割 | 構造化・可視化(何を作るか) | 詳細化・厳密化(どう書くか) |
| 得意なこと | 要件の全体像と関係性を捉える | 要求と仕様の1対1対応を明確にする |
| アウトプット | モデル図(アクター図、ユースケース図等) | 表(要求仕様ツリー) |
| 解決する課題 | 「言った・言わない」「必要な機能の漏れ」 | 「仕様の解釈ミス」「修正の影響範囲不明」 |
理想的な組み合わせ(連携)
この2つを組み合わせることが重要!
「RDRAで漏れをなくし、USDMでブレをなくす」
- RDRAで全体を整理: まずはRDRAを使って、ビジネスの背景やアクター、ユースケースを整理し、システムの全体像をモデル化
- USDMで細部を記述: RDRAで定義された各ユースケースや機能について、USDMを使って具体的な「要求」と「仕様」に落とし込む
おわりに
「RDRA」も「USDM」も聞いたことあるぐらいで、なんの事が知らなかったので良いキッカケになりました。
両方とも言いたい事はざっくり分かるのですが、実際に仕事の中で手法をキッチリ導入するとコストが高そうです。
まずは、取り入れられるポイントから少しずつやっていきたいと思います。
参考(感謝)
RDRA
USDM
