Often it is believed that a perfect User Story is written like: “As a user X I want to do Y So I can achieve Z”. Some people also believe that this is all what needs to be written down for a development team to create the right results.

Therefore, it is not surprising that most development teams have a hard time estimating stories and that their velocity fluctuate.

Below some tips to improve your User Stories so you will get the functionality you want and your development team is able to create the right value:

1. Create a Short Name

Create a short name for each User Story, so you are able to recognise a story easily on the backlog and so you are able to have efficient communication about your story. 

2. Use the User Story Syntax

Use the User Story Syntax “As a user X I want to do Y so I can achieve Z, as the introduction to the description of the desired functionality. The User Story Syntax ensures that the to be developed functionality will be used by somebody and that it wil generate some value for this person.

  • Who your stakeholder will be : (user X)
  • What kind of functionality he wants to have (Y)
  • Why he wants to have it thus the added value (Z)

3. Add Additional context

Because the User Story Syntax just creates a high level understanding about the desired functionality it is a good practice to add additional context. For example some business context about the situation where the functionality is needed, or to create insight in the bigger picture. Really important to the business context is to write down who requested the functionality so you are able to contact this person again later on if needed.

4. Define Succes

Really important part of creating Perfect User Stories is to define the Success Factors. These Success Factors should be able to proof the implementation was a success and created the expected value. Examples of SuccessFactors for Perfect User Stories are:

  • Indication of the amount of time which will be saved
  • Increase in number of sales.
Succes

5. Add Acceptance Criteria

Add Acceptance criteria to the User Story. Acceptance Criteria will be the requirements which needs to be fulfilled in order to finish the release the functionality. The acceptance criteria can be used as input for creating test cases. And don’t forget the non functional acceptance criteria

6. Create Unique Identifiers

Create unique identifiers for your Acceptance criteria so you are able to reuse them if possible (for example for non functional acceptance criteria) this saves you a lot of work.

7. Identify data 

Identify which data is necessary for execution of the functionality. This ensures that your developers will know what kind of integrations are necessary to complete the story. This will also make you aware of possible privacy risks in an early stage.

8. Determine Impact

Define Impact

In a Perfect User Story is described which impact on other systems and business processes can be expected. For example which process needs to be changed, which  systems needs to be changed or needs to be integrated. 

9. Log decisions

Create an overview of architectural principles, design constraint and other decisions so you don’t have to redo all discussions over and over again.

10. Visualize 

Create a visualisation about how the solution should work this will help in discussion and understanding. Examples of methods to be used for visualisation are:

  • Use case diagrams –> perfect for visualising functionality with stakeholders and integrations
  • Activity or BPMN diagrams –> perfect for visualising flow on a business level or within a system.
  • Sequence diagrams, –>which are perfect for visualising integration between components.
Usecases & user stories
BPMN2.0 Userstories
sequencediagram&userstories

3 step approach for creating Perfect User Stories 

Creating a perfect User Story at once is not Agile and can be even a waste of time. Therefore Virtual BA uses a 3 step method to create Perfect User Stories:

 

Step 1: Identify User Stories and place them on the backlog with a short name, User Story Syntax(As I user X etc), a little bit of business context, the original requestor or source

Step 2: Detail. Have a session with the original requestor and add details to the business context, create acceptance criteria and define the succesfactors

Step 3: Determine Impact. Identify the impact and dependencies of the user story in relation to systems, components etc.

Need Help?

Ask Virtual BA

More on Agile Business Analyses

Hoe je je Epics Episch maakt

Een Epic is een user story die niet binnen één sprint te ontwikkelen is, is een vuistregel die veel projecten hanteren om Epics te identificeren. Als je het mij vraagt ben je dan eigenlijk net te laat en mis je heel veel aspecten van een Epic waarmee je effectief je...

Type Business Analyses

Type Business Analyses

3 Situaties die baat hebben bij een Business Analyse In dit artikel leg ik uit in welke situaties een Business Analyse toegevoegde waarde biedt en waarom.   Digitalisering van bedrijfsprocessen Integratie van verschillende systemen Introductie nieuw product of...

10 Tips voor de perfecte User Story

10 Tips voor de perfecte User Story

Als een gebruiker X wil ik zus en zo kunnen zodat ik dit en dat kan bereiken, is toch al bijna de perfecte User Story? Veel mensen denken dat een User Story alleen bestaat uit bovenstaande zinsconstructie. En dat gebruik van die zinsconstructie voldoende is om er voor...

De 5 meest voorkomende soorten automatisering

De 5 meest voorkomende soorten automatisering

Automatisering kan veel verschillende vormen aannemen, misschien is dat ook wel de reden dat er zo veel automatiseringsprojecten mislukken. Simpelweg omdat men elkaar niet begrijpt of omdat men denkt het over hetzelfde te hebben. Vaak gaat het over het automatiseren...

Het ideale SCRUM Team

Het ideale SCRUM Team

Het ideale SCRUM Team SCRUM is hot, maar of het nu een zegen of een vloek is, daar zijn de meningen over verdeeld. Een van de belangrijkste key succesfactoren is het SCRUM Team. De inrichting van het team bepaalt het succes van het project. Immers in SCRUM bepaalt het...