RDRA 2.0 ハンドブックを読んでみた。
3連休にRDRA 2.0 ハンドブック を読んだのでさくっと感想を。
結論的にはとても読んで良かったな〜と思っている。
RDRA 2.0 とは
著者の神崎善司さんが考案されたリレーションシップ駆動要求分析(Relationship Driven Requirement Analysis )という要求分析・要件定義を行う為の手法のこと。
要求・ステークホルダーを起点に複数のダイアグラムを作成して作っていくことで、開発に必要な概念やユースケースを洗い出していくことが出来る。
一番の大きな特徴は、全てのダイアグラムと構成要素の関係性が明示されている・できること、かな。
詳しい解説をしてしまうと本を買う意味が薄れてしまうどころか著作権とかアレだと思うので詳細については割愛。
(キーワード検索で引っかかる情報にあんまり良いものがなかったので、もし興味があれば800円でこの本を買ってしまったほうが良いかも。)
読んだ感想
- DDD やモデリングの知識と相性の良い手法だった。
出てくる知識や考え方がDDDやモデリングの考え方に似ていて、1〜2日でサクッと読むことが出来た。
そもそも要件定義のプロセスや洗い出すべきことを構造化したものが RDRA だと思うし、DDD もモデリングもシステム化する対象をどう構造化して落とし込もうかということだと思うので、やりたいこともやり方も似通ってくるんだろうと思った。
ちなみに、こちらの動画で実際にRDRAで作成したダイアグラムと実際の実装を紐付けて開発している事例が発表されている。
RDRA で洗い出した業務・ユースケースや情報・状態の関係をそのまま
業務 > ドメイン境界 ユースケース > ユースケースサービス 情報・状態 > ドメインモデルなど
の様にパッケージングやクラス構成などに対応させて開発しているとのこと。
「あ〜、これこれ、こういうイメージ〜!実際に実装に対してマッピング出来るんだ!」と感動したので、本書と合わせて是非この動画もオススメしたい。
RDRA は実装に踏み込みすぎない様に意識されているので、実際には実装との乖離は発生すると思うが、良い感じに開発できるイメージが湧いた。
- 要件定義の全体像を学べた。
(本書が本来意図したことではないと思うけど)書き出してしまうと当たり前の、
「要求 > 業務 > 業務フロー > ユースケース > 関連するデータモデル」
の様な要件定義全体の構造と各概念の関係性を俯瞰して体系的に学ぶことができた。
これが出来るのは要求を基に必要な情報を洗い出すプロセスが構造化された RDRA だからこそな気がする。
元々、要件定義プロセスについて体系的に学んだことがなかったので、これだけでも読む価値があったと思う。読んで良かったな〜。
- (語弊があるが)自分でも出来そうだと思った。
本の中に書いていることをまとめると、大まかに以下のようなことが書いてある。
// 詳細を抜き出した状態の読書メモ # RDRA の説明 - RDRA 全体のプロセスの説明、ダイアグラム間の関係 # 各ダイアグラムの説明 - {各ダイアグラム} - 概要 - {ダイアグラムの概要} - 目的 - {ダイアグラムで要求分析・要件定義上で合意・確認したいこと} - ダイアグラムの詳細 - 構成要素 - {ダイアグラムを構成する要素} - ゴール - 書くべきこと - {ダイアグラムに書くべきこと} - 書きたくないこと - {ダイアグラムに書きたくないこと、書かなくても良いこと} - 作り方 - {実際の HOW の部分} # RDRA の精度を上げるには - 整合性、網羅性、妥当性を担保する方法
こうして一覧してみると、プロセス全体が構造化されているが故に「書くべきこと・考えるべきこと・正当性の検証方法」まで一通り定義してくれていると思う。
なので、大前提として細部にセンスや専門知識・練度が必要だけど「この軸に沿って考えていけば、そうそう外れたことはしなさそうだな〜」とも思ったし、「これならできそうだし、やってみたいな〜」と思えた。
機会があればやってみたい。
- 自分のねらいは間違ってなかったっぽい。
「キレイなコード、キレイなアーキテクチャはそもそもドメインから産まれる」とアタリをつけて、モデリングや要件定義や何らか業務知識に繋がる本を読み進めているけど、間違ってなかったな〜と思えたし、改めてそうだなぁと気づけた。
引き続き、頑張ろ〜。
まとめ
読んで良かった。
お求めやすい価格(kindle版:800円)且つモデリングやアーキテクチャ周りの知識があるとすんなりと受け入れられるので、興味ある方にはオススメですね。