Wat is Agile?

Wat is Agile?
Agile is een verzamelnaam voor iteratief projectmanagement. Stromingen binnen agile zijn onder andere SCRUM, XP, DSDM en RUP. In plaats van uitgebreide plannen voorafgaand aan de start van een project, is de agile benadering een cyclische benadering waarbij je in korte iteraties ontwerpt, een (klein) deel bouwt, test en oplevert om zo sneller tot een beter eindresultaat te komen. Agile wordt voornamelijk binnen IT projecten toegepast alhoewel er ook projectgroepen zijn binnen de creatieve sector en de wetenschap die agile elementen gebruiken.

Kenmerken van Agile
Iteraties
De meeste agile-methoden proberen risico’s te verminderen door software te ontwikkelen in korte overzichtelijke perioden (timeboxes), die ‘iteraties’ genoemd worden. Elke iteratie is als het ware een miniatuurproject op zichzelf, en omvat alle noodzakelijke taken: planning, analyse, ontwerp, testen en documentatie. Het is de bedoeling om na iedere iteratie iets bruikbaars op te leveren. Aan het eind van de iteratie wordt het product getoond, getest en het product en proces beoordeeld. Hierdoor wordt het risico beperkt en weet men snel of men op de goede weg zit. Doordat men het product ziet wordt het allemaal concreter en komen er nieuwe ideeën. Aansluitend wordt dan naar de projectprioriteiten gekeken en bepaald wat in de volgende iteratie (release) gedaan wordt.

Communicatie
Bij agile-methoden ligt de nadruk op directe communicatie, bij voorkeur persoonlijk contact, in plaats van geschreven verslaglegging. In agile-projecten wordt erg weinig geschreven documentatie geproduceerd, vergeleken met andere methoden. De meeste agile-teams zijn gehuisvest op één locatie, een zogenaamde “bullpen”. Zo mogelijk zijn alle mensen die nodig zijn voor het project in zo’n team ondergebracht. Ten minste zijn dit de ontwikkelaars en diegenen die het product definiëren. Dat kunnen productmanagers zijn, business-analisten of zelfs klanten. Bij Scrum heeft het team ook geen projectmanagers, maar scrummasters die hiërarchisch niet boven het team staan, maar deze ondersteunen. Dat bevordert zeker de open communicatie tussen de gelijkwaardige teamleden. Bij XP is er ook sprake van pair programming, waarbij twee ontwikkelaars direct samenwerken. Dit is een erg directe manier van communicatie.

Voortgang
Bij agile-methoden wordt de voortgang afgemeten aan de hand van werkende producten, features of prototypes. Aan het eind van elke iteratie of sprint wordt zowel het opgeleverde product beoordeeld als het ontwikkelproces. Doel is om te leren en steeds beter te worden. Dit aspect, de continue verbetering, (Kaizen) is overgenomen uit de Lean-productiemethoden.

Werkende software
Er wordt de nadruk gelegd op werkende software. In elke iteratie moet er iets werkends worden opgeleverd. Iets dat ook direct geïntegreerd wordt in de bestaande software, waardoor duidelijk wordt of dit ook goed gaat.

Geschiktheid van agile-methoden
Of agile-methoden algemeen geschikt zijn is afhankelijk van de invalshoek. Agile-methoden zijn geschikter naarmate eisen nog vaag en veranderlijk zijn. Vanuit organisatorisch oogpunt kan de geschiktheid worden bepaald aan de hand van drie dimensies: cultuur, mensen en communicatie. Succesfactoren daarbij zijn:
– De cultuur van de organisatie moet openstaan voor discussie en onderhandeling;
– De organisatie dient mensen (fulltime) vrij te maken om besluiten te nemen over wat de organisatie wil en om te testen of het opgeleverde ook daaraan voldoet;
– De organisatie dient vertrouwen te hebben in de medewerkers;
– De organisatie moet de beslissingen accepteren die hun afgevaardigden / producteigenaars / product-managers nemen;
– De organisatie moet een omgeving hebben waarin snelle communicatie tussen teamleden mogelijk is;
– De medewerkers binnen de organisatie dienen het vermogen te hebben om te kunnen samenwerken.

Agile-bestaansgrond
– Als nog onduidelijk is wat men precies wil;
– Als snel eerste resultaten gewenst zijn;
– Als de eisen steeds wijzigen;
– Continue beschikbaarheid van klant en gebruikers is noodzakelijk om te bepalen wat men wil en de opgeleverde resultaten te testen;
– Kan goed overweg met veranderingen, ook laat in het project;
– Er wordt geclaimd dat Agile 2 à 10 maal zo snel kan zijn als een traditioneel traject.

Bestaansgrond van traditionele voorschrijvende methoden
– Als men niet wil veranderen en ontwikkelaars niet wil omscholen;
– Als men vooral junior ontwikkelaars heeft;
– Bij vaststaande projecteisen en scherpe specificaties, oftewel als vooraf duidelijk is wat men wil bereiken;
– Als de omgeving slechts langzaam verandert zoals de (semi) overheid, die orde vereist, en waarbij geen veranderingen in requierements optreden tussen de afronding van de analysefase en de implementatiefase.

Copyright © 2008 - 2017 IT Management Group