Introductie
AI begrijpen op de werkplek
Als je geïnteresseerd bent in softwareontwikkeling, heb je waarschijnlijk al gehoord van ‘user stories’ of ‘US’. Ze vormen de kern van de Agile-methode en zijn een geweldige manier om de behoeften van de eindgebruiker centraal te stellen.
Maar let op, een user story kan snel slecht geschreven zijn. Om echt effectief te zijn, moeten ze aan bepaalde regels voldoen, die zijn samengevat in het acroniem INVEST, bedacht door Bill Wake.
In dit artikel gaan we dit allemaal ontleden en laten we zien hoe dit principe je user stories kan verbeteren en je project een echte boost kan geven. Klaar om je user stories naar een hoger niveau te tillen?
Wat is een ‘user story’?
Een user story, ook wel een backlog-item genoemd, is een hulpmiddel in softwareontwikkeling dat een beschrijving geeft van een gewenste functie vanuit het perspectief van de eindgebruiker.
Het helpt ontwikkelingsteams om de behoeften en wensen van de gebruiker formeel vast te leggen en oplossingen te ontwerpen die aan deze verwachtingen voldoen.
Een user story wordt altijd als volgt geformuleerd:
“Als een [type gebruiker],
wil ik [een bepaalde functie]
zodat [een bepaald voordeel].”
Een voorbeeld van een user story voor een e-commerce applicatie:
“Als klant wil ik producten kunnen filteren op categorie, zodat ik de producten die ik zoek gemakkelijker kan vinden.”
Eenvoudig en effectief, toch?
Zodra de behoefte op deze manier is uitgedrukt, zal de functioneel analist of business analist de user story aanvullen met functionele regels en beperkingen waaraan de ontwikkeling moet voldoen om deze behoefte te dekken.
Een user story bevordert communicatie en stelt ontwikkelaars in staat om zich in de schoenen van de gebruikers te verplaatsen bij het maken van software.
Het is een centraal element in veel Agile-ontwikkelingsmethodologieën, zoals Scrum en Extreme Programming (XP).
Wat betekent INVEST?
INVEST is een acroniem dat wordt gebruikt om de kenmerken van een goede user story binnen een Agile-methode te beschrijven. Het voegt waarde toe aan de projectontwikkeling.
INVEST staat voor:
- I – Independent (Onafhankelijk)
- N – Negotiable (Onderhandelbaar)
- V – Valuable (Waardevol)
- E – Estimable (Schatbaar)
- S – Small (Klein genoeg)
- T – Testable (Testbaar)
Laten we elk van deze elementen kort bekijken om het belang en de impact ervan te begrijpen:
Independent (Onafhankelijk)
Elke user story moet onafhankelijk zijn, wat betekent dat deze niet afhankelijk mag zijn van een andere user story om waardevol te zijn.
Dit vergemakkelijkt de planning, omdat stories in elke volgorde ontwikkeld moeten kunnen worden. Een ontwikkelaar mag niet hoeven wachten op het werk van een andere ontwikkelaar om een nieuwe US te ontwikkelen.
Negotiable (Onderhandelbaar)
Een user story is geen contract, maar een uitnodiging tot gesprek. Ze moet flexibel en open zijn voor discussie en aanpassing.
De functioneel analist of Product Owner presenteert elke user story aan de ontwikkelaars, die ideeën voorstellen om de US te vereenvoudigen en te verbeteren, zodat deze op de eenvoudigste manier aan de behoefte voldoet. Toegevoegde waarde staat altijd centraal in het gesprek.
Valuable (Waardevol)
Elke user story moet waarde toevoegen voor de eindgebruiker of de klant. Als dat niet het geval is, moet men zich afvragen of deze story echt nodig is.
Elke US moet de waarde voor de gebruiker maximaliseren. Deze waarde helpt de Product Owner bij het bepalen van de prioriteit van de user stories in de backlog, de lijst van US gesorteerd op ontwikkelingsprioriteit waarop het hele Agile-team zich baseert.
Estimable (Schatbaar)
Het ontwikkelingsteam moet de “grootte” van een user story kunnen inschatten, meestal in termen van tijd of benodigde middelen om deze te implementeren.
Als een user story niet schatbaar is, kan dit betekenen dat deze te groot is en opgesplitst moet worden in kleinere stories.
Bij het opsplitsen van de US is de grootste uitdaging om de onafhankelijkheid van de user stories te behouden. Het is de taak van de Product Owner om deze beslissing zo goed mogelijk te maken. Vaak is het belangrijker om de grootte van de US te verkleinen, zelfs als dat ten koste gaat van de onafhankelijkheid.
Small (Klein genoeg)
In Agile Scrum-methodologieën verlopen ontwikkelingen in sprints van enkele weken, waarin het ontwikkelingsteam en testteam een vooraf bepaalde hoeveelheid user stories moeten opleveren.
Daarom moeten user stories klein genoeg zijn om binnen één iteratie (sprint) voltooid te worden. Als ze te groot zijn, moeten ze worden opgesplitst in kleinere stories.
Testable (Testbaar)
Een user story moet testbaar zijn om te verifiëren of deze correct is geïmplementeerd.
Als een story niet testbaar is, kan dit betekenen dat deze niet duidelijk of specifiek genoeg is.
Oorsprong
Het acroniem INVEST werd bedacht door Bill Wake, een softwareontwikkelingscoach, als een manier om de kenmerken van een goede user story in Agile ontwikkeling te onthouden. Hij presenteerde dit acroniem voor het eerst in een artikel uit 2003, getiteld “INVEST in Good Stories, and SMART Tasks.”
De Agile-methode zelf werd voor het eerst formeel vastgelegd in 2001, toen 17 softwareontwikkelaars samenkwamen om het Agile Manifesto op te stellen, een reeks principes om softwareontwikkelingsprocessen te verbeteren.
User stories, als een sleutelelement van verschillende Agile-methodologieën zoals Scrum en Extreme Programming (XP), werden kort daarna een gangbare praktijk in softwareontwikkeling.
Conclusie
Een goed opgebouwde user story biedt een waardevol inzicht in de behoeften en wensen van de eindgebruiker.
Door gebruik te maken van het INVEST-principe, kun je ervoor zorgen dat je user stories onafhankelijk, onderhandelbaar, waardevol, schatbaar, klein genoeg en testbaar zijn.
Wil je meer leren over projectontwikkeling met de Agile-methode? Lees dan ons vorige artikel.
Ben je op zoek naar een team van competente ontwikkelaars om je project te realiseren? Iterates past deze methode toe en kan je begeleiden.
Neem contact met ons op.