feat(prd-validation): add ISO 29148 validation steps for PRD
Add 4 new validation steps to PRD validation workflow: - step-v-06b: Per-requirement quality check against 9 ISO criteria (necessary, implementation-free, unambiguous, consistent, complete, singular, feasible, traceable, verifiable) - step-v-06c: Requirement attributes completeness check (ID, priority, source, rationale, V&V method, risk) - step-v-12b: Verification coverage validation (all requirements have V&V methods assigned) - step-v-12c: Interface coverage validation (cross-reference integrations against interface section) Wire new steps into existing validation chain: - step-v-06 → step-v-06b → step-v-06c → step-v-07 (existing) - step-v-12 → step-v-12b → step-v-12c → step-v-13 (existing) All new steps are track-aware: - Enterprise: full validation - BMad: lightweight/optional checks - Auto-proceed (no user input, same as existing validation steps) Part of ISO 29148 compliance initiative (Wave 2). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b75f3fbefd
commit
f7fd90297e
|
|
@ -3,7 +3,7 @@ name: 'step-v-06-traceability-validation'
|
|||
description: 'Traceability Validation - Validate the traceability chain from vision → success → journeys → FRs is intact'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-07-implementation-leakage-validation.md'
|
||||
nextStepFile: './step-v-06b-per-requirement-quality.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
---
|
||||
|
|
|
|||
|
|
@ -0,0 +1,143 @@
|
|||
---
|
||||
name: 'step-v-06b-per-requirement-quality'
|
||||
description: 'Per-Requirement Quality Validation - Validate each requirement against 9 ISO 29148 quality criteria'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-06c-requirement-attributes.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
requirementQualityChecklist: '{project-root}/_bmad/bmm/workflows/shared/templates/requirement-quality-checklist.md'
|
||||
---
|
||||
|
||||
# Step 6b: Per-Requirement Quality Validation (Enterprise Track)
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate each individual requirement against the 9 ISO 29148 quality criteria: necessary, implementation-free, unambiguous, consistent, complete, singular, feasible, traceable, verifiable.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a Validation Architect and Quality Assurance Specialist
|
||||
- ✅ This step runs autonomously - no user input needed
|
||||
- ✅ You bring ISO 29148 requirement quality expertise
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on per-requirement quality validation
|
||||
- 🎯 This step is MANDATORY for Enterprise track, OPTIONAL for BMad Method track
|
||||
- 🚫 FORBIDDEN to validate other aspects in this step
|
||||
- 🚪 This is a validation sequence step - auto-proceeds when complete
|
||||
|
||||
### Track-Aware Execution:
|
||||
|
||||
**Check the PRD frontmatter for `track` value:**
|
||||
- If `track: 'enterprise'` → Run full per-requirement quality validation
|
||||
- If `track: 'bmad'` or not set → Run a lightweight sample check (spot-check 5 requirements)
|
||||
- Log which track mode was used in the report
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load the requirement quality checklist
|
||||
- 🎯 Extract all FRs and NFRs from the PRD
|
||||
- 🎯 Validate a representative sample (or all for Enterprise) against 9 criteria
|
||||
- 💾 Append findings to validation report
|
||||
- 📖 Display "Proceeding to next check..." and load next step
|
||||
- 🚫 FORBIDDEN to pause or request user input
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- PRD document from previous validation steps is available
|
||||
- Quality checklist provides the 9 criteria
|
||||
- Focus on individual requirement quality, not document-level quality
|
||||
|
||||
## VALIDATION SEQUENCE:
|
||||
|
||||
### 1. Load Quality Criteria
|
||||
|
||||
Load the requirement quality checklist from: `{requirementQualityChecklist}`
|
||||
|
||||
### 2. Extract Requirements
|
||||
|
||||
Extract all FRs and NFRs from the PRD document:
|
||||
- Count total requirements
|
||||
- Group by category (FR capability areas, NFR categories)
|
||||
|
||||
### 3. Validate Requirements
|
||||
|
||||
**For Enterprise track:** Validate ALL requirements against 9 criteria
|
||||
**For BMad track:** Spot-check 5 representative requirements
|
||||
|
||||
**For each requirement, check:**
|
||||
1. **Necessary:** Does it trace to a stakeholder need?
|
||||
2. **Implementation-Free:** Does it state WHAT, not HOW?
|
||||
3. **Unambiguous:** Is there only one interpretation?
|
||||
4. **Consistent:** Does it conflict with other requirements?
|
||||
5. **Complete:** Is there sufficient detail?
|
||||
6. **Singular:** Is it one requirement, not compound?
|
||||
7. **Feasible:** Is it achievable within constraints?
|
||||
8. **Traceable:** Does it have an ID and source?
|
||||
9. **Verifiable:** Can it be tested or inspected?
|
||||
|
||||
### 4. Generate Findings
|
||||
|
||||
Create a quality report:
|
||||
|
||||
```markdown
|
||||
### Per-Requirement Quality Validation
|
||||
|
||||
**Track Mode:** [Enterprise (full) / BMad (sample)]
|
||||
**Requirements Analyzed:** [count] of [total]
|
||||
|
||||
**Quality Summary:**
|
||||
| Criterion | Pass | Fail | Pass Rate |
|
||||
|-----------|------|------|-----------|
|
||||
| Necessary | | | |
|
||||
| Implementation-Free | | | |
|
||||
| Unambiguous | | | |
|
||||
| Consistent | | | |
|
||||
| Complete | | | |
|
||||
| Singular | | | |
|
||||
| Feasible | | | |
|
||||
| Traceable | | | |
|
||||
| Verifiable | | | |
|
||||
|
||||
**Issues Found:**
|
||||
[List specific requirements that fail criteria with details]
|
||||
|
||||
**Severity:** [PASS / CONCERNS / FAIL]
|
||||
```
|
||||
|
||||
### 5. Append to Report and Proceed
|
||||
|
||||
Append findings to `{validationReportPath}`.
|
||||
|
||||
Display: "**Per-Requirement Quality:** [PASS/CONCERNS/FAIL] - [X] requirements checked, [Y] issues found. Proceeding to requirement attributes check..."
|
||||
|
||||
Read fully and follow: `{nextStepFile}`
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Quality checklist loaded and applied
|
||||
✅ Requirements extracted and counted
|
||||
✅ Representative or full sample validated against 9 criteria
|
||||
✅ Quality summary table generated
|
||||
✅ Specific issues identified with requirement references
|
||||
✅ Findings appended to validation report
|
||||
✅ Auto-proceeded to next step
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not loading the quality checklist
|
||||
❌ Validating document-level quality instead of per-requirement
|
||||
❌ Not reporting specific failing requirements
|
||||
❌ Skipping criteria in the check
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
---
|
||||
name: 'step-v-06c-requirement-attributes'
|
||||
description: 'Requirement Attributes Validation - Verify each requirement has required attributes (ID, priority, source, V&V method)'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-07-implementation-leakage-validation.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
---
|
||||
|
||||
# Step 6c: Requirement Attributes Completeness Validation (Enterprise Track)
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Verify that each requirement has the required attributes: unique ID, priority (MoSCoW), source reference, rationale, verification method, and risk level. This is primarily an Enterprise track check.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus ONLY on requirement attribute completeness
|
||||
- 🎯 This step is MANDATORY for Enterprise track, SKIP for other tracks
|
||||
- 🚪 This is a validation sequence step - auto-proceeds when complete
|
||||
|
||||
### Track-Aware Execution:
|
||||
|
||||
**Check the PRD frontmatter for `track` value:**
|
||||
- If `track: 'enterprise'` → Run full attribute validation
|
||||
- If `track: 'bmad'` or not set → Skip this step entirely, proceed to next step
|
||||
- Log decision in report
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Extract all requirements and check for required attributes
|
||||
- 💾 Append findings to validation report
|
||||
- 📖 Display "Proceeding to next check..." and load next step
|
||||
|
||||
## VALIDATION SEQUENCE:
|
||||
|
||||
### 1. Track Check
|
||||
|
||||
If not Enterprise track:
|
||||
- Append to report: "**Requirement Attributes:** SKIPPED (not Enterprise track)"
|
||||
- Proceed to {nextStepFile}
|
||||
|
||||
### 2. Extract and Check Attributes (Enterprise Only)
|
||||
|
||||
For each FR and NFR, verify presence of:
|
||||
|
||||
**Required Attributes:**
|
||||
- [ ] **Unique ID**: Follows consistent pattern (FR-[AREA]-###, NFR-[AREA]-###)
|
||||
- [ ] **Priority**: Must / Should / Could / Won't (MoSCoW)
|
||||
- [ ] **Source**: StRS reference or stakeholder name
|
||||
- [ ] **Rationale**: Why this requirement exists
|
||||
- [ ] **Verification Method**: Test / Analysis / Demonstration / Inspection
|
||||
- [ ] **Risk**: High / Medium / Low
|
||||
|
||||
### 3. Generate Findings
|
||||
|
||||
```markdown
|
||||
### Requirement Attributes Completeness
|
||||
|
||||
**Requirements Checked:** [count]
|
||||
|
||||
**Attribute Coverage:**
|
||||
| Attribute | Present | Missing | Coverage % |
|
||||
|-----------|---------|---------|------------|
|
||||
| Unique ID | | | |
|
||||
| Priority (MoSCoW) | | | |
|
||||
| Source Reference | | | |
|
||||
| Rationale | | | |
|
||||
| Verification Method | | | |
|
||||
| Risk Level | | | |
|
||||
|
||||
**Missing Attributes:**
|
||||
[List specific requirements with missing attributes]
|
||||
|
||||
**Severity:** [PASS / CONCERNS / FAIL]
|
||||
```
|
||||
|
||||
### 4. Append to Report and Proceed
|
||||
|
||||
Append findings to `{validationReportPath}`.
|
||||
|
||||
Display: "**Requirement Attributes:** [PASS/CONCERNS/FAIL] - [X]% attribute coverage. Proceeding to implementation leakage check..."
|
||||
|
||||
Read fully and follow: `{nextStepFile}`
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Track correctly detected and appropriate action taken
|
||||
✅ All requirements checked for attribute completeness
|
||||
✅ Coverage percentages calculated per attribute type
|
||||
✅ Missing attributes identified with specific requirements
|
||||
✅ Findings appended to validation report
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Running Enterprise validation on non-Enterprise track
|
||||
❌ Not identifying specific requirements with missing attributes
|
||||
❌ Not calculating coverage percentages
|
||||
|
|
@ -3,7 +3,7 @@ name: 'step-v-12-completeness-validation'
|
|||
description: 'Completeness Check - Final comprehensive completeness check before report generation'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-13-report-complete.md'
|
||||
nextStepFile: './step-v-12b-verification-coverage.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
prdFrontmatter: '{prd_frontmatter}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
---
|
||||
name: 'step-v-12b-verification-coverage'
|
||||
description: 'Verification Coverage Validation - Check that all requirements have assigned verification methods'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-12c-interface-coverage.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
---
|
||||
|
||||
# Step 12b: Verification Coverage Validation (Enterprise Track)
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate that all requirements have assigned verification methods and that the verification approach section is complete.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
- 🚪 This is a validation sequence step - auto-proceeds when complete
|
||||
|
||||
### Track-Aware Execution:
|
||||
|
||||
- If `track: 'enterprise'` → Run full verification coverage check
|
||||
- If `track: 'bmad'` or not set → Check if verification section exists, basic review only
|
||||
- Log decision in report
|
||||
|
||||
## VALIDATION SEQUENCE:
|
||||
|
||||
### 1. Check Verification Section Exists
|
||||
|
||||
Look for "## Verification Approaches" or similar section in the PRD.
|
||||
|
||||
**If Enterprise track:**
|
||||
- Section MUST exist → FAIL if missing
|
||||
- Every requirement category must have a verification method assigned
|
||||
- Verification dependencies must be documented
|
||||
|
||||
**If BMad track:**
|
||||
- Section is OPTIONAL → Note if missing but don't fail
|
||||
- If present, do a basic quality check
|
||||
|
||||
### 2. Verify Coverage (Enterprise)
|
||||
|
||||
For each requirement category (FRs, NFRs, Interfaces, Constraints):
|
||||
- Is a primary verification method assigned?
|
||||
- Is the method appropriate for the requirement type?
|
||||
- Are verification dependencies identified?
|
||||
|
||||
### 3. Generate Findings
|
||||
|
||||
```markdown
|
||||
### Verification Coverage Validation
|
||||
|
||||
**Verification Section:** [Present / Missing]
|
||||
|
||||
**Coverage by Category:**
|
||||
| Requirement Category | V&V Method Assigned | Appropriate | Notes |
|
||||
|---------------------|-------------------|-------------|-------|
|
||||
| Functional | [Yes/No] | [Yes/No] | |
|
||||
| Performance NFRs | [Yes/No] | [Yes/No] | |
|
||||
| Security NFRs | [Yes/No] | [Yes/No] | |
|
||||
| Interface | [Yes/No] | [Yes/No] | |
|
||||
| Constraints | [Yes/No] | [Yes/No] | |
|
||||
|
||||
**Verification Dependencies:** [Documented / Not documented]
|
||||
|
||||
**Severity:** [PASS / CONCERNS / FAIL]
|
||||
```
|
||||
|
||||
### 4. Append to Report and Proceed
|
||||
|
||||
Append findings to `{validationReportPath}`.
|
||||
|
||||
Display: "**Verification Coverage:** [PASS/CONCERNS/FAIL]. Proceeding to interface coverage check..."
|
||||
|
||||
Read fully and follow: `{nextStepFile}`
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Verification section existence checked
|
||||
✅ Track-appropriate depth of validation
|
||||
✅ All requirement categories checked for V&V assignment
|
||||
✅ Verification method appropriateness validated
|
||||
✅ Dependencies identified
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not checking verification section for Enterprise track
|
||||
❌ Not validating method appropriateness
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
---
|
||||
name: 'step-v-12c-interface-coverage'
|
||||
description: 'Interface Coverage Validation - Check that external interface requirements are complete'
|
||||
|
||||
# File references (ONLY variables used in this step)
|
||||
nextStepFile: './step-v-13-report-complete.md'
|
||||
prdFile: '{prd_file_path}'
|
||||
validationReportPath: '{validation_report_path}'
|
||||
---
|
||||
|
||||
# Step 12c: Interface Coverage Validation (Enterprise Track)
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate that external interface requirements are complete and cover all integration points mentioned in the PRD.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
- 🚪 This is a validation sequence step - auto-proceeds when complete
|
||||
|
||||
### Track-Aware Execution:
|
||||
|
||||
- If `track: 'enterprise'` → Run full interface coverage check
|
||||
- If `track: 'bmad'` or not set → Check if interface section exists, note for awareness
|
||||
- Log decision in report
|
||||
|
||||
## VALIDATION SEQUENCE:
|
||||
|
||||
### 1. Check Interface Section Exists
|
||||
|
||||
Look for "## External Interface Requirements" or similar section in the PRD.
|
||||
|
||||
### 2. Cross-Reference Analysis (Enterprise)
|
||||
|
||||
Scan the entire PRD for mentions of:
|
||||
- External systems, APIs, services
|
||||
- User interface platforms (web, mobile, CLI)
|
||||
- Hardware devices or sensors
|
||||
- Communication protocols
|
||||
- Third-party integrations
|
||||
|
||||
Compare these mentions against what's documented in the Interface Requirements section.
|
||||
|
||||
### 3. Generate Findings
|
||||
|
||||
```markdown
|
||||
### Interface Coverage Validation
|
||||
|
||||
**Interface Section:** [Present / Missing]
|
||||
|
||||
**Interface Category Coverage:**
|
||||
| Category | Section Present | Completeness | Notes |
|
||||
|----------|---------------|-------------|-------|
|
||||
| User Interfaces | [Yes/No/N/A] | [Complete/Partial/Missing] | |
|
||||
| Hardware Interfaces | [Yes/No/N/A] | [Complete/Partial/Missing] | |
|
||||
| Software Interfaces | [Yes/No/N/A] | [Complete/Partial/Missing] | |
|
||||
| Communication Interfaces | [Yes/No/N/A] | [Complete/Partial/Missing] | |
|
||||
|
||||
**Cross-Reference Issues:**
|
||||
[List any integrations mentioned in PRD but not documented in interface section]
|
||||
|
||||
**Severity:** [PASS / CONCERNS / FAIL]
|
||||
```
|
||||
|
||||
### 4. Append to Report and Proceed
|
||||
|
||||
Append findings to `{validationReportPath}`.
|
||||
|
||||
Display: "**Interface Coverage:** [PASS/CONCERNS/FAIL]. Proceeding to final report..."
|
||||
|
||||
Read fully and follow: `{nextStepFile}`
|
||||
|
||||
## SUCCESS METRICS:
|
||||
|
||||
✅ Interface section existence checked
|
||||
✅ Cross-reference analysis performed
|
||||
✅ Missing interfaces identified
|
||||
✅ Track-appropriate validation depth
|
||||
|
||||
## FAILURE MODES:
|
||||
|
||||
❌ Not cross-referencing integrations mentioned elsewhere in PRD
|
||||
❌ Not checking all four interface categories
|
||||
Loading…
Reference in New Issue