feat(rtm): add Requirements Traceability Matrix template and workflow
Create RTM infrastructure for Enterprise track: - RTM template with bidirectional traceability tables (StRS→SyRS→PRD→Stories→Tests and reverse) - Coverage analysis tables (forward coverage %) - Orphan analysis (unlinked requirements, stories, tests) - Requirement status summary tracking - Change history tracking - RTM generation/update workflow that scans all requirement documents, extracts IDs, maps traceability, identifies gaps - Single-pass analytical workflow (not step-file based) - Shared templates directory for cross-workflow templates Part of ISO 29148 compliance initiative (Wave 1). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
124b7164bd
commit
c892eaa00c
|
|
@ -0,0 +1,182 @@
|
|||
---
|
||||
name: create-update-rtm
|
||||
description: Generate or update the Requirements Traceability Matrix (RTM) by scanning all requirement documents and mapping bidirectional traceability. Enterprise track workflow.
|
||||
track: enterprise
|
||||
---
|
||||
|
||||
# Requirements Traceability Matrix (RTM) Workflow
|
||||
|
||||
**Goal:** Generate or update the RTM by scanning all requirement documents (StRS, SyRS, PRD/SRS, Epics/Stories) and creating bidirectional traceability links with gap analysis.
|
||||
|
||||
**Your Role:** You are a Requirements Traceability specialist. Your job is to systematically scan all requirement documents, extract requirement IDs, and map the traceability chain. This is a systematic, analytical task.
|
||||
|
||||
**Track:** This workflow is part of the **Enterprise** track.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This is a **single-pass analytical workflow** (not step-file based). It runs as a complete analysis task.
|
||||
|
||||
### Critical Rules
|
||||
|
||||
- 📖 **ALWAYS** load ALL requirement documents before analysis
|
||||
- 🔗 **ALWAYS** trace in both directions (forward and backward)
|
||||
- 🔍 **ALWAYS** identify orphan items (unlinked requirements, stories, tests)
|
||||
- ⚠️ **NEVER** fabricate traceability links that don't exist in documents
|
||||
- 💾 **ALWAYS** save the RTM to the output file
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`
|
||||
- `communication_language`, `document_output_language`
|
||||
- `date` as system-generated current datetime
|
||||
|
||||
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`.
|
||||
|
||||
### 2. Document Discovery
|
||||
|
||||
Search for all requirement documents:
|
||||
|
||||
**Required Documents (load if found):**
|
||||
- StRS: `{planning_artifacts}/*strs*.md`
|
||||
- SyRS: `{planning_artifacts}/*syrs*.md`
|
||||
- PRD/SRS: `{planning_artifacts}/*prd*.md`
|
||||
- Epics & Stories: `{planning_artifacts}/*epic*.md`
|
||||
|
||||
**Optional Documents:**
|
||||
- Test documents: `{implementation_artifacts}/tests/**`
|
||||
- Story files: `{implementation_artifacts}/*story*.md`
|
||||
|
||||
**Report to user what was found and what's missing.**
|
||||
|
||||
### 3. Check for Existing RTM
|
||||
|
||||
Look for existing RTM: `{planning_artifacts}/rtm-{{project_name}}.md`
|
||||
- If exists: Load and update (preserve change history)
|
||||
- If not exists: Create new from template
|
||||
|
||||
---
|
||||
|
||||
## RTM GENERATION SEQUENCE
|
||||
|
||||
### Step 1: Extract All Requirement IDs
|
||||
|
||||
Scan each document and extract all requirement identifiers:
|
||||
|
||||
**From StRS:**
|
||||
- Look for patterns: `BO-###`, `OP-###`, `UP-###`, `OS-###`, `BC-###`, `TC-###`, `RC-###`
|
||||
- Or any consistent ID pattern in the document
|
||||
|
||||
**From SyRS:**
|
||||
- Look for patterns: `SYS-###`, `SYS-FUNC-###`, `SYS-IF-###`, `SYS-PERF-###`
|
||||
- Or any consistent ID pattern in the document
|
||||
|
||||
**From PRD/SRS:**
|
||||
- Look for patterns: `FR-###`, `FR#`, `NFR-###`
|
||||
- Look for Enterprise format: `FR-[AREA]-###`, `NFR-[AREA]-###`
|
||||
- Or any consistent ID pattern in the document
|
||||
|
||||
**From Epics/Stories:**
|
||||
- Look for Epic numbers: `Epic N`, `Story N.M`
|
||||
- Look for acceptance criteria patterns
|
||||
|
||||
### Step 2: Map Forward Traceability
|
||||
|
||||
For each requirement at each level, find its downstream references:
|
||||
|
||||
**StRS → SyRS:** Match by content similarity, explicit references, or source fields
|
||||
**SyRS → PRD:** Match by content similarity, explicit references, or source fields
|
||||
**PRD → Stories:** Match by FR references in stories, acceptance criteria alignment
|
||||
**Stories → Tests:** Match by test descriptions, acceptance criteria references
|
||||
|
||||
### Step 3: Map Backward Traceability
|
||||
|
||||
Verify backward links exist:
|
||||
- Each test traces to a story
|
||||
- Each story traces to a PRD requirement
|
||||
- Each PRD requirement traces to SyRS (if SyRS exists)
|
||||
- Each SyRS requirement traces to StRS (if StRS exists)
|
||||
|
||||
### Step 4: Identify Orphans and Gaps
|
||||
|
||||
**Orphan Requirements:** Requirements with no downstream trace
|
||||
- These represent features that will NOT be implemented unless addressed
|
||||
|
||||
**Orphan Stories:** Stories with no upstream requirement trace
|
||||
- These represent scope creep or undocumented requirements
|
||||
|
||||
**Orphan Tests:** Tests with no story or requirement trace
|
||||
- These represent untraceable testing effort
|
||||
|
||||
**Coverage Gaps:** Downstream levels with missing upstream links
|
||||
- These represent broken traceability chains
|
||||
|
||||
### Step 5: Generate Coverage Statistics
|
||||
|
||||
Calculate:
|
||||
- Forward traceability coverage percentage per level
|
||||
- Total requirements per status (proposed, approved, implemented, verified)
|
||||
- Orphan count per category
|
||||
|
||||
### Step 6: Generate RTM Document
|
||||
|
||||
Create or update the RTM document at: `{planning_artifacts}/rtm-{{project_name}}.md`
|
||||
|
||||
Use the template from: `{project-root}/_bmad/bmm/workflows/shared/templates/rtm-template.md`
|
||||
|
||||
Fill in all tables with extracted data.
|
||||
|
||||
### Step 7: Present Results
|
||||
|
||||
**Report to user:**
|
||||
|
||||
"**RTM Analysis Complete for {{project_name}}**
|
||||
|
||||
**Documents Scanned:**
|
||||
- StRS: [found/not found] - [X requirements extracted]
|
||||
- SyRS: [found/not found] - [X requirements extracted]
|
||||
- PRD/SRS: [found/not found] - [X requirements extracted]
|
||||
- Epics/Stories: [found/not found] - [X stories extracted]
|
||||
|
||||
**Traceability Coverage:**
|
||||
- StRS → SyRS: [X%]
|
||||
- SyRS → PRD: [X%]
|
||||
- PRD → Stories: [X%]
|
||||
- Stories → Tests: [X%]
|
||||
|
||||
**Issues Found:**
|
||||
- Orphan requirements: [count]
|
||||
- Orphan stories: [count]
|
||||
- Orphan tests: [count]
|
||||
|
||||
**RTM saved to:** `{planning_artifacts}/rtm-{{project_name}}.md`
|
||||
|
||||
**Recommendations:** [List any actions needed to improve traceability]"
|
||||
|
||||
---
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ All available requirement documents discovered and scanned
|
||||
✅ Requirement IDs extracted from all documents
|
||||
✅ Forward traceability mapped (StRS→SyRS→PRD→Stories→Tests)
|
||||
✅ Backward traceability mapped (Tests→Stories→PRD→SyRS→StRS)
|
||||
✅ Orphan items identified with clear actions needed
|
||||
✅ Coverage statistics calculated accurately
|
||||
✅ RTM document generated/updated with all data
|
||||
✅ Clear summary presented to user
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not scanning all available documents
|
||||
❌ Fabricating traceability links that don't exist
|
||||
❌ Missing orphan identification
|
||||
❌ Not providing actionable recommendations
|
||||
❌ Not preserving change history when updating existing RTM
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
workflowType: 'rtm'
|
||||
track: 'enterprise'
|
||||
version: '1.0'
|
||||
status: 'draft'
|
||||
last_updated: '{{date}}'
|
||||
generated_by: '{{agent_name}}'
|
||||
---
|
||||
|
||||
# Requirements Traceability Matrix - {{project_name}}
|
||||
|
||||
**Author:** {{user_name}}
|
||||
**Date:** {{date}}
|
||||
**ISO 29148 Reference:** Requirements Traceability
|
||||
|
||||
## Purpose
|
||||
|
||||
This Requirements Traceability Matrix (RTM) provides bidirectional traceability across the entire requirements chain:
|
||||
|
||||
**Forward Traceability:** StRS → SyRS → PRD/SRS → Stories → Tests
|
||||
**Backward Traceability:** Tests → Stories → PRD/SRS → SyRS → StRS
|
||||
|
||||
## Traceability Matrix
|
||||
|
||||
### Stakeholder Requirements → System/Software Requirements
|
||||
|
||||
| StRS Req ID | StRS Description | SyRS Ref(s) | PRD/SRS Ref(s) | Status |
|
||||
|-------------|-----------------|-------------|----------------|--------|
|
||||
| | | | | |
|
||||
|
||||
### Software Requirements → Stories → Tests
|
||||
|
||||
| PRD/SRS Req ID | Description | Priority | Story Ref(s) | Test Ref(s) | V&V Method | Status |
|
||||
|---------------|-------------|----------|-------------|-------------|------------|--------|
|
||||
| | | | | | | |
|
||||
|
||||
## Coverage Analysis
|
||||
|
||||
### Forward Traceability Coverage
|
||||
|
||||
| Source Level | Total Reqs | Traced Forward | Not Traced | Coverage % |
|
||||
|-------------|-----------|---------------|------------|------------|
|
||||
| StRS | | | | |
|
||||
| SyRS | | | | |
|
||||
| PRD/SRS | | | | |
|
||||
| Stories | | | | |
|
||||
|
||||
### Orphan Analysis
|
||||
|
||||
#### Orphan Requirements (not traced to any downstream artifact)
|
||||
|
||||
| Req ID | Source | Description | Action Needed |
|
||||
|--------|--------|-------------|--------------|
|
||||
| | | | |
|
||||
|
||||
#### Orphan Stories (not traced to any requirement)
|
||||
|
||||
| Story ID | Epic | Description | Action Needed |
|
||||
|----------|------|-------------|--------------|
|
||||
| | | | |
|
||||
|
||||
#### Orphan Tests (not traced to any story or requirement)
|
||||
|
||||
| Test ID | Description | Action Needed |
|
||||
|---------|-------------|--------------|
|
||||
| | | |
|
||||
|
||||
## Requirement Status Summary
|
||||
|
||||
| Status | Count | Percentage |
|
||||
|--------|-------|------------|
|
||||
| Proposed | | |
|
||||
| Approved | | |
|
||||
| Implemented | | |
|
||||
| Verified | | |
|
||||
| Deferred | | |
|
||||
| Rejected | | |
|
||||
|
||||
## Change History
|
||||
|
||||
| Date | Change | By | Affected Reqs |
|
||||
|------|--------|-----|--------------|
|
||||
| {{date}} | Initial RTM creation | {{agent_name}} | All |
|
||||
Loading…
Reference in New Issue