Systeemontwikkeling op basis van een Agile methodologie is hot. Logisch, want de aanpak belooft veel functionaliteit voor een lage prijs. De aanpak gaat uit van globale ideeën die gaandeweg verder worden uitgewerkt. Maar, weten alle betrokken partijen bij de start wel waar ze precies mee aan de slag gaan? Of is het volledige project gebaseerd op wederzijds vertrouwen?
Concrete afspraken
Voordat een project start verwachten alle betrokken partijen een duidelijk beeld van kosten en scope. Ook in een project met een Agile aanpak. Een offerte zonder duidelijke afspraken over scope en prijs is ondenkbaar. Tegelijk worden de meeste voordelen in een Agile project behaald door de vrijheid en creativiteit van het team. Ook wordt veel winst geboekt door het continu bijstellen van de scope. Duidelijke afspraken blijven noodzakelijk, maar mogen de werkwijze niet teveel beïnvloeden.
Een goede inschatting
Een Agile werkwijze voor software ontwikkeling biedt veel voordelen op het gebied van interactie, flexibiliteit en zichtbaarheid. Een gevolg van deze voordelen is dat scope, prijs en planning niet exact te voorspellen zijn. In het offertestadium moet je hier dan ook rekening mee houden. Er is behoefte aan een goede inschatting, maar waarvan? De functionaliteit is vaak onvoldoende uitgewerkt om een nauwkeurige inschatting op te maken en wordt continu bijgesteld. Schat daarom de gewenste functionaliteit zo nauwkeurig mogelijk in en vul dit aan met een inschatting van de capaciteit van het team. Met deze twee parameters reken je het project door.
Inschatten, dat doe je samen
Agile werkt met story points. Een story point staat voor de impact van een stuk functionaliteit (story). Een story krijgt een aantal story points toebedeeld. Het aantal points geeft de zwaarte aan ten opzichte van andere stories. In dit stadium worden benodigde tijd en kosten dus nog niet ingeschat. Hierdoor is het voor klanten (of de business) met enige technische achtergrond goed mogelijk om actief deel te nemen aan dit proces. Het is dan ook een goed idee om de klant te betrekken bij het inschatten van de functionaliteit in story points. Dit creëert draagvlak en betrokkenheid.
Allemaal tevreden met het resultaat
Binnen Agile projecten start een iteratie met een planningssessie en wordt afgesloten met een demonstratie van de gerealiseerde functionaliteit. In elke planningssessie wordt opnieuw een inschatting gemaakt van de ingebrachte stories. Deze nieuwe inschatting kan vergeleken worden met de inschatting die in de offerte is opgenomen. Dit is een belangrijke stap omdat het verschil het meer- of minderwerk aangeeft. Zorg dat het mandaat van het team vooraf is vastgelegd. Mag het team bijvoorbeeld schuiven met story points tussen verschillende stories? Welke toleranties krijgt het team (in budget en tijd)? Als het speelveld bekend is, kan het team zelfstandig naar een oplossing zoeken. Dit is geheel in de Agile gedachte en voorkomt onnodige escalaties.
Goede combinatie
Door deze aanpak te volgen, is het mogelijk om duidelijke afspraken met klant of business bij aanvang van het project te maken zonder dat dit ten koste gaat van de flexibiliteit van de Agile werkwijze. Als het Agile proces goed wordt uitgevoerd, blijven de ingeschatte kosten gelijk bij gelijke doorlooptijd en wordt de functionaliteit steeds beter.
Essentieel voor het succes van deze aanpak is een goede inschatting van de capaciteit van het team. Dit is eigenlijk de enige “fixed price” inschatting die wordt afgegeven. Dit is dan ook de kritische succesfactor voor het project. Alleen voor een ingewerkt team met de juiste samenstelling en ervaring is vooraf een goede inschatting van de capaciteit te maken.