onsdag 20. mai 2009 Softwareutvikling
Jeg leste nettopp en liten blogpost av Ron Jeffries hvor han sier at "story cost does matter". Det er tydeligvis ikke mulig å kommentere på xprogramming-bloggen uten å være medlem, så da lager jeg min egen lille blogpost om temaet.
Poenget er at noen har foreslått at man ikke skal ta høyde for kostnad når man prioriterer historiene i backloggen. I stedet skal man bare se på verdi. Slik planlegging uten estimater kalles naked planning. Jeffries sier:
"Suppose without loss of generality that your highest value stories have value 100. Suppose that stories vary in cost between 1 and 3. And uppose we have time to do 30 points of work."
"We can do 10 3-point stories and get value 1000. Or we can do 30 1-point stories and get value 3000. 3000 would be more. Story cost does matter."
Dette angrepet er nokså naivt - det virker som om Ron har gått glipp av hele poenget. Saken er nemlig den at de ligger en skjult verdi i de oppgavene som har høy kostnad. Funksjonalitet med høy kostnad og høy verdi er langtidsinnvesteringer, og det er dem som vil skille deg fra dine konkurrenter. Ting som er raskt å implementere kan hvem som helst kopiere i løpet av kort tid, og vil ikke gjøre ditt produkt eller din løsning unik.
Problemet med estimater - i tillegg til den enorme usikkerheten og unøyaktigheten - er at de vil få deg til å favorisere korttidsinvesteringer fremfor langtidsinvesteringer. Du vil gjøre akkurat som Ron gjør - fokusere på at 3000 er et høyere tall enn 1000. Jeg er derimot overbevist om at det er viktig å fordele innsatsen gjevnt mellom oppgaver med lav kostnad og oppgaver med høy kostnad.., det vil man tjene på over tid. Og tanken er at om man ser helt bort fra estimater når man planlegger, så vil denne fordelingen skje helt naturlig.
Til slutt kommer Ron med et spørsmål til leseren:
"Suppose that, like most organizations, you don’t really know much about the value of your stories. Should you do high-cost ones, low-cost ones, or what?"
Hvabehager? Hvis du ikke vet noe om verdien bør du ikke gjøre noen av dem i det hele tatt!!! Du bør istedet finne ut hvilke stories som har verdi. Om du ikke vet noe om verdien så famler du rundt i blinde, og da spiller det liten rolle om kostnaden er høy eller lav.