Scrum en fuctiepunten: vrienden of vijanden?

16 maart 2012

Agile (met Scrum als meest gebruikte aanpak) wordt door een sterk groeiend aantal organisaties omarmd als de oplossing voor het mislukken van grote IT-projecten. Door al direct te starten met het opleveren van de software krijgt een opdrachtgever elke twee weken direct inzicht in de voortgang en toegevoegde waarde. Hierdoor hoeven gebruikers niet langer te wachten op de functionaliteit die voor hen de hoogste businesswaarde heeft. Bovendien leidt de continue stroom van feedback veel sneller tot werkende en waardevolle systemen. Eigenlijk wordt met het gebruik van Scrum een groot IT-project opgeknipt in heel veel kleine projecten. Hierdoor is het makkelijker om in te springen op voortschrijdend inzicht en daalt de complexiteit van het gehele project enorm.

Scrum gaat op een drastisch andere wijze om met systeemspecificaties. Het uiteindelijk op te leveren product wordt alleen in globale termen beschreven (de ‘product backlog’). Vervolgens worden eerst alleen die delen van het product in detail uitgewerkt die de meeste toegevoegde waarde hebben, en zij worden dan snel opgeleverd. Hierna wordt opnieuw bepaald wat de meeste waarde voor de business heeft, uitgewerkt en opgeleverd, enzovoorts. Constante bijsturing is op deze manier mogelijk. Hiermee vervalt het oorspronkelijke idee van een project dat een vooraf gedefinieerd eindresultaat oplevert. Ook het begroten van het gehele traject vervalt hiermee, simpelweg omdat het totale traject niet meer in detail in kaart wordt gebracht. De stip aan de horizon kan ieder moment verschuiven.

Scrum gaat dus heel anders om met begroten en budgetteren dan een meer traditionele en planmatige aanpak. De traditionele werkwijze maakt voor het begroten veelal gebruik van functiepuntanalyse (FPA). FPA gebruikt men om in te schatten hoeveel het maken van de software gaat kosten en hoelang het duurt om die op te kunnen leveren. Een ‘functiepunt’ wordt daarbij als metriek gebruikt om de omvang (size) van het systeem vast te stellen. Dit ‘sizen’ gebeurt aan de hand van de functionele specificaties. Een zekere mate van detail van wat je gaat maken, is dus nodig voor FPA.

Kosten

Het lijkt er dus op dat functiepunten en Scrum niet bij elkaar passen. Immers, de één wil van tevoren een volledige specificatie hebben en de ander wil die nu juist ter discussie kunnen stellen en werkt die daarom niet vooraf in Scrum en fun groot detail uit. Een enkele sprint in Scrum is te beperkt en te gevarieerd om op basis daarvan functiepunten te begroten. Tegelijkertijd bestaat er ook binnen agile-organisaties de behoefte om kosten te beheersen. Het kan immers niet zo zijn dat ‘we aan het einde wel zien hoeveel het heeft gekost’. Dat zou namelijk betekenen dat agile zorgt voor anarchie in de IT-bestedingen, wat onzin is. Ook bij Scrum heeft een opdrachtgever behoefte aan controle. De producteigenaar wil zicht houden op waar al die inspanningen toe leiden (doel) en hoeveel tijd en geld het uiteindelijk gaat kosten (budget). En dat is nu juist waar FPA traditioneel een oplossing voor biedt.

Wie in detail naar een combinatie van FPA en Scrum kijkt, ziet dat ze elkaar eerder versterken dan verzwakken. Immers, FPA helpt bij het zetten van de algehele scope (de stip aan de horizon) en het daarbij passende budget. Scrum helpt om binnen dat budget en die scope de functionaliteit met de meeste waarde als eerste te realiseren. Hierdoor komt zo snel mogelijk feedback tot stand. Feedback op twee fronten: ten eerste of de algehele scope wel klopt, maar daar bovenop of binnen het gestelde budget het complete probleem wel kan worden opgelost. Hieronder bespreken we zeven ‘quick wins’ voor de combinatie van FPA en Scrum.

Flexibel

In de praktijk betekent het dat de backlog voor het project vooraf globaal wordt vastgesteld. Binnen Scrum is het gebruikelijk dat het deel van de ‘product backlog’ met de meeste waarde al een aanzienlijke mate van detail bevat. Deze mate van detail (liefst voor een aantal sprints) is doorgaans al voldoende om een functiepuntentelling op los te laten. Vervolgens kun je die telling gebruiken om de totale FPA voor de hele backlog te bepalen door te extrapoleren. Binnen de FPA-methode is dit immers toegestaan. Kortom, Scrum en FPA kunnen elkaar uitstekend helpen en versterken. Via de functiepunten hou je grip op de totale uitgaven, maar met behulp van Scrum blijf je flexibel op basis van voortschrijdend inzicht. Uiteindelijk gaat het erom dat je het algehele probleem oplost. Zo snel, zo goed en zo goedkoop mogelijk. Op dat gebied hebben functiepunten en Scrum een gemeenschappelijk doel.

Scrum en FPA zijn dus vrienden. Het verliezen van controle en het overschrijden van het budget is de (gezamenlijke) vijand.

 

Zeven ‘quick wins’ door combineren Scrum en functiepunten

  1. Snel concretiseren van de ‘product backlog’
    De product backlog is de beschrijving van wat er gemaakt moet worden. Dus een overzicht van alle nog niet-geïmplementeerde requirements. Op de product backlog staat dat wat het allerbelangrijkste voor de business is bovenaan en alleen die zaken worden in detail uitgewerkt. Deze product backlog is met behulp van FPA te concretiseren, ook FPA kijkt immers naar het ‘wat’. FPA levert daardoor een overzicht van de product backlog in functionele termen.
  2. Meetbaar maken van het einddoel
    Een gedetailleerde product backlog voor de eerste zes sprints is al voldoende om een globale FPA te maken. Dit aantal functiepunten kan vervolgens geëxtrapoleerd worden voor het totaal. Zo is het einddoel (de stip aan de horizon) toch te kwantificeren en wordt het resultaat tastbaar, zonder dat dit in detail helemaal uitgeschreven hoeft te zijn.
  3. Eenvoudiger meten van opgeleverde ‘waarde’
    De snelheid waarmee een team werkende software oplevert, wordt gemeten in storypoints. Dit zijn relatieve schattingen voor de omvang van het werk. Deze storypoints moeten niet verward worden met functiepunten. Ze lijken zelfs niet op elkaar (behalve qua naam dan). Functiepunten zijn naar buitengericht en beschouwen het totale project. Storypoints zijn naar binnengericht en helpen een Scrum-team te voorkomen dat het te veel hooi op z’n vork neemt. In Scrum is het echter lastig om de geleverde waarde uit te drukken. Deze kan echter uitstekend worden uitgedrukt in functiepunten.
  4. Hulp bij prioriteren van functionaliteit
    Een belangrijk aspect bij Scrum is het vaststellen van de gewenste functionaliteit met de meeste businesswaarde, die vervolgens in de eerstvolgende sprint wordt opgepakt. De globale FPA geeft als het ware het totale verlanglijstje en daarbinnen kan op eenvoudige wijze de eerstvolgende sprint worden gemeten om zo tot goede afwegingen te komen, ook ten aanzien van het groeperen van functionaliteit. Het overzicht blijft behouden en verschuivingen traceerbaar.
  5. Hulp bij het maken van schattingen
    Het maken van schattingen is de taak van het team. Schatten is (en blijft) altijd lastig. Immers, ook een team heeft geen kristallen bol en voor je het weet worden schattingen gebruikt als ware het garanties. Scrum schat met storypoints, maar deze zijn relatief voor het team en niet vergelijkbaar daarbuiten. Functiepunten daarentegen zijn absoluut: functiepunten zijn vergelijkbaar tussen projecten en worden niet alleen vooraf gemeten, maar ook tijdens en na een project. Dit zorgt voor extra inzicht ter ondersteuning bij het maken van schattingen.
  6. Detecteren van verbeteringsacties
    Doordat FPA een objectieve maat geeft, kan zij worden gebruikt bij het terugblikken op het Scrum-traject. Zo kun je de verschillende teams helpen van elkaar te leren en helpen bij het detecteren van de belangrijkste remmende factoren.
  7. Bevestigen van businesscase voor Scrum
    Hoewel veel organisaties enthousiast zijn over Scrum, gaan er in de wandelgangen ook geluiden op dat Scrum-trajecten meer rework hebben (door het voortschrijdend inzicht), waardoor het juist duurder wordt. De functiepunten van de nieuwe en de aangepaste functionaliteit kunnen worden bepaald en hiermee kan de productiviteit van zowel het aanpassen als van het totale traject worden vastgesteld. Dan pas kan de businesscase objectief worden bepaald.
 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Inloggen

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Laat de klantenservice je terugbellen!