De populariteit van softwareontwikkeling volgens het agile-model groeit bijna dagelijks. Toch zijn er maar weinigen die écht snappen waar agile over gaat, zegt agile development-grondlegger Alistair Cockburn. “Ik trek de wereld over om de misverstanden uit de weg te ruimen.”
De softwareontwerpers van ict-dienstverlener Sioux stonden wel even vreemd te kijken toen agile-held Alistair Cockburn hen vroeg in dertig minuten het sprookje Repelsteeltje te tekenen. Toen ze zich aanmeldden voor de workshop van de mede-bedenker van het Manifesto voor Agile Development Cockburn (spreek uit: Co-burn), waren de verwachtingen hoog en stonden ze overal voor open. Al hoorde het tekenen van sprookjes – even later mochten ze zich storten op Sneeuwwitje – daar toch niet bij.
Geen tevreden klant
Maar de echte les volgt al snel en tot vermaak van Cockburn is iedereen er weer ingetuind; "zoals altijd". Óók degenen die bekend zijn met de agile-methodiek. "Iedereen gaat driftig aan de slag om een Repelsteeltje te tekenen en na dertig minuten krijg ik de tekeningen aangereikt, maar geen één is zoals ik wil. Hoe komt dat? Niemand heeft mij gedurende die dertig minuten gevraagd hoe ik mijn Repelsteeltje voor me zie. Het project is voorbij, maar ben ik een tevreden klant? Nee."
Als de Sioux-programmeurs het met Sneeuwwitje opnieuw mogen proberen gaat het wel goed. Er komen vragen en na vijfentwintig minuten checkt Cockburn in een laatste ronde nog even alle Sneeuwwitjes. En ja hoor, ze zijn allemaal hetzelfde. Cockburn is tevreden. Stralend lacht hij zijn cursisten toe. "Drie of vier momenten met de klant en na dertig minuten is het resultaat geweldig en de klanttevredenheid fantastisch: beter kan niet." De les is geleerd.
Terugverdienen
De belangstelling voor agile groeit de laatste tijd enorm. Steeds vaker claimen ict-bedrijven, zeker de meer vooruitstrevende, te werken volgens de agile-methode. Dit is – kort gezegd – een project op afgesproken momenten afleveren in afgeronde delen waar de klant al wat aan heeft. Dat heeft twee belangrijke voordelen, legt Cockburn uit: "Als je bij een twee jaar durend project, pas na twee jaar de oplevering doet, kan de klant er vanaf dat moment pas geld mee verdienen. Stel dat je elke drie maanden een onderdeel aflevert, dan gaat het project zichzelf tijdens het ontwerpen al terugverdienen. Vanuit een kostenperspectief is agile dus heel interessant."
"Het tweede grote voordeel van afleveren-in-delen is dat je eerder feedback krijgt. Dan ontdek je dat je waarschijnlijk niet precies het juiste aan het bouwen bent. Met agile kun je dit corrigeren terwijl je er nog aan werkt." Cockburn licht toe: "Wat ik laatst hoorde van een vriend die een softwaresysteem bouwde op de agile-manier voor een postkantoor in Frankrijk en België vond ik treffend. De klant had gezegd: "Uiteindelijk hadden we niet het postkantoor waar we om hadden gevraagd, maar het postkantoor dat we nodig hebben. Dat is het resultaat van agile."
Eind juni gaf Alistair Cockburn, op uitnodiging van Sioux, in Eindhoven een workshop aan de medewerkers van Sioux en een gratis presentatie voor belangstellenden. Sioux organiseert een aantal keer per jaar jaar Hot or Not-sessies waarvoor zij ict'ers uitnodigt die staan voor een bepaalde, innovatieve ontwikkeling. Moeten Nederlandse ict'ers deze ontwikkelingen serieus nemen of niet? Dat is wat Sioux zich afvraagt met de sessies. De tweehonderdveertig ict'ers die af waren gekomen op de presentatie van Cockburn waren het er in ieder geval over eens dat agile ‘hot' is.
Democratische manier
Agile mag dan ‘hot' en de ideeën erachter mogen goed zijn, maar volgens deze methodiek werken is een tweede. Niet iedereen kan het, zo is in de praktijk al gebleken. Cockburn geeft dit ruiterlijk toe: "Lang niet iedereen is gelukkig met deze manier van werken. Programmeurs moeten plotseling aan heel kleine onderdeeltjes werken. Dat zijn ze niet gewend. Bovendien moeten ze steeds testen schrijven: daar hebben ze meestal weinig zin in. En de code is publiek, waar ze zich soms ongemakkelijk onder voelen."
"Ook projectmanagers vinden het vaak moeilijk omdat ze eerst de baas waren en nu moeten samenwerken, op een democratische manier. Cockburn geeft een voorbeeld: "Als een bepaalde klus volgens de programmeur twee weken kost, dan moet de projectmanager dat accepteren en niet zeggen: "Ik wil het over een week hebben". De juiste vraag die hij moet stellen aan de programmeur is dan: "Welk onderdeel waar de klant wat aan heeft, kun je me over een week leveren?"."
Agile is voor bijna elk project bruikbaar. Het is alleen niet geschikt als het leveren van software in gedeelten onmogelijk is. Bijvoorbeeld als het om een project gaat van één dag waarbij alles in een keer goed moet gaan. Er zijn wel enkele risico's verbonden aan agile. Het is een andere manier van werken en daar moeten mensen aan wennen. Zo verschuift bijvoorbeeld de macht: projectmanagers moeten democratischer gaan werken. En er zijn ook emotionele risico's. Zo moet het onderlinge vertrouwen groot zijn.
Grote puinhoop
Dat de agile-methodiek wereldwijd al meer navolging krijgt, verheugt Cockburn zeer. Al heeft de methodiek tegelijkertijd ook te lijden onder die toenemende populariteit. "Mensen horen het woord. Ze bestuderen het niet, denken er niet over na. Ze zien niet de tien jaar onderzoek die ik zag toen we het manifest opstelden. Ze zien alleen het Agile Manifesto en denken dan te lezen: plannen is niet nodig, want de planning moet toch steeds worden aangepast aan de veranderende situatie. En: een architectuur ontwerpen hoeft ook niet meer: ik kan gewoon lekker wat typen en het naar mijn zin hebben."
"Maar dan ontstaat er een grote puinhoop", waarschuwt hij. "Agile-ontwerpers zijn juist zeer gedisciplineerd. De besten kunnen in dertig minuten werk leveren dat waarde heeft. Het intypen van de code, het laten lopen van het programma en testen: geen beloften, maar werkende software."
Dat er misverstanden over agile zijn ontstaan, komt voor Cockburn overigens niet als een verrassing. "We wisten dat dit ging gebeuren. Het is heel normaal dat als je als groep iets naar buiten brengt, andere mensen het misinterpreteren, het versimpelen, het op de verkeerde manier gebruiken." Lachend: "En daarom trek ik nu de wereld over om de misverstanden uit de weg te ruimen."
Wat is het?
Ontwikkelen volgens de agile-methode is – kort gezegd – een project op afgesproken momenten afleveren in afgeronde delen waar de klant al wat aan heeft.
Alistair Cockburn en het Agile Manifesto
Alistair Cockburn is één van de zeventien initiatiefnemers van het Agile Manifesto uit 2001. Andere bekende deelnemers zijn Jeff Sutherland en Ken Schwaber (de ontwikkelaars van softwareontwikkelmethode Scrum en de belangrijkste grondleggers van softwareontwikkelmethodiek eXtreme Programming), Kent Beck, Ward Cunningham, Martin Fowler en Ron Jeffries. Cockburn, verkozen tot de ‘Top 150 e-Heroes of All Times' is de ontwikkelaar van de methodiek Crystal Clear. Hij heeft hier diverse boeken over geschreven. De kenmerken van Crystal zijn: veel aandacht voor de menselijke inbreng in softwareontwikkeling, snelle feedback, en verbetering door regelmatige reflectie.
Cockburn en de overige opstellers van het agile-manifesto waren er zeven jaar geleden al van overtuigd dat projectmanagement bij softwareontwikkeling veel beter kan. Zij hebben hun kennis – "het resultaat van tien jaar onderzoek" – en ideeën gebundeld, waren het verrassend eens met elkaar en verzonnen een naam: agile – wat betekent: behendig, lenig – en schreven een manifest. Inmiddels is dit op internet ondertekend door duizenden ontwikkelaars.
Vier kernwaarden
De vier belangrijkste waarden van agile softwareontwikkeling:
- – Individuen en interacties: een goede samenwerking leidt tot de beste resultaten
- – Werkende software: boven alles moet het werken
- – Samenwerking met de klant: klanten en ontwerpers zijn geen tegenstanders, maar partners
- – Reageren op veranderingen: als de omstandigheden veranderen, pas de planning aan
Bron: Alistair Cockburn en het Manifesto for Agile Software Development