In 1969, zo vertelt Ken Schwaber, was hij voor het laatst in staat om via de watervalmethode software te ontwikkelen. Het ging om een paar programma’s voor een systeem, aan de hand van een verzameling requirements die door slechts een (1) stakeholder werden verstrekt. Nauwe samenwerking met die stakeholder leverde een goed functionerend systeem op. Sindsdien is het ontwikkelen van systemen zo ingewikkeld geworden dat de watervalmethode niet meer volstaat. Toch proberen we dit keer op keer. Om Einstein te parafraseren: Wat bezielt ons? Schwaber beschrijft een andere aanpak: agile development.
Aan de hand van vele voorbeelden uit het echte leven van een software ontwikkelaar introduceert de schrijver – zelf scrum master – de verschillende begrippen die samenhangen met scrum, een agile ontwikkelmethode, die is gebaseerd op empirische proces beheersing tegenover de bekende gedefinieerde proces beheersing, daarmee rekening houdend met de enorme complexiteit die gepaard gaat met software ontwikkeling. Een snelle terugkoppeling van ervaring leidt tot bijstelling, gericht op het ontwikkelen van werkende code die waarde toevoegt vanuit het perspectief van de gebruiker. Schwaber bespreekt zaken als ‘product backlog’, ‘burn down charts’, ‘daily scrums’ en ‘retrospectives’ op zeer begrijpelijke wijze en illustreert deze aan de hand van voorbeelden uit zijn praktijk. Hij spaart zichzelf hierbij niet: ook de vergissingen die hij heeft begaan komen aan de orde, inclusief de lessen die hij hieruit heeft getrokken.
De stijl maakt dit tot een zeer leesbaar boek dat een goed overzicht geeft wat agile development is en hoe het in de praktijk kan worden toegepast. Hoewel ik de wetenschappelijke onderbouwing mis – hiervoor moet ik andere literatuur opslaan – vind ik dit een praktisch boek. Een verdere training is beslist nodig, maar dan kun je ook aan de slag. Scrum kun je niet leren uit een boek, ook niet uit dit boek, maar moet je ervaren. Het is immers een empirisch proces! ‘Agile project management with scrum’ is een dun boek: 150 pagina’s, negen hoofdstukken en vijf appendices. Maar dat gaat niet ten koste van de kracht, integendeel!
Is er dan niets te verbeteren aan het boek? Toch wel, hoewel het een miniem puntje is: figuur 1.4 toont een Product Backlog (pagina 10) en de volgende bladzijde legt deze uit. Alleen de ‘adjustment factor’ komt niet aan de orde, tenzij hiermee de complexiteitsfactor wordt bedoeld, die van invloed is op de schattingen van benodigde inspanning om de requirement te realiseren. Maar dit is de schrijver vergeven. Er blijft altijd iets te verbeteren over: een van de kerngedachten van agile development.