
Het is algemeen bekend dat veel softwarerealisatie projecten, die uitbesteed zijn aan een leverancier, spaak lopen en minder rendement opleveren dan vooraf gedacht en gehoopt. Het is minder bekend dat de plank al misgeslagen wordt door keuzes bij de start van een project. In deze aflevering laat ik zien wat de nadelen zijn van een beloning die gebaseerd is op inspanning.
Wat klant en leverancier aan het begin van een softwarerealisatie traject overeenkomen, kan later voor grote dilemma’s zorgen. Dit bleek uit het voorbeeld van de rechtszaak tussen De Beers en zijn IT-dienstverlener, dat in de vorige aflevering van deze blogserie besproken is. Een leverancier kan zonder een gedetailleerde bouwtekening geen goede kosteninschatting en begroting voor een project maken. Afnemers moeten zich beseffen dat de fixed prijs en deadline waar leveranciers mee inschrijven rekbaar zijn als de specificaties van een systeem nog niet vastliggen. Zeker als de contouren van de nieuwe applicatie nog niet duidelijk genoeg zijn. Dit is een teken dat een contract te vroeg in de levenscyclus afgesloten wordt.
Simpele optelsom
Maar die ruwe schets van een applicatie is wel de standaard werkwijze volgens het agile gedachtengoed. Tot in de details vastleggen en documenteren van een softwaresysteem voordat het programmeren
Meten is weten
Meten is weten, ook bij applicatieontwikkeling. METRI, een fact based IT adviesorganisatie gespecialiseerd in sourcing en benchmarking, is een samenwerking aangegaan met CAST, een vooraanstaande internationale leverancier van hulpmiddelen voor het doormeten van softwarecode. De samenwerking heeft tot doel organisaties te helpen op een kostenefficiënte manier inzicht te krijgen in de objectief vastgestelde omvang en kwaliteit van applicaties. Hiermee zijn de prestaties te meten van leveranciers die het onderhoud en beheer van applicaties uitvoeren ook vanuit de agile ontwikkelmethode. Op CIODay 2016 zal METRI volop aandacht besteden aan het adequaat sourcen van applicatieontwikkeling in het agile tijdperk. Kijk voor meer informatie op https://metrigroup.com/events/
begint, is volgens deze methode een doodzonde. Een applicatie wordt in nauw overleg met de opdrachtgever in meerdere stappen ontwikkeld tot een product dat zo snel mogelijk in productie te nemen is. De prijs voor dit soort ‘Time and Materials (T&M)’ projecten is doorgaans gebaseerd op de omvang en de kwaliteit van het team bij de leverancier. Dat is een simpele optelsom. Een leverancier stelt een team voor, dat de kwaliteit kan leveren die de klant nodig heeft. De kosten van dat team zijn te berekenen door het uurtarief per persoon te vermenigvuldigen met het aantal uren dat een persoon bijdraagt aan die sprint. De klant betaalt op deze manier de leverancier voor de inspanning.
Ogenschijnlijk is er een resultaatverplichting voor de leverancier. Aan het einde van de sprint moet er tenslotte werkende software opgeleverd worden die voldoet aan de ‘definition of done’. De catch zit hem in het feit dat agile teams zelf bepalen wat zij realistisch vinden in een sprint. Zij kunnen er dus ook voor zorgen dat er relatief weinig werk meegaat in een sprint. De rest van de wensen en eisen blijft in de product backlog staan. Niet zelden zijn er meer sprints nodig dan initieel gedacht om de ‘minimal releaseable scope’ op te leveren en is er een uitloop in de tijd. Zeker als de focus ligt op lage uurtarieven, kan het resultaat in de praktijk enorm tegenvallen. De leverancier kan rustig zijn uren maken en het risico ligt volledig bij de klant.
Productiviteit
Als klant wil je die situatie voor zijn. Om die reden is grip op de productiviteit van de leverancier tijdens de looptijd van het contract onontbeerlijk. De combinatie van een agile werkwijze en T&M-contracten helpt de klant vaak niet om een goed onderbouwd budget vast te stellen of achteraf de gemaakte kosten adequaat te verantwoorden. Om die reden is het belangrijk om de beloning niet vast te pinnen op de inspanning maar op het resultaat. In de volgende blog krijg je te zien hoe je productiviteit concreet kunt maken.