Splitsen van user stories

User stories snijden als stukken taart

Wel eens een taart in zijn geheel opgegeten? Het eet toch veel makkelijker als je de taart in kleine taartpunten opdient. Met grote user stories werkt het precies hetzelfde. Als je deze grote stories tot kleine plakjes snijdt, in het Engels ‘slices’, dan gaat het opleveren veel sneller. Dus lees hier meer over het splitsen van user stories.

Horizontaal versus verticaal splitsen

Iedere user story bestaat uit een aantal op elkaar liggende architectuurlagen zoals de onderliggende structuur, de klantlogica en de gebruikersinterface. Wanneer je de story nu horizontaal splitst, dan ontstaan er afzonderlijke structuur, klantlogica en gebruikersinterface stories. Dit zijn drie van elkaar afhankelijke stories die alleen tezamen waarde kunnen opleveren. Splitsen heeft dus alleen zin als het verticaal gebeurt, dus zowel een stukje structuur, klantlogica als gebruikersinterface. Alleen dan is het mogelijk om eerder waarde op te leveren.

INVEST acroniem
Iedere user story, groot of klein, moet voldoen aan de INVEST-regels:

  • Independent. De user stories moeten onafhankelijk van elkaar ontwikkeld kunnen worden.
  • Negotiable. De details waarin user stories beschreven zijn, moet ruimte vrijlaten om te kunnen onderhandelen.
  • Valuable. De user story moet waarde toevoegen aan zowel de gebruiker als de organisatie.
  • Estimatable. Als de user story niet is in te schatten is het blijkbaar te vaag, te groot of te risicovol.
  • Testable. De user story moet acceptatiecriteria bevatten zodat daarop getest kan worden.

Splitsingsstrategieën
Om user stories kleiner te maken, kan je uit verschillende strategieën kiezen. Hierbij moeten alle uitgesplitste stories nog steeds moeten voldoen aan de INVEST-regels.

Splitsing op basis van functionaliteit:

  • gebruik de functionele acceptatiecriteria als hulpmiddel om de user story te splitsen. Denk hierbij aan een user story om NAW-gegevens in te voeren. Acceptatiecriteria zijn dan bijvoorbeeld ‘naam moet alfabetische tekens bevatten, postcode moet geldig zijn, het huisnummer zonder toevoeging moet nummeriek zijn, enz.
  • kijk naar het testen van de user story. Wat is het kleinst mogelijke stukje functionaliteit dat het team kan testen? Dit kan vervolgens de eerste user story zijn.
  • als een user story voor meerdere groepen van mensen, oftewel ‘personas‘, bedoeld is, dan kan het team de story per groep van mensen opsplitsen.
  • indien de user story gebruik maakt van verschillende soorten data, bijvoorbeeld nationale versus internationale data, dan kun je een story per datasoort maken.
  • wanneer de user story zowel complexe als eenvoudige functionaliteit biedt, dan kun je de user story in een eenvoudige en in een meer complexere story opsplitsen.
  • als er bij de user story sprake is van verschillende interfaces, overweeg dan om de story per interface te splitsen.
  • combineer de user story verschillende operaties, bijvoorbeeld creëren, ophalen, wijzigen, verwijderen, enz.? Zo ja, dan kun je per operatie een story maken.

Splitsing op basis van processtappen:

  • beschrijf eerst een bijpassend MVP als eerste user story.
  • user stories beschrijven enerzijds de correcte situatie, en anderzijds wat te doen bij de afhandeling van fouten en uitzonderingen (happy/unhappy path). Het team kan de afhandeling van fouten en uitzonderingen in een aparte story oppakken.
  • user stories zullen vaak ook een aantal kwaliteitscriteria of niet functionele eisen (afgekort: NFR’s) bevatten. Denk hierbij aan bijvoorbeeld veiligheid, accuraatheid, tijdigheid, et cetera. Ieder kwaliteitscriterium kan in een afzonderlijke story worden toegevoegd.

Conclusie
Het splitsen of van user stories leidt tot kleinere stories die het team sneller kan opleveren. En daarmee voegt het team eerder waarde toe. Het resulteert in snellere feedback, het sneller herstellen van fouten en het uitstellen van werk met minder toegevoegde waarde. Bovendien zijn kleinere stories sneller en beter te schatten zodat voorspellingen betrouwbaarder zijn. En dat leidt tot meer vertrouwen, hogere teamspirit, risico reductie en een eenvoudigere werkverdeling.


Wil je samen met je collega’s een sessie waarin je in één keer overzicht krijgt van scrum of Agile-mogelijkheden? Je vindt onze contactgegevens op onze contactpagina. Tijdens kantooruren kun je ook terecht op onze chat.


Henny Portman is blogger, recensent, auteur, internationaal spreker, trainer en consultant portfoliomanagement en P3M3 Maturity.