aiwg
Version:
Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.
688 lines (539 loc) • 22.6 kB
Markdown
# Requirements Analysis SOP - Example Flow Command
## Frontmatter Metadata
```yaml
type: flow-command
category: phase-transition
trigger: ["transition to elaboration", "start requirements analysis"]
complexity: medium
estimated_duration: 45-90 minutes
prerequisites:
- vision-document
- intake-form
- stakeholder-approval
outputs:
- use-cases
- nfr-modules
- requirements-traceability-matrix
related_agents:
- requirements-specialist
- technical-designer
- test-architect
metagpt_pattern: sequential
```
## Command Overview
**Purpose**: Expand approved vision into detailed, testable requirements documentation with use cases and non-functional requirement modules.
**When to Use**: After vision document is approved by stakeholders and project has passed inception phase gate.
**Expected Outcome**: Baselined requirements in `.aiwg/requirements/` directory, ready for architecture and design work.
## Standard Operating Procedure
### Prerequisites (Blocking)
**Artifact Prerequisites**:
- [ ] @.aiwg/intake/intake-form.md - Project context, scope, constraints
- [ ] @.aiwg/intake/vision-document.md - Approved business vision and goals
- [ ] @.aiwg/intake/stakeholder-requests.md - Initial stakeholder input
**State Prerequisites**:
- [ ] Inception phase gate approved
- [ ] Stakeholder sign-off obtained for vision document
- [ ] Project team assigned and notified
**Validation**: Before proceeding, verify all prerequisites exist and vision document has approval signature.
### Workflow Steps
**Step 1: Requirements Specialist - Requirements Elicitation**
**Input Artifacts**:
- @.aiwg/intake/vision-document.md
- @.aiwg/intake/intake-form.md (for constraints and scope)
- @.aiwg/intake/stakeholder-requests.md (for user needs)
**Action Sequence**:
1. Load and validate input artifacts:
- Check vision document has "Approved" status
- Verify product goals are clear (3-5 defined goals)
- Confirm target users/personas identified
2. Perform competitive analysis:
- Research 3-5 similar products/systems
- Document strengths, weaknesses, differentiators
- Generate competitive quadrant chart (if applicable)
3. Extract user stories from vision:
- Minimum 5 user stories in "As a [role], I want [feature], so that [benefit]" format
- Prioritize using MoSCoW method (Must, Should, Could, Won't)
- Link each story to product goals
4. Identify non-functional requirement categories:
- Review vision for performance, security, scalability needs
- List NFR categories requiring detailed modules
- Flag compliance/regulatory requirements
5. Generate Product Requirements Document (PRD) according to schema
**Output Artifact**:
- @.aiwg/requirements/product-requirements-document.md
- Schema: ProductRequirementsDocument (see Output Schema section)
**Available Tools**:
- Web search for competitive analysis
- Document templates from @agentic/code/frameworks/sdlc-complete/templates/requirements/
**Constraints**:
- MUST NOT specify technical implementation details (defer to Technical Designer)
- MUST include traceability to vision document
- MUST hand off to Use Case Analyst after PRD baseline
**Quality Gates** (must pass before proceeding):
- [ ] PRD follows ProductRequirementsDocument schema
- [ ] All required sections populated (no "TBD" markers)
- [ ] Traceability links to vision document valid
- [ ] Minimum 5 user stories documented
- [ ] At least 3 NFR categories identified
**Step 2: Requirements Specialist - Use Case Development**
**Subscription Trigger**: PRD from Step 1 validated and published
**Input Artifacts**:
- @.aiwg/requirements/product-requirements-document.md
- @.aiwg/intake/vision-document.md (for reference)
**Pre-Acceptance Validation**:
1. Verify Step 1 PRD quality gates passed
2. Check for blocking issues:
- [ ] User stories clearly defined
- [ ] Product goals linked to stories
- [ ] NFR categories identified
3. If validation fails:
- Publish issue to @.aiwg/working/requirements-issues.md
- Block use case development until resolved
**Action Sequence**:
1. Expand user stories into detailed use cases:
- Assign unique UC-### identifiers (UC-001, UC-002, etc.)
- Define primary actors and stakeholders
- Document preconditions, postconditions, triggers
2. For each use case, document:
- Main success scenario (numbered steps)
- Alternate flows (branching paths)
- Exception flows (error handling)
- Special requirements (NFRs specific to this UC)
3. Create use case briefs for simple scenarios
4. Create full use case specifications for complex scenarios
5. Establish traceability matrix linking:
- User stories → Use cases
- Use cases → Product goals
- Use cases → NFR categories
**Output Artifacts**:
- @.aiwg/requirements/use-cases/UC-###-[name].md (one per use case)
- @.aiwg/requirements/requirements-traceability-matrix.md
**Quality Gates**:
- [ ] Each use case has unique ID
- [ ] Main flow documented with numbered steps
- [ ] Preconditions and postconditions defined
- [ ] Traceability to user stories established
- [ ] Minimum 3 use cases created
**Step 3: Requirements Specialist - NFR Module Creation**
**Subscription Trigger**: Use cases from Step 2 baselined
**Input Artifacts**:
- @.aiwg/requirements/product-requirements-document.md
- @.aiwg/requirements/use-cases/*.md (all use cases)
**Action Sequence**:
1. For each NFR category identified in PRD:
- Create dedicated NFR module document
- Document specific requirements with measurable criteria
- Link to affected use cases
2. Common NFR categories:
- Security: Authentication, authorization, encryption, compliance
- Performance: Response times, throughput, scalability
- Reliability: Uptime, error rates, fault tolerance
- Usability: Accessibility, user experience standards
- Maintainability: Code standards, documentation requirements
3. Define acceptance criteria for each NFR:
- Measurable: "95% uptime" not "high availability"
- Testable: Specific test conditions
- Traceable: Links to use cases affected
4. Flag regulatory/compliance requirements requiring validation
**Output Artifacts**:
- @.aiwg/requirements/nfr-modules/security.md
- @.aiwg/requirements/nfr-modules/performance.md
- @.aiwg/requirements/nfr-modules/[category].md (one per NFR category)
**Quality Gates**:
- [ ] At least 3 NFR modules created
- [ ] All NFRs have measurable criteria
- [ ] Traceability to use cases established
- [ ] Compliance requirements flagged
**Step 4: Requirements Specialist - Requirements Baseline**
**Subscription Trigger**: All NFR modules from Step 3 completed
**Action Sequence**:
1. Aggregate all requirements artifacts
2. Validate completeness:
- PRD complete with no "anything_unclear" sections
- All user stories linked to use cases
- All use cases have NFRs identified
- Traceability matrix complete
3. Generate requirements summary report
4. Publish baseline to designated directory
5. Notify downstream agents (Technical Designer, Test Architect)
**Output**:
- Baseline manifest: @.aiwg/requirements/requirements-baseline-v1.md
- Notification to Technical Designer (subscribes to requirements baseline)
- Notification to Test Architect (subscribes to requirements baseline)
**Quality Gates**:
- [ ] All artifacts follow schemas
- [ ] Traceability complete (no broken @-mentions)
- [ ] Token efficiency within target (< 150 tokens/section)
- [ ] No blocking issues in working directory
### Exit Criteria (Gate Approval)
**Artifact Completeness**:
- [ ] PRD published and validated
- [ ] Minimum 3 use cases documented
- [ ] Minimum 3 NFR modules created
- [ ] Requirements traceability matrix complete
- [ ] Baseline manifest generated
**Quality Validation**:
- [ ] All outputs follow specified schemas
- [ ] No "TBD" or "anything_unclear" markers
- [ ] All @-mentions resolve to existing files
- [ ] Measurable acceptance criteria defined
**Handoff Readiness**:
- [ ] Technical Designer notified (subscribed to requirements/)
- [ ] Test Architect notified (subscribed to requirements/)
- [ ] Elaboration phase gate documentation updated
- [ ] Stakeholder review scheduled
## Output Schemas
### Schema: ProductRequirementsDocument
**Purpose**: Structured document capturing business requirements, competitive analysis, user needs, and NFR categories
**File Location**: @.aiwg/requirements/product-requirements-document.md
**Required Sections**:
```markdown
# Product Requirements Document (PRD)
## 1. Original Requirements
**Purpose**: Capture raw user input and vision statement
**Format**: Prose from vision document
**Validation Rules**:
- MUST link to @.aiwg/intake/vision-document.md
- MUST preserve original language (no interpretation yet)
**Example**:
"Build a web-based task management application for distributed teams..."
## 2. Product Goals
**Purpose**: Define 3-5 measurable business objectives
**Format**: List
**Validation Rules**:
- MUST have 3-5 goals (no more, no fewer)
- MUST be specific and measurable
- MUST NOT include technical implementation details
**Example**:
- Increase team productivity by 20% through better task visibility
- Reduce project communication overhead by centralizing updates
- Support teams up to 50 members with sub-5s response times
## 3. User Stories
**Purpose**: Capture user needs in testable format
**Format**: List in "As a [role], I want [feature], so that [benefit]" format
**Validation Rules**:
- MUST have minimum 5 user stories
- MUST follow standard format
- MUST link to product goals
- MUST prioritize using MoSCoW (Must/Should/Could/Won't)
**Example**:
- (Must) As a project manager, I want to create tasks, so that I can delegate work
- (Should) As a team member, I want to filter tasks by priority, so that I focus on what matters
## 4. Competitive Analysis
**Purpose**: Document competitor landscape and differentiators
**Format**: List of competitors with strengths/weaknesses
**Validation Rules**:
- MUST include 3-5 competitors
- MUST identify our differentiators
**Example**:
- Asana: Strong features but complex UI (Our advantage: simplicity)
- Trello: Simple but lacks advanced features (Our advantage: depth without complexity)
## 5. Requirement Analysis
**Purpose**: Synthesize requirements and identify gaps
**Format**: Prose analysis
**Validation Rules**:
- MUST identify requirement dependencies
- MUST flag ambiguities needing clarification
## 6. Requirement Pool
**Purpose**: Categorized list of all functional requirements
**Format**: Table with columns: Requirement | Priority | Category
**Validation Rules**:
- MUST include all functional requirements
- MUST assign P0 (critical) / P1 (high) / P2 (nice-to-have)
**Example**:
| Requirement | Priority | Category |
|-------------|----------|----------|
| User authentication | P0 | Security |
| Task creation | P0 | Core Feature |
| Email notifications | P1 | Integration |
## 7. Non-Functional Requirement Categories
**Purpose**: Identify NFR areas requiring detailed modules
**Format**: List of categories with brief justification
**Validation Rules**:
- MUST identify at least 3 NFR categories
- MUST justify why each is critical
**Example**:
- Security: Handles sensitive business data, requires authentication/authorization
- Performance: Real-time collaboration demands sub-5s response times
- Scalability: Must support teams up to 50 members
## 8. Anything Unclear
**Purpose**: Document open questions requiring stakeholder clarification
**Format**: List of questions
**Validation Rules**:
- MUST be empty before baseline approval
- Used during drafting to track gaps
**Example** (during drafting):
- Should we support single sign-on (SSO)?
- What is maximum attachment size for tasks?
## References
**Required @-mentions**:
- @.aiwg/intake/vision-document.md - Source vision
- @.aiwg/intake/intake-form.md - Project constraints
- @.aiwg/requirements/use-cases/*.md - Derived use cases (after Step 2)
```
**Quality Gates**:
- [ ] All 8 sections present
- [ ] "Anything Unclear" section is empty (all questions resolved)
- [ ] Minimum 5 user stories
- [ ] 3-5 product goals
- [ ] 3-5 competitors analyzed
- [ ] At least 3 NFR categories identified
### Schema: UseCaseSpecification
**Purpose**: Detailed interaction flow between actors and system
**File Location**: @.aiwg/requirements/use-cases/UC-###-[name].md
**Required Sections**:
```markdown
# UC-### - [Use Case Name]
## 1. Use-Case Identifier and Name
**Format**: UC-### followed by descriptive name
**Example**: UC-001 - User Login
## 2. Primary Actor(s)
**Format**: List of actors initiating this use case
**Example**:
- Registered User
- System Administrator (for admin login variant)
## 3. Preconditions
**Format**: List of conditions that must be true before execution
**Example**:
- User has valid account credentials
- System is online and accessible
- User is not already authenticated
## 4. Trigger
**Format**: Event that starts this use case
**Example**: User navigates to login page
## 5. Main Success Scenario
**Format**: Numbered steps showing primary path
**Validation**: Each step must reference an actor
**Example**:
1. User enters email address
2. User enters password
3. User clicks "Login" button
4. System validates credentials
5. System creates session token
6. System redirects user to dashboard
## 6. Alternate Flows
**Format**: Branching paths with conditions
**Example**:
- 3a. User clicks "Forgot Password" → Navigate to password reset flow
- 5a. Credentials invalid → Display error, allow retry (max 3 attempts)
## 7. Exception Flows
**Format**: Error handling and rollback procedures
**Example**:
- 4a. Database connection fails → Display "Service temporarily unavailable", log error
- 5a. Account locked (3 failed attempts) → Display lockout message, send unlock email
## 8. Postconditions
**Format**: Outcomes on successful completion
**Example**:
- User is authenticated with active session
- User session logged to audit trail
- Dashboard displays with user's tasks loaded
## 9. Special Requirements
**Format**: NFRs specific to this use case
**Validation**: MUST link to NFR modules
**Example**:
- @.aiwg/requirements/nfr-modules/security.md#password-encryption - Passwords must be hashed with bcrypt
- @.aiwg/requirements/nfr-modules/performance.md#login-response - Login must complete in < 2 seconds
## References
**Required @-mentions**:
- @.aiwg/requirements/product-requirements-document.md - Source user story
- @.aiwg/requirements/nfr-modules/*.md - Related NFRs
- @.aiwg/architecture/software-architecture-doc.md - Architecture (after design phase)
```
**Quality Gates**:
- [ ] Unique UC-### identifier
- [ ] Main success scenario has numbered steps
- [ ] At least 1 alternate flow documented
- [ ] Preconditions and postconditions defined
- [ ] Special requirements link to NFR modules
### Schema: NFRModule
**Purpose**: Detailed non-functional requirements for a specific category
**File Location**: @.aiwg/requirements/nfr-modules/[category].md
**Required Sections**:
```markdown
# NFR Module: [Category Name]
## 1. Category Overview
**Purpose**: Why this NFR category is critical
**Example**:
Security is critical because the application handles sensitive business data
and must comply with GDPR regulations.
## 2. Specific Requirements
### REQ-SEC-001: [Requirement Name]
**Description**: [Detailed requirement]
**Measurable Criteria**: [How to verify compliance]
**Affected Use Cases**: [List of UC-### impacted]
**Priority**: [P0 | P1 | P2]
**Example**:
### REQ-SEC-001: Password Encryption
**Description**: All user passwords must be encrypted using bcrypt with salt
**Measurable Criteria**:
- bcrypt algorithm with cost factor >= 10
- No plaintext passwords in database
- Salt unique per user
**Affected Use Cases**:
- UC-001 (User Login)
- UC-005 (Password Reset)
- UC-012 (Account Creation)
**Priority**: P0 (critical)
[Continue for each requirement in category]
## 3. Testing Strategy
**Format**: How these NFRs will be validated
**Example**:
- Unit tests: Verify password hashing implementation
- Integration tests: Confirm no plaintext in database
- Penetration testing: Attempt credential extraction
## 4. Compliance Notes
**Format**: Regulatory/standard requirements
**Example**:
- GDPR Article 32: "appropriate technical measures" for data security
- NIST 800-63B: Password storage guidelines
## References
**Required @-mentions**:
- @.aiwg/requirements/use-cases/*.md - Affected use cases
- @.aiwg/requirements/product-requirements-document.md - Source PRD
- @.aiwg/testing/test-strategy.md - Testing approach (after test planning)
```
**Quality Gates**:
- [ ] Category overview justifies criticality
- [ ] At least 3 specific requirements documented
- [ ] All requirements have measurable criteria
- [ ] Affected use cases identified
- [ ] Testing strategy defined
## Subscription Rules
### Requirements Specialist Subscription
**Activates When**:
- Receives artifact type: vision-document (approval status)
- From directory: @.aiwg/intake/vision-document.md
- Published by: Product Owner / Stakeholders
**Filters**:
- ONLY processes vision documents with "Approved" status
- IGNORES drafts or documents marked "In Review"
**Publishes**:
- Artifact types: ProductRequirementsDocument, UseCaseSpecification, NFRModule
- To directories:
- @.aiwg/requirements/product-requirements-document.md
- @.aiwg/requirements/use-cases/
- @.aiwg/requirements/nfr-modules/
- Notifies: Technical Designer, Test Architect
### Technical Designer Subscription
**Activates When**:
- Receives artifact type: requirements-baseline
- From directory: @.aiwg/requirements/
- Published by: Requirements Specialist
**Filters**:
- Requires complete baseline (PRD + use cases + NFR modules)
- Verifies traceability matrix exists
**Publishes** (downstream):
- Software Architecture Document
- Architecture Decision Records (ADRs)
### Test Architect Subscription
**Activates When**:
- Receives artifact types: UseCaseSpecification, NFRModule
- From directories: @.aiwg/requirements/use-cases/, @.aiwg/requirements/nfr-modules/
- Published by: Requirements Specialist
**Filters**:
- Focuses on acceptance criteria and testability
- Identifies use cases requiring detailed test plans
**Publishes** (downstream):
- Master Test Plan
- Test Case Specifications
## Handoff Checklist
Before marking this flow as complete, verify:
**Artifact Publication**:
- [ ] PRD in @.aiwg/requirements/product-requirements-document.md
- [ ] Use cases in @.aiwg/requirements/use-cases/ (minimum 3)
- [ ] NFR modules in @.aiwg/requirements/nfr-modules/ (minimum 3)
- [ ] Traceability matrix in @.aiwg/requirements/requirements-traceability-matrix.md
- [ ] No artifacts left in @.aiwg/working/ (cleanup done)
**Traceability Validation**:
- [ ] PRD → Use Cases links valid
- [ ] Use Cases → NFR Modules links valid
- [ ] Traceability matrix complete (no broken @-mentions)
- [ ] Vision document → PRD → Use Cases chain established
**Quality Assurance**:
- [ ] All artifacts follow schemas
- [ ] No "TBD" or "anything_unclear" markers
- [ ] Measurable acceptance criteria for all NFRs
- [ ] Minimum quality gates passed
**Downstream Notification**:
- [ ] Technical Designer subscribed to requirements baseline
- [ ] Test Architect subscribed to use cases and NFRs
- [ ] Phase gate documentation updated
- [ ] Stakeholder review scheduled
**Token Efficiency**:
- [ ] Average < 150 tokens per major section
- [ ] @-mentions used instead of content duplication
- [ ] Numbered steps used instead of verbose prose
## Post-Completion
After this flow completes successfully:
### 1. Workspace Health Check
Run: `/project-status` or ask "check workspace health"
Verifies:
- Requirements baseline properly published
- No stale drafts in .aiwg/working/
- Traceability links valid
### 2. Common Follow-up Actions
**Immediate Next Steps**:
- Schedule stakeholder review of requirements
- Transition to Elaboration phase (architecture and design)
- Invoke: "transition to elaboration" or `/flow-inception-to-elaboration`
**If issues found**:
- Refine unclear requirements with stakeholders
- Resolve traceability gaps
- Update baseline and notify subscribers
### 3. Expected Timeline
**Before Architecture Work**:
- Stakeholder review: 2-3 days
- Requirement refinements: 1-2 days
- Baseline approval: 1 day
**Total Elapsed**: ~1 week from requirements draft to approved baseline
## Usage Notes
**Token Efficiency in Practice**:
This example demonstrates efficiency patterns:
- **PRD Section 2 (Product Goals)**: List format = 15 tokens vs. prose = 40+ tokens
- **Use Case Main Flow**: Numbered steps = 8 tokens/step vs. paragraphs = 25+ tokens/step
- **NFR Requirements**: Structured template = 30 tokens vs. free-form = 80+ tokens
**Hallucination Prevention**:
Requirements Specialist constraints prevent:
- Technical implementation decisions (deferred to Technical Designer)
- Code/pseudocode in requirements (deferred to Developer)
- Test implementation details (deferred to Test Engineer)
**Quality Validation**:
Handoff validation ensures:
- Technical Designer receives complete, validated requirements
- Test Architect has testable acceptance criteria
- No ambiguity in downstream work
## Metrics Tracking
Track these metrics to validate effectiveness:
| Metric | Target | Rationale |
|--------|--------|-----------|
| Use Cases per PRD | 3-8 | Enough coverage, not overwhelming |
| NFR Modules | 3-5 | Core categories without over-specification |
| Token Efficiency | < 150 tokens/section | MetaGPT baseline |
| Human Corrections | < 1.5 per artifact | MetaGPT baseline |
| Traceability Coverage | 95%+ | All requirements linked |
| Rework Rate | < 10% | Requirements stable after baseline |
## References
- @.aiwg/research/docs/sop-encoding-guide.md - SOP encoding principles
- @docs/references/REF-013-metagpt-multi-agent-framework.md - MetaGPT research
- @agentic/code/frameworks/sdlc-complete/templates/requirements/use-case-spec-template.md - Use case template
- @agentic/code/frameworks/sdlc-complete/templates/requirements/vision-template.md - Vision document template
- @agentic/code/frameworks/sdlc-complete/agents/requirements-specialist.md - Agent definition
## Metadata
**Created**: 2026-01-25
**Last Updated**: 2026-01-25
**Pattern Source**: MetaGPT REF-013 (ICLR 2024)
**Issue**: #99 - MetaGPT SOP Templates
**Example Status**: Reference Implementation
**Template Version**: 1.0.0
**License**: CC-BY-4.0
**Part of**: AIWG SDLC Framework - Flow Patterns Collection