Agile nu en toekomst

11 Nov 2013
Submitted by croga

Agile nu: Software Development
Forester’s Tom Grant, Ph. D. stelt in zijn stuk dat Agile vooral zo succesvol blijkt in software ontwikkeling omdat het niet probeert meer te beschrijven dan alleen het software ontwikkel proces.
In plaats van het volledige proces tussen idee en markt te beschrijven heeft Agile zich beperkt tot dat deel van het proces waar de software gebouwd wordt. De tools die Agile biedt richten zich volledig op het vereenvoudigen en versnellen van dat deel van het proces.

De voordelen die Agile biedt op het gebied van software ontwikkeling zijn voor de meeste partijen duidelijk, aldus Tom Grant. De hogere opleversnelheid van functionaliteit, de hogere kwaliteit en de betere samenhang van ontwikkelteams zijn snel geaccepteerde voordelen.
Wat echter ook meteen duidelijk wordt is dat de verandering in de manier van opleveren een impact heeft op de gehele organisatie. Waar vroeger een applicatie aan het eind van het project overgedragen werd aan een beheer organisatie, wordt deze nu iedere paar weken aangeboden. Waar in het verleden een gebruikersgroep opgeleid moest worden voor een nieuwe applicatie krijgt men nu iedere paar weken nieuwe functionaliteit. Waar in het verleden vooraf uitgebreide onderzoeken, beschrijvingen en berekeningen gedaan werden kan de gewenste functionaliteit nu iedere paar weken aangepast worden en daarmee opnieuw ingeschat. Waar organisaties ingericht zijn om functionaliteit in “Big bang” vorm te implementeren vraagt Agile om een “Business as usual” aanpak. Dit vergt een andere manier van het voeren van een project en daarmee een andere inrichting van een organisatie met andere invulling van de verschillende rollen.

Agile straks: Value Stream
De implementatie van Agile methoden in software ontwikkeling heeft directe gevolgen gehad voor de rollen die het dichtst bij software ontwikkeling staan. Applicatie Architecten kunnen geen losse rol meer vervullen; ze zullen onderdeel moeten zijn van het team om iedere beslissing direct te toetsen. Testers zijn geen “nazorg” meer maar opereren direct in het team en werken direct samen met de ontwikkelaars. Projectleiders hebben een draai gezien van voorspelling naar ervaren en van volledige controle naar improvisatie.
Om terug te komen op een eerdere uitspraak: “Zoveel mogelijk waarde tegen zo laag mogelijke kosten”. Om dit concept verder door te zetten moeten we verder kijken naar wat “Waarde” nu precies is. Functionele eisen geven het ontwikkel team geen goed beeld van wat de gebruikers nu precies nodig hebben, vergaande samenwerking binnen een Agile methode geeft dat wel.

Agile maakt vaak gebruik van User Stories om functionaliteit te definieren. Door deze te vatten in Themes en Epics (verzamelingen van User Stories die bij elkaar één brok functionaliteit vertegenwoordigen) wordt het verband ook duidelijk.
Themes en Epics geven vervolgens de mogelijkheid aan het ontwikkel team om dezelfde functionaliteit op eenvoudigere wijze te implementeren en op die manier dezelfde waarde tegen lagere kosten te realiseren.
Deze combinatie van tools zorgt er voor dat een Agile team in staat zal zijn een applicatie te leveren die beter aansluit bij de wensen van de gebruikers tegen lagere kosten.

Agile brengt daarnaast ook de spanningen met andere afdelingen duidelijk naar voren. Het feit dat er iedere paar weken software opgeleverd wordt betekend niet dat het Beheer team in staat is daar mee om te gaan. Het betekend niet dat de installatie van die software sneller of vaker kan. Het betekend niet dat de gebruikers in staat of bereid zijn vaker met de software ontwikkelaars samen te werken. Agile Software ontwikkeling in lijn brengen met de organisatie en vice versa is een proces wat nu gaande is en wat hard nodig is om te zorgen dat de vooruitgang in snelheid en kwaliteit te laten landen binnen de rest van een organisatie.

Agile in te toekomst: IT als onderdeel van de Business
En wat brengt de toekomst verder? Als we kijken naar de visie van analysten dan zal Agile in de toekomst zorgen voor verdere integratie van software ontwikkeling in de organisatie. Om Agile nog effectiever te laten zijn zien we, bijvoorbeeld, IT afdelingen verdwijnen en op gaan in de rest van de organisatie. We zien software ontwikkeling steeds dichter tegen de gebruiker aan staan zodat de software nog beter aansluit op het leveren van waarde. We zien wellicht gebruikers zelf zich meer bemoeien met software ontwikkeling door gebruik van tools als Visual Development, 5e generatie programmeertalen. Maar ook andersom; de ontwikkelaars zullen dichter bij de eindgebruiker zitten zodat ze directe feedback over het gebruik van de software krijgen.