De 11 zonden van Software Cost Estimation

Auteur(s): Harold van Heeringen

Met grote interesse volg ik een twitterdiscussie tussen Glen B. Alleman (@galleman) en Vasco Duarte (@Duarte_Vasco) over de zin en de onzin van het begroten van software projecten. Vasco Duarte is een Agile, Lean and Scrum Speaker en een voorstander van #NoEstimates, de beweging die vindt dat het moeilijk is om sofwareprojecten te begroten en dat er daarom maar geen energie in gestopt moet worden. Hij heeft hier zelfs een boek over geschreven.

Glen B. Alleman is een ervaren project manager die o.a. het boek ‘Performance-Based Project Management: Increasing the Probability of Project Success’ heeft geschreven en een groot voorstander is van het toepassen van professionele cost estimation methoden, ook voor software. Even een paar tweets om er in te komen:

Metri Tweet
Metri tweet

Persoonlijk vind Ik het erg interessant om te zien hoe de hardcore ‘agilisten’ van deze wereld het durven voor te stellen om de fundamentele principes van organisatiekunde overboord te zetten. In mijn ogen heeft Glen gelijk. Iemand besteedt geld en wil begrijpen of datgene waar hij het aan uitgeeft ook zinvol is en of het Value for Money opbrengt. Bij de Agile team Performance Monitor projecten die we vanuit Metri doen zien we het keer op keer: Dezelfde feature wordt meerdere keren (in meerdere sprints) ontworpen, gebouwd en getest. Dit zorgt ervoor dat de functionaliteit die op moment X klaar zou moeten zijn, vaak nog lang niet klaar is. Zeker in het geval van outsourcing vinden leveranciers dat prima, want dan kunnen ze nog een paar extra sprints factureren.

Agile projecten komen net zo vaak in de problemen wat dat betreft als de traditionele watervalprojecten, alleen is het minder zichtbaar omdat er meestal geen vaste prijs en vaste opleverdatum zijn vastgesteld. Soms is dat niet erg, maar wat nou als er een grote marketingcampagne gepland is waar deze functionaliteit voor nodig is, of wat als er een wet ingaat en deze functionaliteit nodig is voor de uitvoering daarvan?
Bij Software Cost Estimation gaat het meer om het begroten van de hoeveelheid functionaliteit die klaar is op moment X en tegen welke kosten die dan klaar is. Het professioneel begroten is bittere noodzaak om de risico’s zoveel mogelijk te beperken.

Toch is het niet zo dat de #NoEstimates beweging nergens op gebaseerd is. Veel organisaties hebben weinig kennis van het begroten van software projecten en gebruiken alleen ‘human judgment’ methodes. Mensen zijn erg optimistisch van nature en als dit de enige methode is, is er een grote kans dat de begrotingen altijd te positief zijn. Dat leidt tot grote (onevenredig grote) problemen! Ik zag onlangs een presentatie van onze partner Galorath, de wereldwijd leider op het gebied van Cost Estimation software, waarbij de 10 deadly sins van Estimation voorbij kwamen. Veel organisaties trappen in een of meerdere van deze valkuilen:

1. Het verwarren van een begroting met een targets.
2. Toegeven aan druk vanuit het Management.
3. Te vroeg commitment geven, terwijl er nog maximale onzekerheid is t.a.v. het te realiseren product.
4. Denken dat een optimistische begroting geen problemen oplevert.
5. Begroten in de onmogelijke zone, iets doen wat nog nooit eerder gedaan is.
6. Denken dat het gebruik van nieuwe tools en technieken enorme productiviteitswinst oplevert.
7. Slechts 1 begrotingstechniek gebruiken (human judgment).
8. Geen gebruik maken van parametrische modellen.
9. Het negeren van risico analyses.
10. Het gebruiken van een ‘Rough order of magnitude’ begroting en deze niet meer aanpassen nadat de onzekerheid minder is geworden.

Ik zou hier zelf nog een 11e aan toe willen voegen:

11. Het luisteren naar de #NoEstimates voorstanders, die denken dat het onmogelijk is accurate begrotingen te maken van software development projecten.. en dit dan ook maar niet meer willen doen.

Het professioneel begroten van software projecten is een echt vakgebied. Metri gebruikt gecertificeerde functiepunt analisten om de te realiseren omvang vast te stellen en gebruikt professionele software cost estimators om vervolgens langs verschillende assen een gedetailleerde begroting te maken van de benodigde uren per functie/rol, de kosten, de doorlooptijd, de teamomvang. Hierbij worden de geavanceerde modellen van Galorath SEER-Sem gebruikt in combinatie met de duizenden projecten in de Metri database. Voor meer informatie, zie die IT Intelligence pagina van Metri.



Deel dit artikel:

Boeingavenue 251 - 1119 PD Schiphol-Rijk - Nederland - Tel + 31 20 655 1777