Veel softwareontwikkelingbedrijven gebruiken Prince-2 of een andere projectmanagementmethode om hun IT projecten te managen. Vaak worden IT projecten uitgevoerd binnen een vastgestelde tijd, budget en grootte. Hoe matchen we dit met de Agile aanpak, die wel gebruikersverhalen (user stories) en een planning (backlog) heeft, maar geen vaste scope en einddatum?
Ten eerste is het vastzetten van tijd, geld en grootte in projecten vaak een illusie. Veel IT projecten zijn niet succesvol, dit resulteert in hogere kosten, niet genoeg functionaliteit of kwaliteit, het niet halen van deadlines of een combinatie van het voorgaande. Alles vastzetten is simpelweg niet mogelijk, dat moet je niet willen.
Tijd en geld: No problem
Met Agile is het meestal eenvoudig om de kosten en einddatum van het project te bepalen. Projectkosten bestaan voor het grootste gedeelte uit kosten van teamleden. Als de grootte van de Agile teams bekend is, en een datum voor de levering vaststaat, is eenvoudig uit te rekenen wat het project zal gaan kosten. Het opvolgen van de uren en kosten is in Agile projecten veelal hetzelfde als in traditionele projecten met behulp van een uren rapportage.
Sturen op functionaliteit
Agile gebruikt gebruikersverhalen om de meest belangrijke functionaliteit als eerste te leveren. En omdat Agile teams “werkende software in sprints” leveren en constant hun manier van werken verbeteren zijn de meeste Agile projecten succesvoller qua levering dan watervalprojecten. Technieken zoals story points en planning poker worden door Agile teams gebruikt om een schatting van de activiteiten te maken. De producteigenaren gebruiken de backlog om de inhoud van het project te managen. Als het gaat over de voortgang van een project moet de agile projectmanager laten zien welke functionaliteit geleverd is en (aan de hand van de huidige prioriteiten) wat er nog geleverd gaat worden tijdens de rest van het project. Dit is anders dan het traditioneel rapporteren van voortgang, wat vaak gebaseerd wordt op doelen die moeten worden behaald. Maar het praten over de geleverde functionaliteit geeft echt beter inzicht in de waarde die de klant ontvangt, dit maakt het makkelijker voor projectmanagers en stuurgroepen om projectresultaten te managen.
Zorgen voor Kwaliteit
Projecten managen betekent ook de kwaliteit van de software managen. Agile gebruikt de Definition of Done (DoD) om de vereiste kwaliteit van de software te definiëren. De DoD beschrijft wat er moet gebeuren voor de software geleverd kan worden, ik beschouw de DoD als de precieze beschrijving die het team gebruikt om hun werk te doen, hun werkproces. De acceptatietesten die tijdens de planning game worden gedefinieerd geven aan hoe de software geëvalueerd gaat worden. Omdat deze acceptatietesten overlegd worden met de producteigenaar kunnen ze ook gezien worden als definitie van de vereiste kwaliteit van de software.
Conclusie
Agile ondersteunt het managen van tijd, kosten, functionaliteit en kwaliteit, zoals verwacht wordt door projectmanagementmethoden als Prince-2. Eens of oneens? Ik hoor graag van je!