7.6 KiB
| name | description | nextStepFile | outputFile | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|
| step-05-user-requirements | Define user requirements including user identification, profiles, and personnel requirements | ./step-06-operational-concept.md | {planning_artifacts}/strs-{{project_name}}.md | {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml | {project-root}/_bmad/core/workflows/party-mode/workflow.md |
Step 5: User Requirements
Progress: Step 5 of 8 - Next: Operational Concept & Scenarios
MANDATORY EXECUTION RULES (READ FIRST):
- 🛑 NEVER generate content without user input
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read
- ✅ ALWAYS treat this as collaborative discovery between expert peers
- 📋 YOU ARE A FACILITATOR, not a content generator
- 💬 FOCUS on who the users are and what they specifically need from the system
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating user requirements
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update output file frontmatter, adding this step name to the end of the list of stepsCompleted
- 🚫 FORBIDDEN to load next step until C is selected
CONTEXT BOUNDARIES:
- Stakeholder profiles from Step 2 are the foundation (especially User-category stakeholders)
- Product Brief user definitions should inform user profiles
- Focus on USER needs at a stakeholder level, not system features
- ISO 29148 Clause 7 Section 5: User Requirements
USER REQUIREMENTS SEQUENCE:
1. Explain User Requirements Purpose
Purpose: User requirements capture WHO will use the system and WHAT they need at a human level. These are distinct from functional requirements (which define system capabilities) - user requirements focus on the human side: skills, training, environment, and interaction expectations.
Sections to Cover:
- User Identification (types and categories of users)
- User Profiles (characteristics, skills, environment)
- Personnel Requirements (staffing, training, support)
2. User Identification
Identify all user types from stakeholder analysis and Product Brief:
Key Questions:
- "What distinct types of users will interact with the system?"
- "How do these user types differ in their goals and capabilities?"
- "Are there user types who interact only occasionally vs. daily?"
- "Are there administrative or support user types?"
- "Are there automated system users (APIs, integrations)?"
3. User Profile Development
For each user type, build a detailed profile:
Profile Elements:
- User Type Name: Clear, descriptive identifier
- Description: Who this user is and their role
- Technical Proficiency: Low / Medium / High
- Domain Expertise: Novice / Intermediate / Expert
- Usage Frequency: Daily / Weekly / Monthly / Occasional
- Usage Environment: Office / Mobile / Remote / Field / Varied
- Accessibility Needs: Any specific accessibility requirements
- Key Goals: Top 3-5 things this user wants to accomplish
- Frustrations: Current pain points with existing solutions
- Constraints: Limitations on how this user can interact
Key Questions per User Type:
- "What is a day in the life of this user?"
- "What tools do they currently use?"
- "What are their biggest frustrations with current approaches?"
- "How tech-savvy is this user type?"
- "What would make them consider the system a success?"
4. Personnel Requirements
Define staffing and training needs:
Key Questions:
- "Will users need training to use the system?"
- "What level of training is acceptable (self-service, tutorial, formal)?"
- "Are there specialized roles needed to operate the system?"
- "What support model is expected (self-service, help desk, on-call)?"
- "Are there regulatory requirements for user certification?"
5. User Interaction Requirements
Capture high-level interaction expectations:
Key Questions:
- "What devices will users primarily use?"
- "What are the connectivity expectations (always online, offline capable)?"
- "What languages must the system support?"
- "Are there cultural or regional considerations?"
- "What is the expected learning curve?"
6. Generate User Requirements Content
Prepare the content to append to the document:
Content Structure:
## 5. User Requirements
### 5.1 User Identification
| User Type | Description | Usage Frequency | Technical Proficiency |
|-----------|-------------|----------------|----------------------|
| [Type name] | [Brief description] | [Daily/Weekly/etc.] | [Low/Medium/High] |
### 5.2 User Profiles
#### UP-001: [User Type Name]
- **Description:** [Who this user is]
- **Technical Proficiency:** [Low / Medium / High]
- **Domain Expertise:** [Novice / Intermediate / Expert]
- **Usage Frequency:** [Daily / Weekly / Monthly / Occasional]
- **Usage Environment:** [Office / Mobile / Remote / Field]
- **Accessibility Needs:** [Specific requirements or "Standard"]
- **Key Goals:**
1. [Primary goal]
2. [Secondary goal]
3. [Tertiary goal]
- **Current Frustrations:** [Pain points with existing solutions]
- **Constraints:** [Limitations on interaction]
[Repeat for each user type]
### 5.3 Personnel Requirements
#### Training Requirements
[Training model, certification needs, learning curve expectations]
#### Support Model
[Support structure, escalation paths, response time expectations]
#### Staffing
[Specialized roles needed, team structure implications]
### 5.4 User Interaction Requirements
[Device expectations, connectivity, languages, cultural considerations]
7. Present MENU OPTIONS
Present the user requirements for review, then display menu:
- Show user profiles and requirements
- Highlight connections to stakeholder analysis from Step 2
- Ask if any user types are missing or profiles need adjustment
Display: "Select: [A] Advanced Elicitation [P] Party Mode [C] Continue to Operational Concept (Step 6 of 8)"
Menu Handling Logic:
- IF A: Read fully and follow: {advancedElicitationTask}, process enhanced insights, ask user acceptance, update or keep, redisplay
- IF P: Read fully and follow: {partyModeWorkflow}, process collaborative validation, ask user acceptance, update or keep, redisplay
- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile}
- IF Any other: help user respond, then redisplay menu
APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
SUCCESS METRICS:
✅ All user types identified and categorized ✅ Each user type has a detailed profile ✅ Profiles include goals, frustrations, constraints, and proficiency levels ✅ Personnel requirements (training, support, staffing) documented ✅ User interaction requirements captured ✅ Profiles connected to stakeholder analysis from Step 2 ✅ ISO 29148 Clause 7 Section 5 requirements addressed
FAILURE MODES:
❌ Missing user types (especially admin, support, API users) ❌ Generic profiles without specific goals and frustrations ❌ Not connecting to stakeholder profiles from Step 2 ❌ Skipping personnel requirements ❌ Not capturing accessibility needs
NEXT STEP:
After user selects 'C' and content is saved, load {nextStepFile} to define operational concept and scenarios.