Kennisbank

Het product backlog prioriteren; 3 methodes

Ons vorige blog ging over het belang van prioriteiten stellen bij het ontwikkelen van een MVP. En de valkuilen die je hierbij kunt tegen komen. In deze blog belichten we drie beproefde methodes om functionaliteit te prioriteren binnen een Agile project. Basisvoorwaarde: een heldere productvisie.

Start met je productvisie

In een agile traject werk je iteratief op basis van voortschrijdend inzicht. Toch is het handig om vooraf je productvisie te formuleren. In deze productvisie koppel je de behoefte van je doelgroep aan de doelen van je product. De formulering van een productvisie dwingt je als product owner om goed na te denken over het hoofddoel dat je wilt bereiken. Het zorgt ook voor helderheid bij het projectteam. Binnen het Scrum proces is een heldere productvisie een belangrijk middel om je bedoelingen te toetsen bij de diverse stakeholders. Gedurende de voortgang van het project helpt de productvisie om de juiste prioriteiten te stellen.

Drie methodes om prioriteiten te stellen in een Agile traject

Zodra je de productvisie hebt geformuleerd wordt het dus makkelijker om de prioriteiten te bewaken. Bij de ontwikkeling van software wordt vaak de Scrum methode gehanteerd, waarin functionaliteit is geordend op het product backlog: een geprioriteerde lijst van de resterende functionaliteit, gebaseerd op het toekomstbeeld en de concrete vereisten van de applicatie. Functionaliteit wordt omschreven in user stories: korte, specifieke beschrijvingen van functionele vereisten. De product owner brengt hier prioriteiten in aan en kijkt daarbij steeds of een user story van genoeg toegevoegde waarde is voor de visie. De volgende drie methodes zijn beproefde methodes om het backlog te prioriteren.

1. MoSCoW-methode

Dit is de meest bekende manier om de prioriteiten te ordenen. Maar voor wie deze methode niet kent: bij de MoSCoW-methode zet je de volgende punten onder elkaar:

  • Must-haves,
  • Should-haves,
  • Could-haves en
  • Would-haves

Dit is de makkelijkste manier van agile prioriteiten stellen, maar in de praktijk zie je dat de meeste activiteiten onder de Must-haves komen, iets minder onder de Should-haves en blijven de Could-haves en de Would-haves bijna leeg. Een handige tool om op prioriteiten te concretiseren is de prioriteiten-matrix.

2. Prioriteiten-matrix

Agile prioriteiten matrix 1

Bron: Agile managen

Bij Ambrero gebruiken we vaak een matrix waarin we de hoeveelheid werk afzetten tegen de impact die de functionaliteit heeft op de waarde van je MVP voor de stakeholder. De quick wins zijn de punten die veel impact hebben en weinig werk vereisen. De puntjes op de i hebben een lage impact maar kosten ook weinig werk. De grote projecten kosten veel werk maar hebben ook veel toegevoegde waarde. De laagste prioriteit geef je aan die functionaliteit die veel werk vereist en niet zoveel toevoegt. Zo kun je op een wat rationelere manier je backlog indelen.

Je kunt ook andere eigenschappen op de assen zetten: kies de waarden die passen bij je productvisie. Is het bijvoorbeeld de ambitie om een innovatief product neer te zetten? Dan kun je de mate van innovatie op een van de assen zetten:

Agile prioriteiten matrix 2

Je kunt ook verschillende matrices inzetten en kijken wat het doet met je prioriteitstelling. Kortom: experimenteer met verschillende variabelen en plaats steeds de user stories op het assenstelsel. Je zult zien dat het je helpt bij het kiezen van de juiste richting.

3. Weighted Shortest Job First

WSJF is eigenlijk een omgekeerde redenering. Je kijkt naar wat het kost als je een bepaalde functionaliteit niet opneemt: de kosten van uitstel. Deze wordt vertaald naar de relatieve prioriteit via de volgende formule:

prioriteit = kosten van uitstel ÷ doorlooptijd

De kosten van uitstel kunnen zitten in wat de uitstel van functionaliteit doet met de waardeontwikkeling van je product: veel behoefte betekent veel waarde. Het kan ook zitten in wat het doet met de interesse van je gebruiker. Misschien zorgt het er wel voor dat je minder betalende klanten krijgt of dat je het interne team niet meekrijgt. Verder weeg je ook de impact op risico’s en kansen mee. Omdat het moeilijk is om exacte bedragen aan deze kosten van uitstel te hangen, druk je die kosten uit in een relatief cijfer, bijvoorbeeld uit de rij van Fibonacci. Zo krijg je meer nuance. Deel de kosten van uitstel door de doorlooptijd, en je hebt de relatieve prioriteitstelling. Je bepaalt als het ware welk punt in het backlog de meeste toegevoegde waarde levert per tijdseenheid.

‘Scope creep’ vermijden door de juiste prioriteiten

Gedurende het verloop van een project treedt nogal eens ‘scope creep’ op. Als je niet oppast komen de aspecten ‘functionaliteit’ en ‘kwaliteit’ aan het einde van je tijd en geld steeds zwaarder onder druk te staan. Bovengenoemde hulpmiddelen helpen om prioriteiten op een objectieve manier vast te stellen. Welke tool geschikt is, kan per fase verschillen. Maak dus steeds opnieuw een juiste afweging.

Nieuwsgierig?

Wil je advies bij het prioriteren van je backlog? Neem vrijblijvend contact met ons op.

Wil je meer informatie over software ontwikkeling?
Of wil je meer over ons weten?

Bel nu met Bart Matthaei, mede-oprichter van Ambrero. Komt het nu niet uit? Laat dan gewoon je bericht achter.

Bart Matthaei

Directie & sales

Email

.. of laat je gegevens achter en wij nemen contact met je op.

Je bent iets vergeten in te vullen.

Bericht verzonden

Bedankt voor je bericht. Je hoort snel van ons!