User Story

User Story is een veel gebruikte term in softwareontwikkeling maar wat is het eigenlijk? Hier vind je een voorbeeld uit de praktijk en informatie over het gebruik ervan binnen Scrum.

Wat is een User Story?

Een User Story is een korte beschrijving van gebruikerswensen. Die beschrijving wordt opgesteld vanuit het perspectief van de gebruiker en bevat zowel de functionele wens als de reden daarachter. User Stories worden binnen Scrum gebruikt om de vereisten vast te leggen en vormen zo de leidraad voor de ontwikkeling.

De anatomie van een User Story

In de User Story wordt gefocust op het doel, niet zozeer op de wijze waarop dat doel bereikt wordt. Dat geeft het ontwikkelteam de mogelijkheid om een efficiënte oplossing voor de gebruikerswens te creëren. User Stories zijn eigenlijk altijd op dezefde manier opgebouwd. Het start met de essentie. Deze is op de volgende manier opgebouwd:

  • Als
  • Wil ik
  • Zodat ik

Om dit concreter te maken hierbij een voorbeeld van een US:

Als automonteur wil ik kunnen zien of een onderdeel op voorraad is zodat ik weet of ik aan een reparatie kan beginnen.

De User Story moet zo specifiek mogelijk zijn, zodat het ontwikkelteam zich kan focussen op een duidelijk doel. Na de essentie volgt vaak een bondige tekst waarin de context wordt beschreven en de vereiste functionaliteit wordt uitgelegd. Het eindigt met een opsomming van acceptatiecriteria aan de hand waarvan na de ontwikkeling getoetst kan worden of de eis daadwerkelijk is vervuld.

Het gebruik van User Stories binnen Scrum projecten

User Stories worden op het Product Backlog geplaatst. De Product Owner rangschikt de stories op prioriteit en laat zo aan het team zien wat er te gebeuren staat in de loop van het project. Voorafgaand aan de Sprint worden de belangrijkste geselecteerd. In de Planning Meeting worden de stories besproken met het ontwikkelteam. Per User Story geeft het team vervolgens een inschatting van de hoeveelheid werk die moet worden verricht.

Zodra de Sprint van start gaat zal het ontwikkelteam elke User Story uitsplitsen in taken. Bijvoorbeeld een taak voor copywriting, eentje voor dataopslag en een voor het interactief ontwerp. Aangezien deze zich richt op het doel en niet zozeer op de precieze manier waarop dat doel dient te worden bereikt, kan het ontwikkelteam met enige autonomiteit bepalen hoe ze dat doel behalen.

Na afloop van de Sprint geeft het team een demo van de oplossing die ze hebben ontwikkeld. Daarbij worden de acceptatiecriteria opnieuw doorlopen en getest. Wanneer aan alle criteria is voldaan dan kan de User Story als ‘af’ worden beschouwd.