Extreme Programming – De Agile aanjager

14 mei 2019

Extreme Programming – De Agile aanjager

“Dus jij gaat scrummen?” Op het gezicht van mijn voormalige CTO verschijnt een grijns. Hij is programmeerkoning en allround wizzkid, een man met verregaande passie voor zijn vak. Dat merk je niet alleen aan de manier waarop hij over innovatie en zijn eigen producten praat, maar zeker ook aan de resultaten die hij met een klein team in korte tijd neer kan zetten.

“Zou je dan niet eerst bij het begin beginnen?” Vervolgens krijg ik het boek Extreme Programming Explained, Embrace Change geschreven door Kent Beck in mijn handen gedrukt. Extreme Programming werd geboren uit de frustratie waar Beck als programmeur dagelijks mee te maken had. Hij was toe aan een nieuwe manier van werken, die effectief en motiverend was. Met enkele collega’s bij Chrysler stelde Beck nieuwe waardes en principes op die een einde zouden maken aan de ellenlange slepende projecten waar hij in de jaren 90 mee te maken had.

Wat is Extreme Programming?

Na enkele succesvolle proeven vanaf 1996 verscheen Beck’s boek met de methodologie in 2000. Extreme Programming (XP) is daarmee niet de oudste vorm van Agile werken maar is een succesvolle aanjager van het gedachtegoed gebleken. Misschien wel door de sterke intrinsieke drijfveren van de grondleggers. In het voorwoord van zijn boek schrijft Beck: ‘Even programmers can be whole people in the real world. XP is an opportunity to test yourself, to be yourself, to realize that maybe you’ve been fine all along and just hanging with the wrong crowd.’ Tegenwoordig is dit beeld van de programmeur niet geheel meer op zijn plaats. Maar het zegt iets over de rol die programmeurs toentertijd in de organisatie in hadden, en de moed die nodig is geweest om een verandering in gang te zetten.

XP kent een uitgebreide beschrijving van Waardes, Principes en Practices. De waardes (Eenvoud, Communicatie, Feedback, Moed en Respect) resulteren in een uitgebreid palet aan principes en practices die, wanneer juist uitgevoerd, allemaal geïmplementeerd zijn in het ontwikkelproces. Dit lijkt onmogelijk en dat onderkent de bedenker zelf ook. Daarom is er een mooie loophole in het systeem ingebracht: Baby Steps. Hierdoor blijft er altijd ruimte voor verbetering en is iedereen vrij om te kiezen welke practices en principes op welk moment geïmplementeerd worden.

Samen Agile werken

Een van de meest interessante practices van XP vind ik Pair Programming. Letterlijk met zijn tweeën achter één computer, samen coderen. Een practice waar alle XP waardes op een mooie manier samenkomen. Bovendien een practice die in elke organisatie, op meer dan alleen IT gebied, van meerwaarde kan zijn. Echte samenwerking op één taak in plaats van ‘s ochtends het werk verdelen en vervolgens allemaal je eigen gang gaan. Het bevordert het lerend vermogen van de organisatie, minimaliseert de kans op slordigheidsfoutjes en daar bovenop stimuleert het ook nog het sociale aspect. Wees nou eerlijk, in de zandbak bouwde je toch ook liever samen aan een kasteel dan dat je in je eentje een emmertje zand om zat te keren.

XP, Scrum, DevOps verschillende rituelen voor hetzelfde geloof

XP kent logischerwijs veel gelijkenis met Scrum en andere Agile methodologieën. Denk hierbij aan nauwe samenwerking met de klant. Incrementeel ontwerpen, kort periodieke cycli, prioriteren op basis van business value, constant verbeteren van processen en weghalen van stremmingen.

Op sommige vlakken was XP zijn tijd ver vooruit. Neem bijvoorbeeld het begrip Test-First Programming. Het simpele principe dat je eerst een falende geautomatiseerde test bouwt voordat je überhaupt begint met het aanpassen van de code. Wanneer de automated test klaar staat, begin je met coderen tot deze niet meer faalt en dus voldaan is aan het doel van de ontwikkeling. De belangrijkste redenen voor Test-First Programming: Focus, vertrouwen en transparantie. Wellicht voor sommigen ook wel herkenbaar als de Scrum waardes. Had iedere organisatie dit principe vanaf dag 1 geprobeerd te implementeren, dan was de transitie naar DevOps nu overigens een eitje geweest.

XP gaat alleen maar beter werken

XP is een effectieve en inspirerende manier van software ontwikkeling. Zeker nu, 20 jaar later, de beschikbare tools en technieken hier steeds beter op aansluiten. Een nuttig handboek voor ontwikkeling in een complexe omgeving en bovendien een mooi voorbeeld hoe vanuit de werkvloer de beste innovaties naar boven komen. Het bewijst me eens te meer dat er niet één juist antwoord is op effectief organiseren in complexe omgevingen, maar dat er duizenden manieren te bedenken zijn om op een fijne en effectieve manier samen te werken. Het is een prettige conclusie dat deze duizenden mogelijkheden allemaal voortkomen uit dezelfde waardes. Zowel binnen Scrum, Kanban, XP of welke Agile methodiek dan ook. Zolang we volgens die waardes te werk gaan, is er altijd een oplossing te bedenken.

Heb je nog tips voor me, of wil je graag tips van mij over Extreme Programming? Neem contact met me op.

Sebastiaan Vlamings

Sebastiaan Vlamings

06-13892961

Deel dit artikel

Meer over deze Qhuban.