Projectmanagement: Agile- vs Waterfall-methodologie

Projectmanagement gaat om het beheersen van (meerdere) projecten. Dit is de manier waarop projecten georganiseerd, voorbereid, gepland, uitgevoerd en afgerond worden. Het uiteindelijke doel hiervan is natuurlijk om een project zo succesvol mogelijk te laten verlopen. In deze blog vergelijken we de voor- en nadelen van twee methodologieën: Agile vs Waterfall.

Wanneer het gaat om het uitvoeren en managen van projecten, maken we binnen Harvest de keuze tussen de Waterfall of de Agile methode. 

Waterfall

De Waterfall methode hanteert een traditionele manier van werken. Hierbij wordt een duidelijke scope vastgesteld, waarbij via een lineair proces meerdere stappen nagelopen worden. Alle stappen volgen elkaar logischerwijs op, en een fase kan pas starten wanneer de fase daaraan voorafgaand is afgerond. Daarbij geeft de klant akkoord voordat het project is gestart. De methode is eenduidig en vooraf gedefinieerd; men beweegt van het verzamelen van de documentatie eisen, naar het uiteindelijk opleveren van het product. Zodra er een oplossing is ontworpen, is het tijd om functionele- en systeemtesten uit te voeren, met daaropvolgend een User Acceptance Test: hierbij wordt de oplossing getest op functionaliteit, usability en eventuele bugs. Zodra eventuele bugs zijn gefixt, en de oplossing voldoet aan de eisen van de gebruiker, is het tijd voor de oplevering van het product.  

Voordelen 

  • Ontwikkelaars en klanten zijn er in de beginfase van het project over eens wat er wordt opgeleverd. Dit zorgt voor eenvoudig plannen en ontwerpen.
  • Gezien voorafgaand aan het project de volledige omvang van het werk bekend is, is de voortgang makkelijk te meten. Men werkt naar een duidelijk doel.
  • Projectleden weten duidelijk wat er van hen verwacht wordt. Zo kan men aansluiten wanneer een specifiek deel van het project wordt gestart.
  • De klant weet precies wat hij krijgt. Daarbij is de klant tijdens het proces minimaal betrokken.
  • Aangezien het direct duidelijk is wat er gemaakt dient te worden, is er ruimte om het project van te voren duidelijk uit te werken. Hierdoor werk je niet met “losse brokjes”, maar meer als een totaal geheel.
  • Een goede scope zorgt voor meer inzicht in budget.  

Nadelen

  • De scope dient duidelijk te zijn en het ontwerp dient hierop aan te sluiten. Dit is vaak een ingrijpend proces en kan veranderen tijdens het project. Het verzamelen van al deze informatie kost veel tijd en kan klanten afschrikken. Gezien klanten vaak niet goed weten wat ze zelf willen, is veel sturing nodig.
  • Aangezien alle te leveren producten zijn gebaseerd op gedocumenteerde vereisten, kan het zijn dat een klant pas ziet wat er wordt geleverd zodra het bijna klaar is. Tegen die tijd kunnen wijzigingen moeilijk (en kostbaar) zijn om door te voeren. 

Agile

De Agile methode is een team gebaseerde methode, waarbij gewerkt wordt in sprints. Elke sprint heeft een gedefinieerde duur (meestal in een X aantal weken) met een lopende lijst met deliverables, gepland aan het begin van de sprint. Wanneer niet alle geplande taken voltooid kunnen worden voor het eindigen van de sprint, wordt het werk opnieuw geprioriteerd en wordt de informatie gebruikt voor toekomstige sprintplanning. Dit kan dus doorgeschoven worden naar een volgende sprint. Aan het einde van een sprint kan het werk worden beoordeeld en geëvalueerd door het projectteam en de klant. Dit door middel van dagelijkse builds en end-of-sprint-demo’s. Agile vertrouwt op een zeer hoge mate van klantbetrokkenheid gedurende het heel project.

Voordelen

  • De klant heeft regelmatig de gelegenheid om het geleverde werk te zien en daarbij te beslissen of er veranderingen gemaakt moeten worden tijdens het ontwikkelingsproject.
  • De klant krijgt een sterk gevoel van eigenaarschap door gedurende het hele project intensief en rechtstreeks met het projectteam samen te werken.
  • Wanneer de oplevertijd van een specifieke software applicatie belangrijk is kan Agile sneller een basis versie neerzetten. Additonele functies worden dan in daaropvolgende iteraties opgebouwd.
  • De ontwikkeling is vaak meer gebruikersgericht. Dit is vooral het resultaat van meer en frequente sturing door de klant. 

Nadelen

  • Hoewel de zeer hoge mate van klantbetrokkenheid zeer positief kan werken voor het project, kan dit ook een obstakel vormen. Bijvoorbeeld wanneer de klant geen tijd of zin heeft in dit soort sessies.
  • Agile werkt het beste als de leden van het ontwikkelingsteam volledig toegewijd zijn aan het project.
  • Aangezien Agile zich richt op levering, is het mogelijk dat sommige items die voor levering zijn ingesteld, niet binnen het toegewezen tijdsbestek worden afgerond. Extra sprints kunnen nodig zijn, wat ervoor zorgt dat de projectkosten hoger komen te liggen. 
  • Doordat de klant betrokken bij de oplevering van het project leidt dit vaak tot aanvullende functies die tijdens het project worden gevraagd. 

Voor welke projectmethode ga jij?

Elke klant is anders en verdient daarom zijn eigen aanpak. Er kan ook gekozen worden voor een combinatie van beide methoden. Denk aan een duidelijke scope vooraf, maar wel agile in de vorm van een dynamische aanpak, oplevering en (hoge) betrokkenheid van de klant. Onze voorkeur gaat uit naar Agile, maar Waterfall is zeker geen gesloten zaak. Veelal ligt het aan de klant of het type project; is dit groot, zonder een duidelijke scope? Ga dan voor Agile. Is het een klein project met een duidelijke scope, dan is Waterfall de beste keuze.

Meer weten over hoe wij de Agile of Waterfall methode in kunnen zetten om jouw project succesvol te laten verlopen? Neem contact met ons op!

© Harvest Digital. All rights reserved.