name: analyzing-requirements description: RDRA 2.0 に基づく体系的な要件定義を支援。システム価値→外部環境→境界→内部構造の 4 層で要件を整理。「要件定義を始めたい」「システムの要求を整理したい」「RDRA で分析したい」「業務フローを整理したい」「システムコンテキストを作りたい」といった場面で発動する。要件を体系的に整理することで、開発フェーズでの「何を作ればいいかわからない」問題を防ぐ。
要件定義
RDRA 2.0(リレーションシップ駆動要件分析)に基づき、システム価値→外部環境→境界→内部構造の 4 層で要件を体系的に整理する。
RDRA の価値は、要件を「何となくの要望リスト」ではなく「なぜそれが必要か」の根拠付きで構造化できること。各層の出力が次の層の入力になるため、トレーサビリティが自然に確保される。
参照ドキュメントとテンプレート
| 種類 | パス | 備考 |
|---|---|---|
| ガイド | @docs/reference/要件定義ガイド.md | RDRA 2.0 の進め方詳細 |
| テンプレート | @docs/template/要件定義.md | 編集禁止。コピーして使用する |
| 入力 | @docs/analysis/business_architecture.md | ビジネスアーキテクチャ分析書 |
| 入力 | @docs/analysis/inception-deck.md | インセプションデッキ |
| 成果物 | docs/requirements/requirements_definition.md |
テンプレートを基に作成 |
RDRA の 4 層構造
各層は上から下に向かって具体化されていく。上位層が曖昧だと下位層の定義がブレるため、この順序で進めることが重要。
層 1: システム価値
「なぜこのシステムが必要か」を明確にする。インセプションデッキの「なぜやるのか」をシステムの文脈で具体化する。
- システムコンテキスト図: システムとアクター(人・外部システム)の関係を PlantUML で図示
- 要求モデル: ステークホルダーの要求を構造化して一覧化
層 2: システム外部環境
「どのような業務の中でシステムが使われるか」を整理する。ビジネスアーキテクチャ分析書のバリューストリームや組織マップが入力になる。
- ビジネスコンテキスト: 業務の全体像とシステムの位置づけ
- ビジネスユースケース: 業務レベルのユースケース識別
- 業務フロー: 業務プロセスの可視化(PlantUML アクティビティ図)
- 利用シーン: ユーザーがシステムを使う具体的な場面
層 3: システム境界
「システムの内と外の接点は何か」を定義する。外部環境の分析結果から、システムが担う範囲を確定する。
- ユースケース複合図: システムユースケースとアクターの関係
- 画面・帳票モデル: ユーザーインターフェースの概要定義
- イベントモデル: システムが受け取る・発信するイベント
層 4: システム内部構造
「システム内部でどのような情報をどう扱うか」を設計する。後続のデータモデル設計・ドメインモデル設計の基礎になる。
- 情報モデル: システムが扱う主要なエンティティとリレーション
- 状態モデル: 主要エンティティの状態遷移
作成の進め方
新規作成
- 入力ドキュメント(ビジネスアーキテクチャ分析書、インセプションデッキ)の有無を確認する。なければ基本情報をヒアリングする
- テンプレート(@docs/template/要件定義.md)を読み込む
- 層 1 から順に 4 層を作成する。各層で PlantUML を活用して視覚化する
docs/requirements/requirements_definition.mdとして出力する
途中から再開・更新
既存の docs/requirements/requirements_definition.md がある場合は、まずその内容を確認する。不足している層や更新が必要な部分のみを修正する。
Example:
ユーザー: 「システムコンテキストは作った。業務フローを整理したい」
回答: 層 2(システム外部環境)の業務フロー作成に進む。
既存のシステムコンテキスト図のアクターを起点に、
各アクターの業務プロセスを PlantUML アクティビティ図で可視化する。
注意事項
- 入力ドキュメントが未作成でも、プロジェクト情報から直接作成可能。完璧な入力を待つより進める方が効果的
- テンプレートは編集禁止。コピーして成果物を作成する
- 各層の成果物には PlantUML を活用し、テキストだけでなく図で表現する
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
関連スキル
analyzing-business— 前段のビジネスアーキテクチャ分析analyzing-inception-deck— 前段のインセプションデッキanalyzing-usecases— 後続のユースケース・ユーザーストーリー詳細化orchestrating-analysis— 分析フェーズ全体のワークフロー案内