What makes an effective user story?

We've all heard the phrases INVEST and SPIDR (or maybe not, I didn't know about SPIDR until two weeks ago) but there are certain techniques that can make an effective user story. I don't want to focus too much on how to split user stories, but more so how I believe a well elaborated user story may look after working with various team members.

I have a set template (found here) that I tend to always use and seems to work well with my teams.

The scenario that we will talk through today will be a customer wanting to login to their portal using their mobile phone number.

House keeping table

  • Who are the various stakeholders?
  • What is the reference number? (JIRA)
This provides a context of who the collaborators of the story were/are and how we can navigate the land of JIRA.

User Story

  • Your usual format of "As a...I want...So that..."
  • Who is the user? (As a), 
  • What are we building? (I want)
  • What is the value (So that)
As a customer I want to provide my mobile number on the login page so that I can login using my mobile number

Mockups

  • Desktop mockups or wireframes
  • Responsive mockups or wireframes
  • This depends on the team, some teams can do this themselves others will need visual designs or wireframes depending on the process you are following

Overview

  • This provides a high level overview of the story, how the change will occur, a quick introduction to the solution and why are we doing this piece of work
  • Sometimes a process map may help here it just depends
Currently customers login to the portal by using a username and password, this story focuses on allowing the customer to enter their mobile number on the login page to validate their mobile exists in our system and continue to the next step in the login process.

Acceptance Criteria

  • This is the checklist of how the story is marked as complete and accepted
  • Using the BDD format - Given, When, Then
Given - I enter my mobile number on the login page
When - I enter a mobile number that returns a response of matched
Then - Continue to the next step in the login process

Technical Notes

  • It is sometimes important to provide some context to technical artefacts you have come across in your analysis such as a JSON request and response or end-point for example.