Skip to content

User Story Templates

FieldValue
TypeSkill Resource
Source~/.copilot/skills/product/references/user-stories-ac-templates.md
DescriptionNot specified

Source Content

User Story Templates

Standard templates, acceptance criteria patterns, and INVEST validation for user stories.


Table of Contents


Story Templates

Standard User Story Format

As a [persona],
I want to [action/capability],
So that [benefit/value].

Template by Story Type

Feature Story:

As a [persona],
I want to [perform action]
So that [I achieve benefit].
Example:
As a marketing manager,
I want to export campaign reports to PDF
So that I can share results with stakeholders who don't have system access.

Improvement Story:

As a [persona],
I need [capability/improvement]
To [achieve goal more effectively].
Example:
As a sales rep,
I need faster search results
To find customer records without interrupting calls.

Bug Fix Story:

As a [persona],
I expect [correct behavior]
When [specific condition].
Example:
As a user,
I expect my session to remain active
When navigating between dashboard tabs.

Integration Story:

As a [persona],
I want to [integrate/connect with system]
So that [workflow improvement].
Example:
As an admin,
I want to sync user data with our LDAP server
So that employees are automatically provisioned.

Enabler Story (Technical):

As a developer,
I need to [technical requirement]
To enable [user-facing capability].
Example:
As a developer,
I need to implement caching layer
To enable sub-second dashboard load times.

Persona Library

PersonaTypical NeedsContext
End UserEfficiency, simplicity, reliabilityDaily core feature usage
AdministratorControl, visibility, securitySystem management
Power UserAutomation, customization, shortcutsExpert workflows
New UserGuidance, learning, safetyOnboarding experience
ManagerReporting, oversight, delegationTeam coordination
External UserAccess, security, documentationCustomer/partner usage

Acceptance Criteria Patterns

Given-When-Then (Gherkin)

Preferred format for testable acceptance criteria:

Given [precondition/context],
When [action/trigger],
Then [expected outcome].

Examples:

Given the user is logged in with valid credentials,
When they click the "Export" button,
Then a PDF download starts within 2 seconds.
Given the user has entered invalid email format,
When they submit the registration form,
Then an inline error message displays "Please enter a valid email address."
Given the daily sync job has not run in 24 hours,
When the scheduler triggers at midnight,
Then all pending records are synchronized and logged.

Should/Must/Can Patterns

Should (Expected Behavior):

Should [behavior] when [condition].
Example:
Should display loading spinner when API call exceeds 500ms.

Must (Hard Requirement):

Must [requirement] to [achieve outcome].
Example:
Must encrypt all data at rest to meet compliance requirements.

Can (Capability):

Can [capability] without [negative outcome].
Example:
Can undo last action without losing other changes.

Acceptance Criteria Checklist

Each story should have acceptance criteria covering:

CategoryExample Criterion
Happy PathGiven valid input, When submitted, Then success message displayed
ValidationShould reject input when required field is empty
Error HandlingMust show user-friendly message when API fails
PerformanceShould complete operation within 2 seconds
AccessibilityMust be navigable via keyboard only
SecurityShould not expose sensitive data in URL parameters

Minimum Acceptance Criteria Count

Story Size (Points)Minimum AC Count
1-23-4
3-54-6
85-8
13+Split the story

INVEST Criteria

INVEST Validation Checklist

CriterionQuestionPass If…
IndependentCan this story be developed without depending on another story?No blocking dependencies on uncommitted work
NegotiableIs the implementation approach flexible?Multiple ways to deliver the value
ValuableDoes this deliver value to users or business?Clear benefit statement in “so that”
EstimableCan the team estimate this story?Understood well enough to size
SmallCan this be completed in one sprint?≤8 story points typically
TestableCan we verify this story is done?Clear, measurable acceptance criteria

INVEST Failure Patterns

CriterionRed FlagFix
Independent”After story X is done…”Combine stories or resequence
NegotiableSpecific implementation in storyFocus on outcome, not solution
ValuableNo “so that” clauseAdd benefit statement
EstimableTeam says “no idea”Spike first, then story
Small>8 pointsSplit into smaller stories
Testable”System should be better”Add measurable criteria

Story Splitting Techniques

When stories are too large (>8 points), split using:

TechniqueExample
By workflow step”Create order” → “Add items” + “Apply discount” + “Submit order”
By persona”User dashboard” → “Admin dashboard” + “Member dashboard”
By data type”Import data” → “Import CSV” + “Import Excel”
By operation”Manage users” → “Add user” + “Edit user” + “Delete user”
By platform”Mobile support” → “iOS support” + “Android support”
Happy path first”Full feature” → “Basic feature” + “Error handling” + “Edge cases”

Story Point Estimation

Fibonacci Scale Reference

PointsComplexityExample
1TrivialFix typo, change label
2SimpleAdd field, simple validation
3SmallNew form, basic CRUD operation
5MediumFeature with multiple components
8LargeComplex feature, multiple integrations
13Very LargeConsider splitting
21+EpicMust split

Estimation Factors

FactorLow ComplexityHigh Complexity
UnknownsWell understoodMany unknowns
DependenciesNoneMultiple systems
TestingSimple unit testsComplex integration tests
DataSimple structureComplex transformations
UIMinor changesNew components

Velocity Calculation

Velocity = Total points completed / Number of sprints
Example:
Sprint 1: 28 points
Sprint 2: 32 points
Sprint 3: 30 points
Average Velocity: (28 + 32 + 30) / 3 = 30 points/sprint
Sprint Capacity Planning:
- Committed: 80-90% of velocity (24-27 points)
- Stretch goals: 10-20% additional (3-6 points)

Common Antipatterns

Story Antipatterns

AntipatternExampleFix
Solution story”Implement React component""Display user profile information”
Compound story”Create, edit, and delete users”Split into three stories
Missing persona”The system will…""As an admin, I want to…”
No benefit”I want to see a button”Add “so that [benefit]“
Too vague”Improve performance""Reduce page load to <2 seconds”
Technical jargon”Implement Redis caching""Enable instant search results”

Acceptance Criteria Antipatterns

AntipatternExampleFix
Too vague”Works correctly”Specific Given-When-Then
Implementation details”Use PostgreSQL query”Focus on outcome
Missing unhappy pathOnly success scenarioAdd error cases
Untestable”User is happy”Measurable behavior
Too many15+ criteriaSplit the story

Sprint Planning Antipatterns

AntipatternImpactFix
100% capacityNo buffer for unknownsPlan 80-85%
All large storiesRisk of incomplete sprintMix sizes
No dependencies mappedBlocked workIdentify dependencies upfront
Stretch = overflowHiding overcommitmentStretch should be optional