User Stories

Mike Cohn – (slides)

Software requirements are a communication problem; balance is critical.  If business side dominates, functionality and dates mandated with little regard for constraints.  If tech dominates, we make them speak technical jargon and we lose the business need, drivers.

We cannot perfectly predict a software schedule.

So…we make decisions based on the information we have, but do it often

We spread decision-making across the project, rather than making one set of decisions…


Stories are (Three C’s, Ron Jeffries)

  • Card (Note card) – Most visible part
  • Conversation – Promise from dev team to product owner: “We will come talk to you before we start”
  • Confirmation – Acceptance criteria

Short story about a system feature told from the perspective of a user.

As a …<user> I want to…<goal> so that…<reason>

Sometimes, you need more detail about a story.  You can:

  • Create new, smaller, more specific stories.
  • Define ‘conditions of satisfaction,’ which are really acceptance tests.  “What does the product owner need to see so that we can know this story is done?”  This basically becomes the ‘script’ for the Sprint review.

User Roles

Broaden scope from looking at one user

  • Allow users to vary by:
  • What they use the software for
  • Hwy they use software

This is different than a persona, where personas are about a specific user (based on research), designed to induce empathy in the design team.  User roles are more broad, describe types of users.

Can do user role brainstorming to identify different roles:

Thinking about your product, everyone writes a role on an index card.

  • Brainstorming, no judgement on what the roles are
  • Put related roles near each other
  • Combine, consolidate, remove

Advantages of using roles

Avoid saying “The user”.

Can also have system and programmer users.  “As a payment verification system, I want all transactions to be well-formed XML…”

Stories, Themes, Epics

User Story – Description of desired functionality told from user perspective
Theme – Collection of related user stories
Epic – Large User Story

Themes, Epics don’t really imply size…Themes aren’t necessarily bigger or small than Epics.  They’re just labels.