User Story Training

Writing Great User Stories for Agile Teams

User Stories 3 Cs INVEST Acceptance Criteria S.P.I.D.R. CRUD
MickyMarvels LLC · Practical Agile Mentoring · mickymarvels.info
What's Inside
1
What Is a User Story?
2
User Story Format
3
Why Do We Use User Stories?
4
The 3 Cs & INVEST
5
Who, What, Why = Value
6
User Role Modeling
7
Writing a GREAT User Story
8
Acceptance Criteria
9
Story Hierarchy & CRUD
10
Splitting Stories — S.P.I.D.R.
1

What Is a User Story?

A tool and technique for capturing software features

Definition

A User Story is a tool/technique used in Agile software development to capture a description of a software feature from the end user's perspective. It is more than just documentation — it is a trigger for conversation between the Product Owner and the Development Team.

A User Story Describes
  • The type of user who needs the feature
  • What the user wants to accomplish
  • Why the user wants it — the value or benefit
💡 More Than Documentation

A user story creates a simplified description of a software requirement that starts a conversation between the Product Owner and the Development Team — and sometimes the Stakeholders. The conversation is where the real detail lives, not the card.

2

User Story Format

The three-part sentence that drives everything

The Format
User Story Formula
  • As a <specified type of user>,
  • I want (or I need) <to perform a specific action>,
  • So that I can <accomplish a specific goal>.
Sample User Story
Example

As a logged in user, I need to be able to update my contact information, so that your organization can successfully contact me.

💡 A user story is written as a single sentence. If it takes multiple sentences to describe, the story may be too large and should be split into smaller stories.

3

Why Do We Use User Stories?

Agile vs Waterfall documentation

Waterfall vs Agile Documentation
Waterfall Works When…Agile Works Best When…
What we know far exceeds what we don't knowWhat we DON'T know far exceeds what we know
Processes are well established and well definedProcesses are not well established or defined — or non-existent!
Everyone already has the needed domain knowledgeWe are seeking continuous improvement of our processes
We are NOT trying to learn through validated experimentationNo one has ALL the needed domain knowledge
We are actively trying to learn through validated experimentation
4

The 3 Cs & INVEST

How to use user stories effectively

The 3 Cs of User Stories
C

Card

A user story should be small — small enough to fit onto a single index card. Keep it concise and focused.

C

Conversation

A user story is a pointer to a conversation needed between the Product Owner and the developers. The card starts the discussion.

C

Confirmation

A user story is testable — it is independently confirmable. The acceptance criteria provide this confirmation.

INVEST in Your User Stories
IIndependentOf all the other stories — can be developed without depending on another unfinished story
NNegotiableNot an immutable contract — the details and approach can evolve through conversation
VValuableDelivers clear value to the intended user — not just technical work
EEstimableCapable of being sized — the team has enough information to estimate it
SSmallSmall enough to complete in a single Sprint — if not, split it
TTestableIndependently verifiable — has clear acceptance criteria that can be confirmed
5

Who + What + Why = Value

The formula behind every great user story

Breaking Down the Formula
PartWhat It MeansExample
Who…The user having the problem or needAs a registered user,
What…The action the user needs to takeI need to reset my password,
Why…The value or goal they want to achieveSo that I can regain access to my account.

🎯 Who + What + Why = Value!

Bringing It All Together
Complete User Story

"As a registered user, I need to reset my password, so that I can regain access to my account in your software."

6

User Role Modeling

Defining the 'Who' before you write stories

User Role Modeling — Personas

Before writing the "who," make a list of every type of user that will interact with the software. You will likely only need to do this once — then reference these personas in all future stories.

👑
Super Administrator

Full system access — manages other administrators and all top-level settings across the platform.

🔑
Administrator

Elevated access — manages users, content, and operational settings within their defined scope.

👤
Registered / Profiled User

Authenticated user with a profile — can access personalized features and saved preferences.

🌐
Guest / Non-Profiled User

Anonymous visitor — limited access, no saved state. Often the target for onboarding stories.

7

Writing a GREAT User Story

Step by step from a real customer problem

The Scenario — You Get an Email…
Step by Step — Writing the Story
StepWhat to DoResult
1. Start with WhoStart with the user having the problemAs a registered user,
2. Continue with WhatDefine the problem in terms of the action the user needs to takeI need to reset my password,
3. Finish with WhyDefine the goal or desired outcomeSo that I can regain access to my account.
Bringing It All Together

"As a registered user, I need to reset my password, so that I can regain access to my account in your software."

✏️Exercise

Write Your Own User Story

  • Using the email above, write a user story that addresses the customer's need
  • Use the Who / What / Why formula
  • Keep it as a single sentence
8

Acceptance Criteria

Turning questions into testable conditions

What Are Acceptance Criteria?

Acceptance Criteria are all of the things that need to be true for the story to be considered complete. They are listed as bullet points under the user story and answer all the questions the story doesn't spell out.

Questions the Story Raises
Those Questions Become Acceptance Criteria
Story
  • As a registered user, I need to reset my password, so that I can regain access to my account.
9

Story Hierarchy & CRUD

From epics down to tasks — and the CRUD shortcut

Story Hierarchy
Epics Features Stories Tasks
MickyMarvels Recommends

Use this hierarchy: Epic › Feature › Story › Task. Bigger stories are broken down until they are actionable. The acceptance criteria of the parent story (the feature) can become independent, but related, child stories!

CRUD — The Pro Tip

Whenever you see the word "manage" in an epic, that's almost always 4 stories: Create · Read · Update · Delete.

Epic
  • As a super administrator, I need to be able to manage administrator accounts, so that I can ensure only authorized employees have administrator access to the system.
1

As a super administrator, I need to be able to create administrator accounts, so that I can ensure only authorized employees have administrator access.

2

As a super administrator, I need to be able to read (view) administrator accounts, so that I can ensure only authorized employees have administrator access.

3

As a super administrator, I need to be able to update administrator accounts, so that I can ensure only authorized employees have administrator access.

4

As a super administrator, I need to be able to delete administrator accounts, so that I can ensure only authorized employees have administrator access.

10

Splitting Stories — S.P.I.D.R.

Five proven ways to break up large stories

When Stories Are Too Big

When stories are simply too big to complete in a Sprint, Product Owners need to split them up. Use S.P.I.D.R. as your guide for how to split them effectively.

S
Spikes
Time-boxed research to validate a hypothesis or Proof of Concept — must result in a deliverable
P
Paths
Map the user journey as a flowchart — each path can become its own story
I
Interfaces
Split stories that cross multiple user interfaces — one story per interface
D
Data
Split by data type — valid vs invalid data, US zip vs CA postal code
R
Rules
One story per business rule or set of rules when complexity is high
25Minutes

🍕 The Pizza Exercise — The Danger of the Stub!

  • Exercise 1: Write a user story → "Order the pizza!"
  • Exercise 2: Add toppings: Pepperoni · Mushrooms · Green Peppers · Sausage
  • Exercise 3: Add constraints: 6 guests · enough for everyone · 12-inch pizzas (serves 2) · one guest is vegetarian
  • Exercise 4: Did we forget anything?
User Story Summary
Everything You Need to Remember
  • 3Cs = Card, Conversation, Confirmation
  • INVEST = Independent, Negotiable, Valuable, Estimable, Small, Testable
  • Formula = Who (As a…) + What (I want/need…) + Why (So that…)
  • Acceptance Criteria = specific, testable conditions listed under the story
  • Hierarchy = Epic › Feature › Story › Task
  • CRUD = "Manage" always means Create · Read · Update · Delete
  • S.P.I.D.R. = how to split stories that are too large
MickyMarvels LLC

Practical Agile Mentoring · mickymarvels.info · +1 (213) 440-2770