Maak kennis met: de spaarlijst

 
15 september 2011

Klantwensen, prioriteiten, en budget: altijd een lastige combinatie. Want de klant wil natuurlijk wel alle functionaliteiten geimplementeerd zien die vantevoren zijn afgesproken, en alles wat hij tijdens het traject erbij verzint, voor hetzelfde geld als afgesproken. En alles heeft natuurlijk prioriteit één. Bij het afgelopen project waar ik aan meewerkte gebeurde er tijdens de eerste sprintmeeting iets moois.

In het ideale geval werk je bij de scrum-methode met een zg. backlog – een lijst waar alle afgesproken functionaliteiten in staan – waarbij er voorafgaand aan elke sprint een selectie wordt gemaakt van issues uit de backlog die in die sprint afgehandeld zullen gaan worden. Bij elke sprintmeeting heeft de klant inzage in de vorderingen van je systeem middels een kleine demo – en ja hoor, daar heb je het al: hij heeft last van voortschrijdend inzicht en legt een aantal extra wensen en aanpassingen op tafel.

Het idee van agile ontwikkelen (of eigenlijk van alle niet-waterval methoden) is dat dat mogelijk moet zijn: het ontwikkelen moet zo flexibel zijn dat de koers ook tijdens het project bijgesteld moet kunnen worden. Deze wijzigingen en aanvullingen komen dan dus ook in het backlog te staan.

Bij Sogyo gebruiken we ‘in-house’ het systeem Redmine, een open-source applicatie waarin onder andere een backlog bijgehouden kan worden, een bug-tracking systeem zit verwerkt, een virtueel scrum-board aanwezig is (incl. automatische burn-down charts enzo), en ook nog een wiki voor bijv. kennis-opslag, een documentenbeheerssysteempje om bijv. notulen van sprintmeetings op te slaan, Gantt-charts, en nog meer leuks. Ken je Redmine nog niet? Probeer het eens!

Maar waar het me om gaat is dat je in Redmine een overzichtspagina hebt waarin naast je ‘master backlog’ ook een overzicht van alvast gedefinieerde sprints te zien zijn. Zo kan je al een aantal sprints vooruit plannen: issues uit de master backlog sleep je eenvoudig naar een van de sprints om aan te geven dat dat punt in die sprint zal worden opgelost. De klant kan daarbij inzage krijgen in die pagina en houdt zo ook het overzicht over de planning.

Redmine overzichtsscherm

Redmine overzichtsscherm

Wat er nu tijdens onze eerste sprintmeeting gebeurde is dat de klant tussen neus en lippen het woord ‘spaarlijst’ liet vallen. Daar zijn we mee aan de haal gegaan: we hebben een aparte sprint genaamd ‘spaarlijst’ aangemaakt. Want natuurlijk is het niet mogelijk om binnen hetzelfde budget onbeperkt wijzigingen en aanvullingen op te nemen. Volgens de scrum-filosofie zijn tussentijdse wijzigingen een aanvullingen wel mogelijk, maar dat gaat dan dus ten koste van de minder belangrijke functionaliteit.

Met zo’n spaarlijst-sprint maak je dat ook visueel duidelijk: dingen die daarin staan komen pas aan bod als alle overige punten zijn opgelost. Het zijn duidelijk de extraatjes. De C’s en de W’s van MoSCoW. De functionaliteiten voor versie 2.0. Dus als de klant met een nieuw idee komt kun je nu ook besluiten om dat op de spaarlijst te zetten – of het wel in de backlog of een sprint op te nemen, en dan een ander item op de spaarlijst te zetten.

Natuurlijk kan je als ontwikkelpartij niet zomaar eigenhandig dingen naar de spaarlijst slepen – dat soort dingen blijft in overleg met de klant. Maar dat het nu visueel inzichtelijk wordt scheelt al een hele hoop voor het goede begrip over en weer; onze ervaringen zijn althans goed. Een projectcollega heeft dit ook toegepast in een ander project waar hij op werkt, en ook daar werkt het naar tevredenheid. Dus: misschien is de spaarlijst ook iets voor jouw project?


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development