|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- ---
- # File references (ONLY variables used in this step)
- nextStepFile: './step-v-06-traceability-validation.md'
- prdFile: '{prd_file_path}'
- validationReportPath: '{validation_report_path}'
- ---
-
- # Step 5: Measurability Validation
-
- ## STEP GOAL:
-
- Validate that all Functional Requirements (FRs) and Non-Functional Requirements (NFRs) are measurable, testable, and follow proper format without implementation details.
-
- ## 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
- - ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
- - ✅ We engage in systematic validation, not collaborative dialogue
- - ✅ You bring analytical rigor and requirements engineering expertise
- - ✅ This step runs autonomously - no user input needed
-
- ### Step-Specific Rules:
-
- - 🎯 Focus ONLY on FR and NFR measurability
- - 🚫 FORBIDDEN to validate other aspects in this step
- - 💬 Approach: Systematic requirement-by-requirement analysis
- - 🚪 This is a validation sequence step - auto-proceeds when complete
-
- ## EXECUTION PROTOCOLS:
-
- - 🎯 Extract all FRs and NFRs from PRD
- - 💾 Validate each for measurability and format
- - 📖 Append findings to validation report
- - 📖 Display "Proceeding to next check..." and load next step
- - 🚫 FORBIDDEN to pause or request user input
-
- ## CONTEXT BOUNDARIES:
-
- - Available context: PRD file, validation report
- - Focus: FR and NFR measurability only
- - Limits: Don't validate other aspects, don't pause for user input
- - Dependencies: Steps 2-4 completed - initial validation checks done
-
- ## MANDATORY SEQUENCE
-
- **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
-
- ### 1. Attempt Sub-Process Validation
-
- **Try to use Task tool to spawn a subprocess:**
-
- "Perform measurability validation on this PRD:
-
- **Functional Requirements (FRs):**
- 1. Extract all FRs from Functional Requirements section
- 2. Check each FR for:
- - '[Actor] can [capability]' format compliance
- - No subjective adjectives (easy, fast, simple, intuitive, etc.)
- - No vague quantifiers (multiple, several, some, many, etc.)
- - No implementation details (technology names, library names, data structures unless capability-relevant)
- 3. Document violations with line numbers
-
- **Non-Functional Requirements (NFRs):**
- 1. Extract all NFRs from Non-Functional Requirements section
- 2. Check each NFR for:
- - Specific metrics with measurement methods
- - Template compliance (criterion, metric, measurement method, context)
- - Context included (why this matters, who it affects)
- 3. Document violations with line numbers
-
- Return structured findings with violation counts and examples."
-
- ### 2. Graceful Degradation (if Task tool unavailable)
-
- If Task tool unavailable, perform analysis directly:
-
- **Functional Requirements Analysis:**
-
- Extract all FRs and check each for:
-
- **Format compliance:**
- - Does it follow "[Actor] can [capability]" pattern?
- - Is actor clearly defined?
- - Is capability actionable and testable?
-
- **No subjective adjectives:**
- - Scan for: easy, fast, simple, intuitive, user-friendly, responsive, quick, efficient (without metrics)
- - Note line numbers
-
- **No vague quantifiers:**
- - Scan for: multiple, several, some, many, few, various, number of
- - Note line numbers
-
- **No implementation details:**
- - Scan for: React, Vue, Angular, PostgreSQL, MongoDB, AWS, Docker, Kubernetes, Redux, etc.
- - Unless capability-relevant (e.g., "API consumers can access...")
- - Note line numbers
-
- **Non-Functional Requirements Analysis:**
-
- Extract all NFRs and check each for:
-
- **Specific metrics:**
- - Is there a measurable criterion? (e.g., "response time < 200ms", not "fast response")
- - Can this be measured or tested?
-
- **Template compliance:**
- - Criterion defined?
- - Metric specified?
- - Measurement method included?
- - Context provided?
-
- ### 3. Tally Violations
-
- **FR Violations:**
- - Format violations: count
- - Subjective adjectives: count
- - Vague quantifiers: count
- - Implementation leakage: count
- - Total FR violations: sum
-
- **NFR Violations:**
- - Missing metrics: count
- - Incomplete template: count
- - Missing context: count
- - Total NFR violations: sum
-
- **Total violations:** FR violations + NFR violations
-
- ### 4. Report Measurability Findings to Validation Report
-
- Append to validation report:
-
- ```markdown
- ## Measurability Validation
-
- ### Functional Requirements
-
- **Total FRs Analyzed:** {count}
-
- **Format Violations:** {count}
- [If violations exist, list examples with line numbers]
-
- **Subjective Adjectives Found:** {count}
- [If found, list examples with line numbers]
-
- **Vague Quantifiers Found:** {count}
- [If found, list examples with line numbers]
-
- **Implementation Leakage:** {count}
- [If found, list examples with line numbers]
-
- **FR Violations Total:** {total}
-
- ### Non-Functional Requirements
-
- **Total NFRs Analyzed:** {count}
-
- **Missing Metrics:** {count}
- [If missing, list examples with line numbers]
-
- **Incomplete Template:** {count}
- [If incomplete, list examples with line numbers]
-
- **Missing Context:** {count}
- [If missing, list examples with line numbers]
-
- **NFR Violations Total:** {total}
-
- ### Overall Assessment
-
- **Total Requirements:** {FRs + NFRs}
- **Total Violations:** {FR violations + NFR violations}
-
- **Severity:** [Critical if >10 violations, Warning if 5-10, Pass if <5]
-
- **Recommendation:**
- [If Critical] "Many requirements are not measurable or testable. Requirements must be revised to be testable for downstream work."
- [If Warning] "Some requirements need refinement for measurability. Focus on violating requirements above."
- [If Pass] "Requirements demonstrate good measurability with minimal issues."
- ```
-
- ### 5. Display Progress and Auto-Proceed
-
- Display: "**Measurability Validation Complete**
-
- Total Violations: {count} ({severity})
-
- **Proceeding to next validation check...**"
-
- Without delay, read fully and follow: {nextStepFile} (step-v-06-traceability-validation.md)
-
- ---
-
- ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
-
- ### ✅ SUCCESS:
-
- - All FRs extracted and analyzed for measurability
- - All NFRs extracted and analyzed for measurability
- - Violations documented with line numbers
- - Severity assessed correctly
- - Findings reported to validation report
- - Auto-proceeds to next validation step
- - Subprocess attempted with graceful degradation
-
- ### ❌ SYSTEM FAILURE:
-
- - Not analyzing all FRs and NFRs
- - Missing line numbers for violations
- - Not reporting findings to validation report
- - Not assessing severity
- - Not auto-proceeding
-
- **Master Rule:** Requirements must be testable to be useful. Validate every requirement for measurability, document violations, auto-proceed.
|