Bij agile ontwikkeling is het belangrijk om snel en flexibel te reageren op veranderende behoeften van klanten en stakeholders. Een veel gebruikt hulpmiddel hierbij is de "user story". In dit artikel leg ik je uit wat een user story is en waarom je dit gebruikt. Ik geef je ook een template, voorbeelden en de stappen om zelf user stories te maken.
Wat is een user story?
Een user story is een eenvoudige en compacte beschrijving van een behoefte van een gebruiker (user) in de vorm van een kort verhaaltje (story). Het vertelt in één zin wat de gebruiker wil bereiken en waarom dat belangrijk is.
Goed om te weten is dat "gebruikers” niet altijd externe eindgebruikers of klanten hoeven te zijn. Het kunnen ook interne klanten zijn of collega’s binnen jouw organisatie die afhankelijk zijn van jouw team.
Een voorbeeld van een user story kan zijn:
“Als een manager wil ik een dashboard hebben waarop ik de prestaties van mijn team kan zien, zodat ik de voortgang van projecten kan monitoren en bijsturen indien nodig.”
User stories worden toegepast bij het ontwikkelen van producten of software binnen Agile raamwerken, waaronder Scrum. Een user story dient vaak als input voor het plannen van sprints en het identificeren van taken voor het team. Doel van een user story is transparantie te creëren van de productbacklog. Het helpt om de focus te leggen op de behoefte van gebruikers en om een gemeenschappelijk begrip te creëren tussen de Product owner, Developers en andere stakeholders.
Hoewel user stories oorspronkelijk zijn ontwikkeld als een techniek binnen de agile softwareontwikkeling, kunnen de concepten en principes achter user stories ook worden toegepast in andere domeinen dan softwareontwikkeling. Verderop in dit artikel lees je hier meer over.
User story template
Een template voor user stories kan helpen om consistentie en duidelijkheid te creëren bij het schrijven van user stories. Een veelgebruikte template voor user stories is het volgende:
"Als een [rol/gebruiker], wil ik [actie/eigenschap], zodat [reden/voordeel]."
Hierbij staat de gebruiker centraal en wordt er beschreven wat de persoon wil doen en waarom. Door deze template te gebruiken, wordt het eenvoudiger om te focussen op de behoeften van de gebruiker en wordt het gemakkelijker om de user stories te begrijpen en te prioriteren.
Voorbeelden van user stories
Hieronder vind je 5 uiteenlopende voorbeelden van goede user stories.
1. “Als een student wil ik feedback ontvangen op mijn huiswerkopdrachten, zodat ik mijn prestaties kan verbeteren en mijn cijfers kan verhogen.”
2. “Als een softwareontwikkelaar wil ik toegang hebben tot de documentatie van de API, zodat ik mijn code kan schrijven op basis van de juiste specificaties.”
3. “Als een marketingmedewerker wil ik rapportages kunnen genereren van de websitebezoekers, zodat ik de effectiviteit van marketingcampagnes kan meten en verbeteren.”
4. “Als een forens wil ik real-time updates ontvangen over het openbaar vervoer, zodat ik op tijd op mijn bestemming aankom en mijn reistijd kan optimaliseren.”
5. “Als een online shopper wil ik de mogelijkheid hebben om producten te vergelijken, zodat ik de beste keuze kan maken en geld kan besparen.”
Zoals je kunt zien is in al deze voorbeelden duidelijk beschreven om wie het gaat, wat de behoefte is en waarom dit waardevol is voor de gebruiker.
Eigenschappen van een goede user story.
INVEST is een acroniem dat staat voor 6 eigenschappen waar een goede user story aan moet voldoen. De oorsprong hiervan is te vinden in een artikel uit 2003 van Bill Wake. Gebruik deze INVEST-checklist bij het schrijven van effectieve user stories die gemakkelijk te begrijpen, te ontwikkelen en te testen zijn.
- Independent (Onafhankelijk): Elke user story moet onafhankelijk zijn van andere stories, zodat ze afzonderlijk kunnen worden ontwikkeld en getest.
- Negotiable (Onderhandelbaar): Een user story is een reminder om een gesprek te hebben en moet flexibel genoeg zijn om te worden aangepast of gewijzigd tijdens de ontwikkeling.
- Valuable (Waardevol): Een user story moet waarde toevoegen aan de eindgebruiker, klant of de organisatie.
- Estimable (Schatbaar): Een user story moet schatbaar zijn zodat de ontwikkelaars kunnen inschatten hoeveel werk er nodig is om het te voltooien en de sprintbacklog te ordenen.
- Small (Klein): Een user story moet klein genoeg zijn om binnen één ontwikkelingscyclus of sprint te worden voltooid.
- Testable (Testbaar): Een user story moet testbaar zijn om te bepalen of deze correct is geïmplementeerd en voldoet aan de acceptatiecriteria.
De 3 C’s van user stories
Eigenlijk kun je een user story ook beschouwen als iets groters dan slechts een template om de behoefte van een gebruiker te formuleren. Ron Jeffries, mede-oprichter van het agile softwareontwikkelingsproces Extreme Programming (XP), beschrijft in dit artikel uit 2001 het concept van de 3 C's van user stories:
- Card (kaart),
- Conversation (gesprek)
- Confirmation (bevestiging)
De kaart verwijst naar de fysieke kaart of notitie die wordt gebruikt om de user story te schrijven en te visualiseren. Het gesprek refereert aan de discussies die moeten plaatsvinden tussen de ontwikkelaars, de Product owner en eventueel de eindgebruiker om de details van de user story te verduidelijken en te verfijnen. De bevestiging verwijst naar de functionele criteria waaraan moet worden voldaan om te bepalen of de user story volledig is afgerond en aan de verwachtingen voldoet.
Door deze drie elementen te combineren, kunnen de teamleden een gemeenschappelijk begrip ontwikkelen van de user story en zorgen dat deze aan de eisen van de stakeholders voldoet.
User stories zijn niet alleen voor softwareontwikkeling
User stories werden oorspronkelijk ontwikkeld als een techniek binnen de agile softwareontwikkeling om de eisen en functionaliteiten van een softwaretoepassing te specificeren. Maar tegenwoordig worden de concepten en principes achter user stories ook toegepast in andere domeinen dan softwareontwikkeling.
Ook in andere projecten waar de behoeften van de gebruiker centraal staan, kunnen user stories gebruikt worden. Denk dan bijvoorbeeld aan de ontwikkeling van fysieke producten, of het ontwerpen van een klantenservice proces.
Belangrijk is dat de basisprincipes van het begrijpen van de behoeften en het definiëren van specifieke functionaliteiten worden gehandhaafd.
Verschil user story en use case
Naast user stories worden er ook use cases gebruikt om functionele vereisten te beschrijven voor softwareontwikkeling. Maar wat is het verschil? Ze hebben allebei een iets andere focus en structuur.
Eerder heb ik uitgelegd dat een user story is een eenvoudige beschrijving is van een behoefte van een gebruiker, met focus op het creëren van waarde. Een use case is een meer gedetailleerde technische beschrijving van een interactie tussen de gebruiker en de software en richt zich op systeemontwerp. Het beschrijft de verschillende stappen en acties die nodig zijn om een bepaald doel te bereiken, aangevuld met de voorwaarden en alternatieve scenario's die kunnen optreden tijdens deze interactie.
Waarom werken met user stories?
Het werken met user stories biedt verschillende voordelen voor agile ontwikkelingsprocessen.
Communicatie verbeteren
Ten eerste verbeteren user stories de communicatie tussen teamleden en stakeholders, omdat ze een transparant beeld geven van de functionaliteiten die moeten worden ontwikkeld en de vereisten waaraan ze moeten voldoen. Hierdoor begrijpen ontwikkelaars beter wat er moet gebeuren en worden eventuele misverstanden vermeden.
Efficiëntie en productiviteit verhogen
Ten tweede leidt het werken met user stories tot een verhoogde efficiëntie en productiviteit, omdat er duidelijke richtlijnen zijn voor wat er moet worden ontwikkeld en waarom. Het team kan zich richten op het ontwikkelen van de functionaliteiten die de meeste waarde (ROI) bieden aan de eindgebruiker, en zo vermijden dat ze tijd besteden aan minder belangrijke taken.
Klantwaarde verhogen
Ten derde leidt het werken met user stories tot meer waarde voor de klant, omdat de functionaliteiten die worden ontwikkeld gericht zijn op de behoeften van de eindgebruiker. User stories helpen de ontwikkelaars bij het begrijpen van de behoeften van de eindgebruiker, en zorgen ervoor dat er oplossingen worden ontwikkeld die voldoen aan deze behoeften.
Ontwikkelingskosten verminderen
Ten slotte kunnen user stories de ontwikkelingskosten verminderen, omdat ze het team helpen zich te concentreren op de belangrijkste functionaliteiten, waardoor de kosten voor het ontwikkelen van functies die niet waardevol zijn voor de eindgebruiker worden vermeden.
Stappen voor het maken van een user story.
Om een goede user story schrijven die de behoeften van de eindgebruiker goed weerspiegelt, doorloop je de volgende stappen:
- Identificeer de eindgebruiker: creëer een persona die de belangrijkste kenmerken van de eindgebruiker beschrijft, zoals behoeften, frustraties en doelen.
- Bepaal het doel van de user story: bepaal wat je wilt bereiken met de user story en wat het eindresultaat moet zijn.
- Schrijf de user story: zorg dat de user story specifiek genoeg is, zodat de ontwikkelaars precies begrijpen wat er nodig is. Houd de user story klein genoeg zodat deze in één sprint kan worden voltooid.
- Test de user story: Leg de user story voor aan de eindgebruiker en verzamel feedback om te kijken of de story aansluit bij de behoeften van de eindgebruiker.
- Stel de user story bij: pas de user story aan op basis van feedback van de eindgebruiker en zorg dat deze klaar is om op te nemen in de aankomende sprint.
Wat is een user story niet?
Er bestaan helaas ook verschillende misvattingen over user stories. Lees verder om te ontdekken wat een user story vooral NIET is:
- Een user story is geen gedetailleerde specificatie of ontwerp. Het is een beknopte beschrijving van wat de eindgebruiker nodig heeft.
- Een user story is geen opdracht of takenlijst voor de ontwikkelaar. Het is een middel om de behoeften van de eindgebruiker te begrijpen en te communiceren.
- Een user story is geen garantie dat er geen fouten in het opgeleverde werk zitten. Het is een hulpmiddel om te zorgen dat de ontwikkelaars de eindgebruikers begrijpen en het project op de juiste manier uitvoeren.
- Een user story is geen statisch document. Het is een levendig onderdeel van het agile ontwikkelingsproces dat kan worden aangepast en bijgewerkt naarmate het project vordert.
- Een user story is geen officieel onderdeel van het Scrum-framework. Maar het wordt wel vaak gebruikt in combinatie met Scrum. Omdat Scrum gericht is op het opleveren van werkende software die waarde toevoegt voor de klant, is de user story een nuttig hulpmiddel om de focus te leggen op wat de eindgebruiker nodig heeft en waardeert.
Door deze misvattingen te begrijpen, kun je ervoor zorgen dat de user stories effectief worden gebruikt in het ontwikkelingsproces en dat de verwachtingen van de user stories realistisch blijven.
Conclusie
In dit artikel heb je kunnen lezen dat een user story een eenvoudige beschrijving is van een behoefte van een gebruiker, in de vorm van een kort verhaaltje in één zin. Het vertelt wat de gebruiker wil bereiken en waarom het belangrijk is.
User stories worden gebruikt bij het ontwikkelen van producten of software binnen agile raamwerken. Het doel is transparantie te creëren van de productbacklog. Ze helpen om de focus te leggen op de behoefte van gebruikers en om een gemeenschappelijk begrip te creëren over wat er ontwikkeld moet worden. Concepten en principes achter user stories kunnen ook worden toegepast in andere domeinen dan softwareontwikkeling.
Het werken met user stories biedt verschillende voordelen, zoals het verbeteren van communicatie, het verhogen van de efficiëntie en het verminderen van ontwikkelingskosten.
Wil je hier meer over weten? In onze Scrum Master training en Scrum Product Owner training leer je in één dag hoe je Scrum in de praktijk kunt toepassen om projecten te laten slagen en sneller klantwaarde te leveren. Uiteraard wordt hierin ook aandacht besteed aan het gebruik van user stories.