Productiever programmeren met scrum punten: hoe meet je productiviteit van een programmeur?

Voor ‘buitenstaanders’ is software ontwikkeling een abstract vakgebied waar ze zich geen concrete voorstelling bij kunnen maken. Mannen in marginale T-shirts en warrig haar die onverklaarbare tekens combineren tot iets dat werkt. Pauze met pizza en bier. En daartussen koffie. Veel koffie. Om de vooroordelen even op te sommen… Dat van de koffie is toch wel waar (gezien de grote hoeveelheden waar wij ons wekelijks op kantoor doorheen werken) maar verder zijn programmeurs serieuze mensen met passie voor hun vak. Maar juist doordat hun vak zo complex is, is er voor opdrachtgevers behoefte aan wat meer transparantie. De combinatie van professionaliteit en vraag naar openheid en duidelijkheid heeft geleid tot verschillende manieren waarop een opdrachtgever kan sturen in het ontwikkelingsproces. Maar wat is nou een goede manier om te meten of een ontwikkelaar productief is?

Zowel in een projectmatig werk als in detacheringstrajecten horen wij deze vraag vaak. In dit artikel gaan we dieper in op methodes om productiviteit van software ontwikkelaars te meten.

productiviteit

Methodes om productiviteit te meten

In productiebedrijven wordt productiviteit vaak uitgedrukt in stuks per uur. Dus bijvoorbeeld een aardbeienplukker plukt gemiddeld 5 kilo aardbeien per uur. Output versus input. Dit ligt bij softwareontwikkeling een stukje ingewikkelder, want wat meet je als output? Hoe maak je het telbaar zonder appels met peren te vergelijken? Tel je het aantal regels code? Het aantal gemaakte functionaliteiten? Het aantal verholpen bugs? Het aantal gemaakte applicaties?

Bill Gates (niet de minste) gaf al aan dat het meten van productiviteit uitgedrukt in regels code een slechte methode is. Een grote applicatie heeft inderdaad veel code maar het hebben van veel regels code hoeft dan weer geen verband te hebben met een grote applicatie: het kan ook betekenen dat het een slecht ontworpen applicatie is. Daarnaast zegt het aantal regels code een gemiddelde opdrachtgever alsnog vrij weinig.

Software ontwikkelaars produceren functionaliteit(en). In principe kun je die natuurlijk tellen, maar beter is om die te categoriseren in groepen die vergelijkbaar zijn: klein, medium en groot. Je kunt nog verder classificeren door een waardering aan elke functionaliteit te geven middels een vooraf bepaalde schaal. Door waarderingen toe te kennen wordt productie opeens berekenbaar en vergelijkbaar. Grootte en complexiteit kunnen een verfijnde waardering krijgen door bijvoorbeeld met een schaal van 1 tot 100 te werken in plaats van 1 tot 10. Een kleine simpel te maken functionaliteit krijgt bijvoorbeeld 15 punten, een grote complexe functionaliteit 85 punten. Stel dat de ontwikkelaar in 10 dagen tijd deze twee functionaliteit gebouwd heeft. Het totaal aantal punten kan dan verdeeld worden over die dagen of zelfs per uur worden uitgerekend.

Scrum punten

Deze methode wordt eigenlijk al best lang gebruikt (wellicht beter bekend als functiepuntenanalyse) maar staat tegenwoordig bekend als het scrum punten systeem. Welke term er ook gebruikt wordt, het idee is hetzelfde. Deze techniek zorgt er natuurlijk ook voor dat je de vraag kunt omdraaien: vraag een ontwikkelaar om bepaalde functionaliteit en vraag hem hoeveel scrum punten de bouw van die functionaliteit kost. Mits u het waarderingssysteem goed heeft opgezet en gedocumenteerd in uw organisatie, is dit vrij snel en nauwkeurig te bepalen.

meten-is-weten

Productiviteit voorspellen

Het meten dient iedere week plaats vinden (wat ook goed past in de scrum methode). Door elke week te meten krijgt u een beter beeld van de productiviteit en kunt u ook gaan voorspellen wat de productiviteit voor de week erna zal worden. De schattingen kunnen vrij precies gemaakt worden met de scrum punten en het is zowel mogelijk om in te schatten hoeveel werk er verzet kan worden in een bepaalde periode alsmede hoeveel tijd er nodig is om een bepaalde functionaliteit te bouwen. Deze, eigenlijk vrij simpele, ‘truc’ wordt door steeds meer bedrijven en ontwikkelaars gebruikt. De valkuil zit vooral in het niet vaak genoeg meten of na een enthousiaste start niet meer meten. Meten is nodig om een goede statistiek database op te bouwen waardoor de schattingen zo accuraat mogelijk zijn. Want meten is nog steeds weten.

Wilt u graag eens sparren over het gebruik van scrum punten om de productiviteit van software ontwikkelaars te meten? Of zoekt u een software ontwikkelaar die bekend is met scrum punten? Neem dan contact op met accountmanager Marcel Maes. Hij vertelt u graag meer over hoe u de productiviteit van uw software engineers kunt verbeteren en kan u meer vertellen over detacherings- en projectmogelijkheden met onze gecertificeerde scrum collega’s.

Interesse in een gesprek?

neem contact op met Marcel Maes