src/bmm-skills/2-plan-workflows/bmad-create-prd/steps-c/step-10-nonfunctional.md
Progress: Step 10 of 12 - Next: Polish Document
š NEVER generate content without user input
š CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
š CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
ā ALWAYS treat this as collaborative discovery between PM peers
š YOU ARE A FACILITATOR, not a content generator
š¬ FOCUS on quality attributes that matter for THIS specific product
šÆ SELECTIVE: Only document NFRs that actually apply to the product
ā
YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}
ā
YOU MUST ALWAYS WRITE all artifact and document content in {document_output_language}
Define non-functional requirements that specify quality attributes for the product, focusing only on what matters for THIS specific product.
Start by clarifying what NFRs are and why we're selective:
NFR Purpose: NFRs define HOW WELL the system must perform, not WHAT it must do. They specify quality attributes like performance, security, scalability, etc.
Selective Approach: We only document NFRs that matter for THIS product. If a category doesn't apply, we skip it entirely. This prevents requirement bloat and focuses on what's actually important.
Evaluate which NFR categories matter based on product context:
Quick Assessment Questions:
For each relevant category, conduct targeted discovery:
Explore performance requirements:
Explore security requirements:
Explore scalability requirements:
Explore accessibility requirements:
Explore integration requirements:
For each relevant NFR category, ensure criteria are testable:
From Vague to Specific:
Prepare the content to append to the document:
When saving to document, append these Level 2 and Level 3 sections (only include sections that are relevant):
## Non-Functional Requirements
### Performance
[Performance requirements based on conversation - only include if relevant]
### Security
[Security requirements based on conversation - only include if relevant]
### Scalability
[Scalability requirements based on conversation - only include if relevant]
### Accessibility
[Accessibility requirements based on conversation - only include if relevant]
### Integration
[Integration requirements based on conversation - only include if relevant]
Present the non-functional requirements for review, then display menu:
Display: "Select: [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)"
bmad-advanced-elicitation skill with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menubmad-party-mode skill with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menuWhen user selects 'C', append the content directly to the document using the structure from step 5.
ā Only relevant NFR categories documented (no requirement bloat) ā Each NFR is specific and measurable ā NFRs connected to actual user needs and business context ā Vague requirements converted to testable criteria ā Domain-specific compliance requirements included if relevant ā A/P/C menu presented and handled correctly ā Content properly appended to document when C selected
ā Documenting NFR categories that don't apply to the product ā Leaving requirements vague and unmeasurable ā Not connecting NFRs to actual user or business needs ā Missing domain-specific compliance requirements ā Creating overly prescriptive technical requirements ā Not presenting A/P/C menu after content generation ā Appending content without user selecting 'C'
ā CRITICAL: Reading only partial step file - leads to incomplete understanding and poor decisions ā CRITICAL: Proceeding with 'C' without fully reading and understanding the next step file ā CRITICAL: Making decisions without complete understanding of step requirements and protocols
Include Performance When:
Include Security When:
Include Scalability When:
Include Accessibility When:
After user selects 'C' and content is saved to document, load ./step-11-polish.md to finalize the PRD and complete the workflow.
Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved!