| name | requirements-specification |
| version | 2.0.0 |
| description | Master requirements gathering, user story writing, acceptance criteria definition, and scope management. Transform insights into clear, actionable specifications. |
| sasmp_version | 1.3.0 |
| bonded_agent | 03-requirements-definition |
| bond_type | PRIMARY_BOND |
| parameters | [object Object], [object Object] |
| retry_logic | [object Object] |
| logging | [object Object] |
Requirements & Specification Skill
Transform customer insights into clear, detailed specifications that engineering can build from. Master user story writing, define acceptance criteria, and manage scope ruthlessly.
User Story Writing (INVEST Format)
INVEST Principles
I - Independent (minimal dependencies) N - Negotiable (details can be discussed) V - Valuable (delivers customer value) E - Estimable (team can estimate effort) S - Small (can complete in 1-2 sprints) T - Testable (clear success criteria)
User Story Template
As a [user role]
I want [action/capability]
So that [benefit/outcome]
Acceptance Criteria:
Given [context]
When [user action]
Then [expected result]
Good vs Bad Examples
Bad Story:
As a user
I want a better dashboard
So that I can see my data
Problem: Too vague, not testable, too large
Good Story:
As a project manager
I want to see all tasks assigned to me in the last 24 hours
So that I can track what happened while I was offline
Acceptance Criteria:
Given I'm logged in
When I view the Home dashboard
Then I see a "Recent Tasks" section
And it shows tasks assigned to me from last 24 hours
And tasks are sorted by assignment time (newest first)
And clicking a task opens the task detail page
Acceptance Criteria (BDD Format)
Scenario Template
Scenario: [Specific user action]
Given [initial context/state]
When [user performs action]
Then [expected result]
And [additional verification]
Example: Password Reset Feature
Scenario: User resets password with valid email
Given I'm on the login page
And I'm not logged in
When I click "Forgot Password?"
And enter my email address
And click "Send Reset Email"
Then I see message "Check your email for reset link"
And a password reset email is sent to that address
And the email contains a valid reset link
Scenario: User uses expired reset link
Given I received a password reset email
And the reset link is more than 24 hours old
When I click the reset link
Then I see "Link has expired"
And I'm offered to request a new reset link
Scenario: Password doesn't meet requirements
Given I'm on password reset page
When I enter password "123"
Then I see error "Password must be 8+ characters"
And the form doesn't submit
Requirements Document Structure
Executive Summary (1 page)
- Overview of feature/product
- Business goal/context
- Key benefits
- Timeline
- Success metrics
Requirements Overview (5-10 pages)
Functional Requirements
- What the system must do
- Features and capabilities
- User interactions
- Data handling
Non-Functional Requirements
- Performance (response time < 2s)
- Scalability (support 10K concurrent users)
- Security (encrypt PII)
- Availability (99.9% uptime)
- Accessibility (WCAG AA compliance)
Business Requirements
- Why we're building this
- Business metrics
- Customer need
- Competitive advantage
Constraints
- Technical constraints
- Budget constraints
- Timeline constraints
- Resource constraints
User Stories & Epics (20-50 pages)
Structure:
- Epic: Large initiative grouping related stories
- User Stories: Individual features (10-20 stories per epic)
- Tasks: Engineering breakdown (if needed)
Each Story Includes:
- Story ID and title
- As a... I want... so that...
- Acceptance criteria (3-8 scenarios)
- Story points estimate
- Dependencies
- Design reference (wireframe/mockup)
- Note/clarifications
Use Cases & Flows (10-20 pages)
Use Case Template:
Use Case: [Use Case Name]
Primary Actor: [User role]
Precondition: [State before action]
Main Flow:
1. User does X
2. System responds with Y
3. User does Z
4. System returns result
Alternative Flows:
3a. If data invalid
- System shows error
- User corrects and resubmits
Data Models (10 pages)
Entity Relationship Diagram
- Entities (User, Post, Comment)
- Relationships (User creates Posts)
- Attributes (Post title, content, creation_date)
- Primary keys, foreign keys
UI/Wireframes (Attached)
- User interface mockups
- User flows and navigation
- Key interactions
Scope Management
MVP vs Nice-to-Have
MoSCoW Method:
MUST Have (Non-negotiable)
- Core functionality
- Without these: product won't work
- Must launch with these
- Example: User login, basic content view
SHOULD Have (Important but not critical)
- Enhance user experience
- Value add
- If time allows
- Example: Advanced search, saved preferences
COULD Have (Nice-to-have)
- Polish features
- Low priority
- Do if extra time/budget
- Example: Dark mode, animations
WON'T Have (Explicitly out of scope)
- Clear for future
- Helps say "no" to stakeholders
- Plan for later version
- Example: Mobile app (launching web first)
Scope Creep Prevention
Red Flags:
- "Can we just add...?"
- "This would be better if..."
- "What about also including..."
- "One more thing..."
Responses:
- "That's a great idea. Let's add it to the roadmap for Q2."
- "That would add 3 weeks. What would you deprioritize?"
- "That's outside current scope. Document for next phase."
Change Management
Change Request Process:
- Document the change
- Assess impact (time, complexity)
- Present trade-offs
- Get stakeholder decision
- Update requirements document
- Communicate to team
Common Pitfalls
Too Vague
❌ "Improve performance" ✅ "Reduce page load time from 4s to under 2s"
No Success Criteria
❌ "Build dashboard" ✅ "Build dashboard showing active users in last 24h with 95% accuracy"
Missing Context
❌ "Fix the bug" ✅ "When searching with special characters, results show error. Fix to handle special chars."
Over-Specifying
❌ "Use Redux with saga middleware for state management" ✅ "State changes must be traceable and debuggable"
Ambiguous Acceptance Criteria
❌ "System should be fast" ✅ "API response time < 200ms for 95th percentile"
Requirements Review Checklist
- ✓ Each requirement is testable
- ✓ No requirement specifies implementation
- ✓ Dependencies identified and documented
- ✓ Acceptance criteria clear and complete
- ✓ Engineering has estimated effort
- ✓ Design mockups provided
- ✓ Data models documented
- ✓ Edge cases considered
- ✓ Scope clearly defined (MVP vs future)
- ✓ Success metrics identified
- ✓ Timeline realistic
- ✓ Reviewed by engineering lead
- ✓ Reviewed by design lead
- ✓ Stakeholder aligned
Troubleshooting
Yaygın Hatalar & Çözümler
| Hata | Olası Sebep | Çözüm |
|---|---|---|
| Story çok büyük | Epic olarak yazıldı | Story breakdown |
| AC belirsiz | Vague criteria | Given/When/Then format |
| Scope creep | Change mgmt yok | Change request process |
| Missing edge cases | Happy path focus | Edge case workshop |
Debug Checklist
[ ] Her story INVEST criteria geçiyor mu?
[ ] Acceptance criteria testable mı?
[ ] Non-functional requirements tanımlı mı?
[ ] Dependencies documented mı?
[ ] Engineering review yapıldı mı?
Recovery Procedures
- Ambiguous Requirements → Clarification meeting
- Scope Creep → Trade-off matrix
- Missing Feasibility → Engineering spike
Write clear requirements and avoid 90% of project problems!