Press <ESC> for overview
and again <ESC> to go back


Use arrow-keys or swipe to navigate

by Ulf Schneider 

User Stories are about Users

Real Life Users, like

  • Cashier
  • Shopper
  • Store Admin

Writing User Stories

The User Story Syntax

As a <user>
I want a <function>
So that I can do <value>

User Centric

The thing is called User Story, because the user is being put into focus.


A story written in a way “As a user I want to be able to change the database system” does not make sense. Is the user a shopper? A retailer? A cashier? The shop admin? To explain who will use the function provides the context to do the story right.


A technical story without any user taking notice needs to have a parent story which is noticeable by a user.

Make it short

The written text is short. It tells what, not how.


The important part about a User Story is the conversation between Dev team, QA and the Product Owner.


A User Story is not a specification. Of course, during the conversation you can add more info, if you need, but the starting point is crisp.

Answer Why

Answer why the User Story should be implemented.

Tell more about the context!


Where does the value come from?


If you are not able to answer the question, you probably haven´t unerstood enough about the motivation for the story or the Story is not needed at all.


The ideal User Story fulfills the INVEST criterias









to be ranked independent

a token for a conversation

the Why-question is answered

know if it´s small, medium, huge

to be delivered within a Sprint

validate if the Story is really done




Does the User Story describe a workflow?

Thin slice through workflow

I can publish an essay to the corporate website and

  • have an approval by editor and legal (just pressing approval/reject button).
  • allow to comment the approval/rejection.

Beginning and end first,
work to middle

I can publish an essay to the corporate website.

  • I can publish an essay directly to the corporate website.
  • I can publish an essay with editor review.
  • I can publish an essay with legal review.


Does the User Story contain operations like Create, Read, Update, Delete?


Slice into C, R, U and D parts

I can manage my account.

  • I can sign up for an account.
  • I can edit and modify my account settings.
  • I can cancel my account.

Simple / Complex

Can you split the story in a simple core and complex enhancements?


Simple core first, enhancements later

I can search for flights between two destinations.

  • I can specify a max number of stops.
  • I can include nearby airports.
  • Ican use flexible dates.


Does the story do the same thing with different kinds of data?


One kind of data first, enhance with other kinds later

I can create essays

  • in English.
  • in Japanese.
  • in Arabic.

Data entry

Can you achieve the same output with different kinds of data entry methods?


Simple data entry first, enrichment later (special case of simple/complex)

I can search for flights between two destinations

  • by using simple date input.
  • with a fancy calendar UI.


Does the story get max of its complexity from non-functional requirements like performance?


Do functionality first, later optimize for non-functional requirements

I can search for flights between two destinations.

  • Slow, just get it done, show a “searching” animation.
  • In under 3 seconds.


Does the story process the same kind of data over different interfaces?


Split the story into handling the data over one interface first, enhance later with other interfaces

Sell articles.

  • Via Mobile POS.
  • Via Stationary POS.
  • Via Web Shop.

Break out a Spike

Last resort.


Still not clear how to split the story?

As a user, I can pay by credit card.

  • Investigate credit card processing.
  • Implement credit card processing (as one or more stories).

Back to