勉強日記

チラ裏

RDRA2.0 ハンドブック ch8 RDRA活用のために


RDRAによる要件定義の実際

  • RDRAで解決できる種々の問題点
    • 「何かが決まったようでいて、結局何も決まっていない」
      • 要件定義でありがち
      • 議論が空中戦に終始し、具体で議論しないとこうなる
    • 要点定義書という「成果物」の目的化
      • ウォーターフォール開発でありがち
      • こと要件定義においては成果物の完成はゴールではなく、何度も見直す必要がある
    • 仕様の辻褄が合わない
      • アジャイル開発でありがち
      • 重要な部分・価値を出せる部分以外の仕様が「なんちゃって仕様」
      • 繋がりだすと辻褄が合わなくなる
      • 共通認識ができない
      • 仕様確認が不十分なまま実装するので、テスト段階で問題が発覚しだし、開発スピードが落ちてくる

RDRAの活用場面

要件の作り込み具合の違い

アジャイル WF 要件定義工程を別会社が行うケース
システム化範囲の合意 o o o
ビジネスルールの整理 o o
システムの整合性確保 o
  • システム化範囲の合意
  • ビジネスルールの整理
    • バリエーション、条件を使ってビジネスルールの仕様化までRDRAで表現
  • システムの整合性確保
    • 情報モデル、状態モデル、ユースケースの辻褄が合っていることを確認し、精度を高める

実装した仕様をRDRAモデルにフィードバックするか否かの違い

  • 開発時に明らかになった詳細な仕様をRDRAにフィードバック
  • 開発中盤の開発スピード低下に対応できる
    • 仕様全体を俯瞰
    • 新規開発分に関わる影響度を事前に把握

RDRAを活かす方法

議論の土台を作る

  • 闇雲にヒアリングしても議論がブレて時間がかかるだけ
  • 事前に手に入る資料と、間違っていてもよいので仮設をベースにRDRAモデルを作ってみて、それをもとにヒアリングを行う
    • はじめて聞くことでも知識がつながる
    • 誤解や勘違いがはっきりする
    • 空中戦ではなく具体的な議論ができるようになる
    • 重要なことを意識しながら進められる

RDRAモデルをコミュニケーションツールにする

  • 有識者と議論しながらその場で作成し同時に確認するのが良い

開発後も維持し保守開発に役立てる

  • 開発中も随時更新し最新の要件として維持する
  • 開発終了後も保守開発時に活用できる
    • 影響範囲調査

RDRAはツールを使って初めて効果がでる

  • アイコンのつながりで意味を表す表記法なので、ダイアグラム横断的なつながりを分析できること

アイコンからつながりをたどる

  • つながりを分析することで得られる洞察の例
    • 開発者が、開発担当のユースケースに関して実装すべきこと
    • 情報のライフサイクル
    • アクターの責務に沿った業務になっているか
      • アクターとアクティビティのつながりを分析する

要件定義を分析的にすすめる

  • 要件定義の変更は整合性をとりながら進めていく必要がある
  • アイコン同士のつながりを管理し、影響度を把握しながら進めるにはツールの支援が欠かせない
    • 【所感】アプリケーションコードに対するテストコードにような感じ。安心して変更を行えるようにする