
Games voortaan Agile ontwikkelen
‘Sorry dat we niet een eerdere versie van Cyberpunk 2077 hebben laten zien’, verontschuldigde de maker van deze nieuwe game zich toen bleek dat het spel, waar járen aan gewerkt is en waar honderden miljoenen euro’s in is geïnvesteerd, op Playstation en Xbox zwaar onder de maat presteerde. De ontwikkelaar had de deadline al verschillende keren naar achteren verschoven, met als resultaat helaas een Non Viable Product voor de consoles. Ik ben liefhebber van dit soort games en begrijp wat voor druk er bij de ontwikkelaar (CD Project Red) moet zijn geweest om voor de kerst (hoogseizoen!) te releasen. Dit zouden wij anders aanpakken …
In het verleden was software opleveren altijd gedoe: het was te laat, het was te duur en het voldeed niet aan wat de klant ervan verwachtte. Er werd gestuurd op tijd, geld, scope en kwaliteit. Er werden contracten afgesloten voor het hele project, dat na maanden of zelfs jaren werk vaak teleurstelde. Tegenwoordig blijven wij – agile werkend – met alle stakeholders tijdens de ontwikkeling communiceren over waar we staan en wat we verwachten op te leveren. We sturen nog steeds op tijd, geld en kwaliteit, maar met de scope pakken we het anders aan.
Een van de belangrijke dingen die agile met zich meebrengt is dat je de scope, dus wat je verwacht op te leveren, loslaat met in achtneming van de deadline. Dus je weet als klant vooraf niet precies hoeveel en wat je gaat krijgen. Agile speelt daarmee in op voortschrijdend inzicht dat bij zowel de leverancier als de klant kan ontstaan. In bijvoorbeeld een jaar tijd kun je als leverancier van alles tegenkomen waardoor je moet zeggen dat het langer gaat duren of meer gaat kosten. We leveren door agile te werken op een bepaalde datum iets op, maar we houden er rekening mee dat we zaken kunnen tegenkomen waarvan we op voorhand niet wisten dat ze zo complex zouden zijn, zodat we misschien minder opleveren dan we in eerste instantie dachten. Maar ook bij de klant kan voortschrijdend inzicht ontstaan. Niet in de laatste plaats omdat klanten niet alles van tevoren weten (“is dat óók mogelijk?”) en het ontwikkelen van software soms lang duurt (“een half jaar geleden wilden we graag X, maar met de kennis van nu liever Y”.). Door de scope niet vast te zetten, blijf je wendbaar. Eh, agile dus.
Laten we de scope dan helemaal los bij Agile werken? Nee. Bij die eerste oplevering heeft het product – om het levensvatbaar te laten zijn – al de basiskenmerken van het beoogde eindproduct. Dat noemen wij Minimum Viable Product (MVP). Dus het product dat op z’n minst haalbaar en acceptabel is bij een eerste oplevering. Daarna ontwikkelen we het product door op dezelfde agile wijze: luisteren naar wat de klant wil, steeds in korte iteraties blijven opleveren. Essentieel is dat je altijd met de klant in gesprek moet blijven wat dat MVP eigenlijk is. Stakeholder management is bij agile werken heel belangrijk. Dus in gesprek blijven met alle belanghebbenden. Daarmee houd je ze op één lijn en zorg je ervoor dat ze allemaal accepteren dat je op deze manier werkt. Bij agile werken lever je dus steeds kleine stukjes op en betrek je de klant veel meer bij de ontwikkeling van het product.
Dan is er ook nog over-presteren: dit is eigenlijk een communicatieprobleem. Bij over-presteren heb je niet goed met de klant afgestemd wat het minimale product zou moeten zijn. Dan ga je als softwarepartij te veel op de stoel van de klant zitten en maak je er allerlei toeters en bellen omheen waarvan je denkt dat die ook nodig zijn. Als je niet goed de behoefte van de klant hebt onderzocht, loop je de kans dat je te veel tijd steekt in zaken die niet nodig zijn. Dat is zonde.
Wat er precies mis is gegaan bij de ontwikkeling van Cyberpunk 2077 weet ik niet. Ik weet wel dat op het moment dat wíj onze klanten helpen om software op te leveren, hun klanten niet voor verrassingen staan en op de hoogte zijn van wat zij op dat moment krijgen. Dat is nu eenmaal een van de voordelen van agile werken. Zó wil ik ook van een nieuwe game genieten, zonder me te ergeren aan een enorme waslijst aan bugs. Als ze games nu ook eens agile zouden ontwikkelen …
– Martin Schouten
In samenwerking met Frank Blaauboer