#NoEstimates; maar wat dan wel?

Bart

Geschreven door Bart Thevissen op 11-1-2016
3 minuten leestijd

In mijn vorige post “voorspelbare softwareprojecten” heb ik uitgelegd dat voorspellingen en inschattingen bij softwareprojecten vaak alleen de schijn van duidelijkheid en voorspelbaarheid opleveren in plaats van een daadwerkelijk betrouwbaar resultaat. Ik heb uitgelegd dat dit deels wordt ingegeven door het feit dat softwareprojecten per definitie niet te voorspellen zijn. Vergelijk het met het schatten van het verloop van een schaakpartij. Hoe verder in de toekomst je moet voorspellen, hoe groter het universum van mogelijke paden wordt. Hoe schat je een bijna oneindige verzameling mogelijkheden?

Maar hoe dan wel? Helemaal niet meer schatten? Volgens de NoEstimates (what’s in a name?) beweging moeten we inderdaad helemaal stoppen met schatten en voorspellen. In plaats daarvan moeten softwareontwikkelaars en opdrachtgevers samen overeenkomen voor welk budget een project uitgevoerd mag worden. De ontwikkelaar zal vervolgens binnen dat budget het best mogelijke resultaat opleveren en gaandeweg samen met de opdrachtgever bepalen welk onderdeel het volgende is dat ontwikkeld zal worden. Dit is het andere uiterste, maar ergens in het midden -tussen niets schatten en alles schatten- ligt een benadering die het beste van beide werelden combineert.

De meest belangrijkste voorwaarde voor deze benadering is dat de opdrachtgever volledig vertrouwen heeft in de software-ontwikkelaar en diens aanpak. Het type vertrouwen waar ik het hier over heb is helaas nog vrij zeldzaam, zeker als het de eerste samenwerking tussen beide partijen betreft. En zelfs als er wel al eerder projecten zijn gedaan vergt het nog veel vertrouwen en is een zeer open en intensieve communicatie van groot belang.

Maar de voordelen zijn er dan ook naar. Het allergrootste voordeel is dat alle features die ontwikkeld worden ook daadwerkelijk waarde toevoegen. Dat weet je omdat je pas vlak van te voren beslist wat er in de komende periode (sprint) zal worden ontwikkeld. Bij een meer traditionele projectaanpak (zoals watervalmethode) beslis je op voorhand over het hele project en over welke features wanneer gebouwd worden. Je neemt gedurende het project dus geen voortschrijdend inzicht of eventuele feedback van gebruikers mee. Met het risico dat het eindresultaat al achterhaald is voor het goed en wel live gaat.

Een ander groot voordeel is dat je op ieder moment het project kunt stilleggen en toch werkende software kunt hebben.

Minimal Viable Product

Hoe werkt dat dan? Eerst moeten we dan uitleggen wat een minimal viable product (MVP) is. Dit is een variant van de oplossing die uitsluitend essentiele functionaliteit bevat. Zogenaamde ‘nice to have’ features zullen er niet in zitten. Het MVP is bedoeld om snel aan gebruikers te geven teneinde feedback te verzamelen om het uiteindelijke product te verbeteren. Volgens de NoEstimates aanpak moet je aan het einde van iedere fase in het project als resultaat een werkend product hebben.

De auto in de bovenstaande afbeelding is het MVP waar je als klant naar op zoek bent. Maar om ervoor te zorgen dat je gedurende het project een werkende oplossing hebt waarmee je ook van A naar B komt begin je met het maken van een skateboard.. logisch, toch?

Als we wederom de vergelijking met waterval projecten maken dan is dit een duidelijk verschil omdat bij dit soort projecten de afzonderlijke onderdelen van een oplossing eerst helemaal worden afgerond alvorens met het volgende onderdeel te beginnen. Wanneer je zo’n project halverwege stopt heb je dus sommige delen helemaal en andere helemaal niet. Vergelijk het maar met een half afgebouwde auto zonder wielen of motor. Agile/NoEstimates gaat uit van een soort organische groei, zoals de groei van een plant of boom.

Verwachten we dat we vanaf nu geen schattingen meer hoeven te maken? Nee. Denken we dat alle klanten juichend deze aanpak zullen omarmen? Nee. Hebben we dit zelf al helemaal in de vingers? Nog niet. Maar we zijn er wel van overtuigd dat de agile aanpak de enige juiste is en dat het aangaan van een project op basis van vertrouwen, goede communicatie en transparantie de toekomst heeft. En daar zijn wij nu al onderdeel van.

Bart

Bart Thevissen

Ervaren account-manager met oog voor detail, gevoel voor humor en de drive om dingen voor elkaar te krijgen.