How to write User Stories

Tap on > to expand or collapse to view section content.

A user story represents a small piece of business value that a team can deliver in a sprint iteration. While traditional requirements (like use cases) try to be as detailed as possible, a user story is defined incrementally, in three stages:

  • The brief description of the need

  • The conversations that happen during backlog refinement and sprint planning to solidify the details

  • The tests that confirm the story's satisfactory completion

  • Keep yourself expressing business value

  • Avoid introducing detail too early that would prevent design options and inappropriately lock developers into one solution

  • Avoid the appearance of false completeness and clarity

  • Get to small enough chunks that invite negotiation and movement in the backlog

  • Leave the technical functions to the architect, developers, testers, and so on

When getting started with stories, a template can help ensure that you don't inadvertently start writing technical tasks:

As a <specific user (who)> I want to <do a thing (what)> so that <business value (why)>.

Examples:

  • As a consumer, I want shopping cart functionality to easily purchase items online.

  • As an executive, I want to generate a report to understand which departments need to improve their productivity.

Try to avoid the generic role of User when writing user stories. User stories are about all of the role who interact with the system or who realize some value or benefit from the system. Not all actors are end users. For example, a role could be another system or someone who wants certain functionality in order to buy your product but will never actually use the product. It may be useful to create aggregate roles (such as consumer) and specialized roles (such as browser or retail clerk).

A story should be small enough that it can be completed per the product Definition of Done within a sprint —ideally just a day. When a story is too large, it is called an epic. Backlog items tend to start as epics when they are lower priority. For release planning, epics should be broken down into smaller chunks, but not so small that you have moved into detailed design.

 

Reference Materials: 

User Story Template

Be sure to follow these guidelines when writing User Stories in Azure DevOps:

Title

  • Enter story title (an action)

Tags

  • If any such as release version

Description

As a <specific user> I want to <do a thing> so that <business value>.

Epic

  • If any

Effort

  • Story points

Iteration Path

  • Assign

Priority

  • 1,2,3,4

Value

  • If any

Related Links

  • If any

Acceptance Criteria

Given <criterion>, when <something happens> then <this outcome results>.

Conditions

  • Include any business rules

  • Include any design specifications

  • Include any content specifications

  • Include any technical specifications

  • Include any analytic specifications

Exceptions

  • if any

TIP: If User Story requires more than two or three Acceptance Criteria it may be too big, unless it can be done in a single sprint.