Open Source Sofware

030 - 34 10 34 9 agile@www.nipon.nl

Wat is Agile?

‘Agile’ betekent letterlijk: behendig, lenig. In de ICT staat het voor softwareontwikkeling in korte overzichtelijke perioden van vaak niet meer dan een maand, soms zelfs hooguit een week. Deze perioden heten ‘iteraties’ en zijn als het ware kleine projecten op zich zelf. Op deze pagina gaan we in het ontstaan, doel en nut van Agile werken. 

Het ontwikkelteam werkt bij Agile ontwikkeling onderling zeer intensief samen, communiceert persoonlijk met elkaar en veel met andere belanghebbenden in het project. Het team probeert aan het einde van iedere iteratie vrijwel altijd iets bruikbaars op te leveren. Na iedere iteratie heroverwegen de ontwikkelaars de projectprioriteiten.

Manifest
In febuari 2001 kwamen 17 prominenten op het terrein van Agile-ontwikkeling bijeen. De groep stelde het Agile Manifest op, waarnaar puristische Agile-ontwikkelaars nog altijd graag verwijzen. Enkele principes uit het Manifest:

  • Klanttevredenheid door snelle levering van bruikbare software op continue basis.
  • Regelmatig aanbod van nieuwe werkende software (eerder per week dan per maand).
  • Wijziging van doelstellingen zijn welkom, zelfs laat in het proces.
  • Nauwe samenwerking op dagelijkse basis tussen ontwikkelaars en hun belanghebbenden.
  • Direct persoonlijk contact.
  • Eenvoud.
  • Zelf-organiserende teams.
  • Voortdurende aanpassing aan veranderende omstandigheden.

Agile ontwikkelingsmethoden zijn al veel ouder dan het manifest. Zo kent Scrum – een bekende Agile methode met vaste samenstelling bestaande uit een projectleider, een projecteigenaar en een team – zijn wetenschappelijke ‘coming out’ in 1986. Extreme Programming (XP) en de Dynamic Systems Development |Method (DSDM) van medio jaren negentig, toen deze nog bekend stonden als ‘light-weight-methods’.

Anti-waterval
Alle varianten van Agile methodes zetten zich af tegen de Waterval Ontwikkelmethode, een model dat bestaat uit vast omlijnde fases waarbij het hoogste niveau als eerste wordt uitgevoerd en daarna de lagere – gelijk een waterval. Een model dat oorspronkelijk afkomstig is uit de bouwsector, waar aanpassingen naderhand hand prijzig, zo niet onmogelijk zijn.

Dit watervalmodel – dat pas naar een volgende fase gaat als de vorige is afgesloten- zou te bindend zijn, te log en te bureaucratisch (veel papierwerk!). In tegenstelling tot de Agile methodes, die rekening kunnen houden met veranderende doelstellingen en zich bevrijden van bureaucratie door de nadruk op persoonlijk contact.

Tegelijkertijd lijkt dat ook de zwakte van Agile ontwikkeling: als plannen telkens veranderen en communicatie niet in documenten vastligt, ligt de weg open naar willekeur en chaos. Daarom moet er een organisatie staan die past bij de Agile methode: een open, communicatieve cultuur waarin competente mensen het vertrouwen krijgen om beslissingen te nemen.

Bescheiden start
In de vroege jaren werd Agile ontwikkeling alleen toegepast op relatief eenvoudige bedrijfstoepassingen. Doordat de methode complexe projecten in kleine stukjes hakt – de iteraties – zou Agile ontwikkelen juist heel goed passen bij complexe, langlopende projecten. De kans dat doelstellingen wijzigen gedurende het project is vrij groot en een Agile methodiek kan daarop inspelen.

Veel bedrijven willen dan ook Agile ontwikkelen bij een breder scala projecten. Alleen al bij IBM is het aantal Agile-projecten tussen 2007 en 2009 gegroeid van 5 tot meer dan 200. Uit onderzoek van Forrester uit 2010 blijkt dat zeker 35 procent de softwareontwikkeling die plaatsvindt Agile genoemd mag worden. Wordt de definitie iets breder genomen, dan werkt 46 procent Agile.

Hybride nieuwe vorm
“Teams gebruiken tegenwoordig een mix van methodologiën en combineren om te voldoen aan de wensen van de organisatie. In het ontwikkeltraject worden Agile en niet-Agile technieken gebruikt die leiden tot een hybride methodologie”, schrijft het rapport.

Tegelijkertijd is de snel gegroeide aandacht voor Agile ontwikkeling sinds 2001 ook aanleiding geweest voor cynische geluiden: het zou een te hoog hype-gehalte hebben en het zou te vaak gaan om oude wijn in nieuwe zakken.

Maar kritiek past binnen de Hype Cycle zoals de analisten van Gartner die tekenen: eerst is er de vinding, dan volgt een piek van opgeblazen verwachtingen waarna de desillusie volgt. Een methodiek die de desillusie doorstaat, is echter klaar om door te groeien tot een gangbaar en breed geaccepteerd verschijnsel. En dat laatste lijkt intussen gebeurd te zijn, ondanks dat een andere trend is dat sommige ontwikkelteams voor een geheel eigen aanpak kiezen. Forrester schreef daarover: “Ze zien Agile als een ethos en vissen de krenten uit de pap bij allerlei procesmodellen.”

Dit artikel is mede tot stand gekomen dankzij bijdragen van Marc Jansen en Kristian van Tuil.

BRON: Computerworld.

 

Scrum is slechts een toolkit. Agile is een mindset.

Scrum is een methode
Agile is een mindset
Een mindset kun je leren