User Stories

Ola Busari
3 min readApr 7, 2020

--

User stories are an integral tool in the agile methodology. They are a representation of the customer need and are expressed as a small, concise statement of a feature needed to deliver value. User Stories facilitate interaction and can be used as a basis for discussion.

As a new product owner, I wrote poor user stories. Poorly written user stories can put a project at risk. These errors have helped understand what a user story should not look like. They include:

  1. Putting requirements after the ‘So that..’ section instead of the value to be derived from the story.
  2. Writing user stories with technical requirements e.g. A story that begins with ‘As a developer..’ is technical and can be written in clear English.
  3. Writing user stories with too many details, almost describing the ‘how’. This inhibits developers’ creativity.

A good user story should follow the 3C’s — Card, Conversation, and Confirmation.

  • Card: The title and format are two parts of a user story. A title should succinctly summarize what the card is about: for example “Access for cash withdrawal”. There is no mandatory structure for user stories; however the most popular formats capture the ‘who’, ‘what’ and ‘why’ of a requirement.

Example format 1

“As a <role>, I need to <feature> so that <goal or value>.”

As a current bank account holder, I need to access my account, so that I can withdraw cash.

Example format 2

“In order to <business value>, as a <role>, I need to <behavior>.”

In order to withdraw cash from my account, as a current bank account holder, I need access to my account.

  • Conversation: The purpose of User Stories is to stimulate communication between the product team. The user story intentionally does not capture all there is to know about the customer need. A well-written user story invokes conversation among the team.
  • Confirmation: To confirm the delivered item satisfies the need expressed in the user story, an acceptance criteria is required. Acceptance criteria define the boundaries of a user story and help the product owner verify and validate the solution met the intended user need.

The INVEST criteria is a commonly used construct for ensuring quality in user stories. It calls for user stories to be:

  • (I) Independent: represents a feature which can be delivered independent of other features. It is advisable that user stories that are dependent on another should not be added to the same iteration.
  • (N) Negotiable: the team can negotiate how to deliver.
  • (V) Valuable: expresses the value to the customer. Example: “Card PIN entry” allows only the correct person to access the account.
  • (E) Estimable: team can estimate effort to deliver based on past experience.
  • (S) Sized Appropriately: can the card be completed in one iteration? In general, the smaller the better.
  • (T) Testable: can be validated objectively.

With user stories, more practice makes you better. In my next blog post, I will be writing about Job Stories.

Job stories

--

--