Binnen de agile-softwareontwikkeling wordt vaak gebruik gemaakt van zogeheten user stories. Maar wat is een user story en wat kun je ermee bereiken? En hoe schrijf je een goede user story? Alles hierover vind je op deze pagina van VoorbeeldTekst.nl.
Inhoud
Wat is een user story?
In de wereld van softwareontwikkeling wordt er vaak gewerkt met de agile methode, waarbij projecten worden opgedeeld in kleine behapbare stukjes werk die iteratief worden uitgevoerd. Een van de belangrijkste instrumenten binnen agile ontwikkeling is de user story.
Definitie van een user story
Een user story is een korte en bondige beschrijving van een functionaliteit of feature vanuit het perspectief van de gebruiker. Het heeft als doel om te communiceren welke waarde het oplevert voor de gebruiker of klant. User stories zijn vaak geschreven in natuurlijke taal en volgen het format:
Als een [type gebruiker], wil ik [doel], zodat [waarde of reden].
Een concreet voorbeeld:
Als een gebruiker, wil ik me kunnen aanmelden op de website, zodat ik toegang heb tot mijn persoonlijke gegevens.
In een user story wordt vaak een bepaalde soort gebruiker vertegenwoordigd. Dit kan de gebruiker van een website of een systeem zijn, maar het beperkt zich niet alleen tot software. Toch is agile iets dat voornamelijk gebruikt wordt binnen de software-ontwikkeling.
Waarom zijn user stories belangrijk?
User stories helpen bij het definiëren en begrijpen van de behoeften van de gebruiker. Ze leggen de focus op wie er baat heeft bij een bepaalde functionaliteit en waarom. Door het gebruik van user stories kan het ontwikkelteam zich beter inleven in de gebruikerservaring. Zo kan men gerichter werken aan features die waarde toevoegen.
Een ander voordeel van user stories is dat ze flexibel zijn. Omdat ze kort en beknopt zijn, kunnen ze eenvoudig worden aangepast of uitgebreid naarmate het project vordert. Dit maakt het mogelijk om snel te reageren op veranderende behoeften of nieuwe inzichten.
Hoe worden user stories gebruikt?
User stories worden vaak ingezet als onderdeel van een product backlog, waarin alle gewenste functionaliteiten staan opgesomd. Het ontwikkelteam selecteert vervolgens tijdens elke iteratie welke user stories ze gaan oppakken.
Tijdens sprint planning sessies worden de geselecteerde user stories besproken en geschat qua complexiteit en benodigde inspanning. Op basis hiervan kan het team bepalen hoeveel user stories ze kunnen afronden binnen een sprint.
Daarnaast dienen user stories ook als basis voor het testen van de software. Door te kijken naar de functionaliteit die beschreven is in de user story, kan het testteam gerichte tests uitvoeren om te controleren of alles naar behoren werkt.
Verschil tussen user story en use case
User stories worden vaak verward met use cases. Hoewel beide concepten gericht zijn op het beschrijven van de interactie tussen gebruikers en software, zijn er toch enkele significante verschillen tussen een user story en een use case.
Een user story is een beknopte beschrijving van een functionaliteit of feature die waarde toevoegt voor de eindgebruiker. Het wordt meestal geschreven in gewone mensentaal, zonder technische details. Een user story is vaak kort, bondig en gemakkelijk te begrijpen. Het bevat vaak geen gedetailleerde technische specificaties of implementatie-informatie. In plaats daarvan concentreert het zich op het beschrijven van de behoefte of het doel dat moet worden bereikt.
Use case is een gedetailleerd scenario
Een use case is een gedetailleerd scenario dat beschrijft hoe een gebruiker met de software interageert om een specifiek doel te bereiken. Het bevat typisch de volgende elementen:
- Actoren: de verschillende soorten gebruikers die betrokken zijn bij het systeem.
- Trigger: de gebeurtenis die het gebruiksscenario start.
- Stappen: de opeenvolging van acties die de gebruiker onderneemt om het doel te bereiken.
- Resultaat: het verwachte resultaat van het gebruiksscenario.
Een use case biedt gedetailleerde informatie over hoe een specifieke functionaliteit werkt en welke stappen er moeten worden genomen om deze te bereiken. Het bevat vaak technische details en kan worden gebruikt als basis voor testgevallen en ontwikkeling.
Om het beste uit beide concepten te halen, kunnen user stories worden gebruikt in combinatie met use cases. User stories kunnen dienen als een overkoepelende beschrijving van de gebruikersbehoeften, terwijl use cases helpen om gedetailleerde stappen en interacties te definiëren.
Waar moet een goede user story aan voldoen?
Een goede user story beschrijft de waarde die schuilt achter het oplossen van een bepaald probleem. Ook kan het gaan over het verbeteren van een product. Belangrijk is dat een user story niet de uiteindelijke oplossing beschrijft. Binnen de agile-werkwijze is het namelijk niet aan de schrijver van de user story om de oplossing al naar voren te schuiven. Dit is aan de ontwikkelaars die met de user story gaan werken.
Een bekende afkorting die wordt gebruikt is INVEST. Deze afkorting is een ezelsbruggetje voor zes eigenschappen waar een user story idealiter aan moet voldoen. INVEST staat voor: Independent (onafhankelijk), Negotiable (onderhandelbaar), Valuable (waardevol), Estimable (schatbaar), Small (klein), Testable (testbaar).
Independent (onafhankelijk)
Een user story moet onafhankelijk zijn van andere user stories. Op deze manier kunnen ze namelijk onafhankelijk van elkaar ontwikkeld en geverifieerd worden.
Negotiable (onderhandelbaar)
Een user story moet ruimte laten om een gesprek te voeren over de uiteindelijke uitvoering. Er moet dus ruimte zijn voor onderhandeling tussen bijvoorbeeld het ontwikkelteam en de product owner.
Valuable (waardevol)
Het is belangrijk dat een user story iets waardevols creëert. Uiteindelijk moet er waarde worden toegevoegd voor de eindgebruiker, organisatie en/of klant.
Estimable (schatbaar)
Het is belangrijk dat developers goed kunnen inschatten hoeveel werk er nodig is voor het voltooien van een user story. Dit gebeurt vaak tijdens een zogeheten refinement-meeting.
Small (klein)
Een user story moet altijd klein genoeg zijn om binnen één sprint (een cyclus van ontwikkeling) te kunnen worden voltooid. Is een user story groter dan één sprint, dan moet het vaak een epic worden die over meerdere user stories en sprints verspreid kan worden.
Testable (testbaar)
Een user story moet een uitkomst hebben die te testen is. Zo kan bepaald worden of de implementatie correct is verlopen en/of aan de acceptance criteria is voldaan.
Hoe maak je een user story?
Het maken van een goede user story doe je meestal door het volgen van de volgende stappen.
Stap 1: Identificeer de rol
De eerste stap bij het schrijven van een user story is het identificeren van de rol of persona die betrokken is. Dit kan bijvoorbeeld een klant, beheerder of verkoper zijn. Door duidelijk te maken wie de gebruiker is, kunnen we ons beter inleven in hun behoeften en doelen.
Stap 2: Beschrijf het doel
Nadat we de rol hebben geïdentificeerd, moeten we het doel van de gebruiker beschrijven. Wat probeert de gebruiker te bereiken met behulp van het product of de dienst? Dit helpt ons bij het begrijpen van de context en waarom deze functionaliteit belangrijk is voor de gebruiker.
Stap 3: Formuleer een korte zin
Een goede user story moet beknopt en specifiek zijn. Het is belangrijk om een korte zin te formuleren die duidelijk weergeeft wat de gebruiker nodig heeft. Bijvoorbeeld: “Als een klant wil ik mijn bestelling kunnen volgen, zodat ik altijd op de hoogte ben van de status.”
Stap 4: Voeg “acceptance criteria” toe
Om ervoor te zorgen dat de user story volledig begrepen wordt, moeten we acceptatiecriteria toevoegen. Deze criteria definiëren wanneer de user story als succesvol kan worden beschouwd. Ze helpen ook bij het testen van het product of de dienst om te controleren of aan alle vereisten is voldaan.
Stap 5: Schat de inspanning en bepaal de prioriteit
Om efficiënt te werken, is het belangrijk om user stories te prioriteren op basis van hun waarde voor de gebruikers en het bedrijf. Daarnaast moeten we ook inschatten hoeveel tijd en middelen er nodig zijn om elke user story te implementeren. Dit helpt bij het plannen en beheren van projecten.
Voorbeeld user story: 10 voorbeelden van user stories
We laten nu tien voorbeelden zien van user stories:
- Als webshop eigenaar wil ik dat gebruikers artikelen aan hun winkelwagen kunnen toevoegen, zodat ze meerdere producten tegelijk kunnen kopen en afrekenen.
- Als nieuwswebsite bezoeker wil ik de mogelijkheid hebben om artikelen op te slaan in een leeslijst, zodat ik ze later kan teruglezen of delen met anderen.
- Als reiziger wil ik een zoekfunctie op de website van een luchtvaartmaatschappij, zodat ik snel de beschikbare vluchten en prijzen kan vinden voor mijn gewenste bestemming.
- Als student wil ik toegang hebben tot online studiemateriaal, zodat ik altijd en overal mijn leerstof kan raadplegen en studeren.
- Als restaurantbezoeker wil ik online een tafel kunnen reserveren, zodat ik verzekerd ben van een plek wanneer ik kom eten.
- Als sportliefhebber wil ik pushmeldingen ontvangen over belangrijke updates en resultaten van mijn favoriete teams, zodat ik altijd op de hoogte blijf.
- Als gebruiker van een fitness-app wil ik toegang hebben tot gepersonaliseerde trainingsprogramma’s, zodat ik gericht aan mijn gezondheid en fitnessdoelen kan werken.
- Als HR-manager wil ik eenvoudig vacatures kunnen plaatsen op onze bedrijfswebsite, zodat potentiële kandidaten deze gemakkelijk kunnen vinden en solliciteren.
- Als mobiele app-gebruiker wil ik offline toegang hebben tot bepaalde functionaliteiten, zodat ik de app kan blijven gebruiken wanneer ik geen internetverbinding heb.
- Als e-commerce klant wil ik kunnen betalen met verschillende betaalmethoden, zodat ik de keuze heb om te betalen met creditcard, iDEAL of PayPal.
Wat is een user story niet?
Er zijn veel misverstanden rondom user stories. Daarom vinden we het belangrijk om óók heel duidelijk te melden wat een user story niet is:
- Een user story is geen opdracht voor de developer. Het is juist een “story” om duidelijk te maken wat de eindgebruiker nodig heeft.
- De user story is niet statisch, meerdere personen kunnen er aan bijdragen.
- User stories zijn geen officieel onderdeel van de agile scrum werkwijze. Echter, het is wel een heel erg handig hulpmiddel dat vaak gebruikt wordt door scrum-teams.
- Een user story is géén gedetailleerd verhaal, maar een kort verhaal over de behoeften van de eindgebruiker.
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.
Tot slot
We hebben nu uitgelegd wat een user story is én hoe je deze kunt gebruiken binnen de (software)ontwikkeling. De user story is vaak een belangrijk onderdeel van de werkwijze tussen product owners en het ontwikkelteam. Officieel maakt de user story geen onderdeel uit van het agile scrum-framework. Wel is het een hulpmiddel dat veel gebruikt wordt om de behoeften van (eind)gebruikers te verwoorden.