over Reaco handboek requirements kenniscentrum academy certificering weblog

Product backlog: DEEP

Vrijwel ieder agile project maakt gebruik van een product backlog. In de Scrum Guide is de product backlog omschreven als: "Een lijst met alle features, functies, technologie, verbeteringen en bug-fixes die samen de veranderingen beschrijven die aan het product zullen worden gedaan in toekomstige releases". De items op de product backlog worden meestal weergegeven als user stories.

Product backlog SMARTEen product backlog is niet hetzelfde als een traditionele lijst met SMART requirements. De belangrijkste kenmerken van een goede product backlog heeft Mike Cohn samengevat in het acroniem DEEP.

DEEP staat voor:

Detailed appropriately

De items op de product backlog hebben het juiste detailniveau.

Product backlog DEEPDe user stories die in de komende sprint geïmplementeerd worden, zijn klein en de user stories die voorlopig nog niet aan de beurt zijn, zijn veel groter. Het is onverstandig om allemaal gedetailleerde user stories op de product backlog te zetten. Dat is lastig te managen, is onoverzichtelijk, leidt tot veel rework en het inschatten en prioriteren van al die kleine user stories kost veel tijd. Kortom te veel details op de product backlog is verspilling van tijd en energie (waste).

Het advies is dan ook: Add details at the last responsible moment.

Estimated

Voor ieder item op de product backlog is de omvang ingeschat.

Het gaat om een relatieve schatting; niet om de tijd die nodig is om een user story te implementeren. Het team schat in hoe groot een user story is in vergelijking met een aantal referentie user stories. Bijvoorbeeld anderhalf keer zo groot, tien keer zo groot. Ieder user story krijgt hiertoe een aantal punten. Aangezien deze punten relatief zijn en daardoor geen grootheid hebben, worden ze meestal aangeduid als story points.

De schattingen zijn belangrijk omdat de product backlog onder andere dient als planningstool. In de product backlog is namelijk eenvoudig aan te geven welke user stories in een sprint en in een release meegenomen kunnen worden.

Emergent

De product backlog evalueert.

De product backlog is dynamisch in de zin dat deze voortdurend verandert om te kunnen weerspiegelen wat er nodig is om het product waardevol, concurrerend en beter te maken. De product backlog is daarom nooit af. De product owner en het team passen de user stories, de prioriteiten en de schattingen voortdurend aan aan de laatste inzichten. Die inzichten veranderen doordat je steeds meer te weten komt over het product, de gebruikers, de omgeving en de technologie en doordat de mening en behoeften van de stakeholders aan voortschrijdend inzicht onderhevig zijn.

Prioritized

De items op de product backlog staan in volgorde van prioriteit.

Product backlog prioritized De user story met de hoogste prioriteit staat bovenaan en wordt als eerste geïmplementeerd. De product owner kent de prioriteiten toe, maar laat zich adviseren door stakeholders uit de business en door het team. Aspecten die meespelen bij het prioriteren van de user stories zijn: minimum marketable features, business value, risico's en afhankelijkheden.

Prioritering is essentieel voor het leveren van zo veel mogelijk business value. De product owner is verantwoordelijk voor het maximeren van de Return on Investment (ROI).

auteur Nicole de Swart is Requirements Specialist en werkt als zelfstandig consultant, trainer en (agile) coach. Ze is auteur van Handboek Requirements en deeltijd docent aan de Hogeschool van Amsterdam.


Reacties (2)

Tomas

DEEP is interessant! Al voorzie is veel discussie over de "D" en dan vnl wat "appropriately" is. Zeker aangezien SCRUM / Agile geen echte traditie van requirement management kennen.

Juist omdat requirements snel / vaak kunnen wijzigen (niet specifiek voor SCRUM / Agile trajecten overigens) is overzicht in het detail van de requirements noodzakelijk. Hierdoor voorzie ik toch dat de user stories tot op een zeker detailniveau uitgewerkt moeten zijn om deze wijzigingen -waar nodig- over de hele set aan user stories te kunnen doorvoeren. Bovendien heb je "approriate" detail ook nodig om goed te kunnen schatten.

Vraag is dus wat is "appropriate", anders dan het algemene adagio van "net genoeg".

Nicole de Swart

Tomas,
Wat 'appropriate' is, qua detailniveau van een user story, hangt af van de prioriteit van die user story. Hoe hoger de prioriteit hoe meer details uitgewerkt moeten zijn. De user stories die (waarschijnlijk) in de eerst volgende sprint geïmplementeerd gaan worden, moeten genoeg details bevatten en zo klein zijn dat het team ze nauwkeurig kan schatten en in enkele dagen tot maximaal een week kan implementeren. Wanneer dit het geval is, verschilt per project en per team. Hier kom je achter door het team te vragen om de user stories te schatten. Bijvoorbeeld met planningpoker zie je meteen of de teamleden interpretatieverschillen hebben of details missen.

'Appropriate' betekent ook dat user stories die niet op (hele) korte termijn door het team opgepakt worden, weinig details bevatten en veel groter zijn. Juist om te voorkomen dat je ze iedere keer moet aanpassen als er gewijzigde inzichten zijn. Geen 'voorraad' met requirements opbouwen dus, maar pas uitwerken als het team ze nodig heeft. 'Just in time' requirements noemt met dat vaak.


Geef een reactie


(Verplicht)

(Verplicht, wordt niet gepubliceerd)

(Optioneel, wordt gebruikt als link)

Om misbruik te voorkomen, dien je onderstaande 'captcha' in te vullen.

K J 3 F Z

(Verplicht, voer uitsluitend de hoofdletters in!)

Requirements Kenniscentrum

Word gratis lid en ontvang iedere maand nieuwe requirements tips.

Leden teller

© Reaco 2010 - 2012