Het schalen van Agile is momenteel een veel populair onderwerp. Een aanpak zoals Disciplined Agile Delivery (DAD) of een raamwerk zoals Scaled Agile Framework (SAFe) zijn veelbesproken. Hoe kan een onderneming Agile manieren hanteren om haar strategische thema’s Agile te realiseren? Daar gaat momenteel de discussie over.
Maar wordt een onderneming Agile als zij Agile geschaald heeft? Ik denk het niet. Veel ondernemingen blijven een planningshorizon van een jaar hanteren omdat budgetten jaarlijks worden vastgesteld. De onderneming is met een jaarplanning niet heel erg wendbaar. Agile schalen betekent dus niet dat de onderneming als geheel ook Agile wordt. De onderneming wordt voornamelijk geholpen met het verbeteren van de uitvoering, en de voorspelbaarheid in de uitvoering. Ook heel waardevol.
Moet een organisatie wendbaarder worden? Dat is uiteraard de keuze van de onderneming zelf. Maar ik denk dat ondernemingen steeds wendbaarder moeten worden om de concurrentie voor te kunnen blijven. Het hanteren van een jaarplan en een budgettering per jaar is naar mijn mening niet houdbaar. De ontwikkelingen in de markt zullen een hogere wendbaarheid vereisen.
Wat weerhoudt een onderneming om wendbaarder te worden? Budgettering is een belangrijk struikelblok. Daar zal aan gewerkt moeten worden. Maar het is niet het enige struikelblok. Afhankelijkheden in de programmatuur zijn ook een belangrijke hindernis. Architecturen zijn veelal gebaseerd op een normalisatie van de bedrijfsobjecten. Een centraal klantenbestand is bijvoorbeeld vrij gebruikelijk. Een verandering wordt daarom gekenmerkt door veel afhankelijkheden tussen applicatiecomponenten. Daarom is de decompositie van thema’s, kenmerken (features), hoofdstukken (epics) naar verhalen (stories) noodzakelijk. Verhalen die door een team kunnen worden gerealiseerd in een applicatiecomponent. Door de vele afhankelijkheden is vaak een lange planningshorizon noodzakelijk. Het weerhoudt de onderneming er van om wendbaarder te kunnen worden.
Om een onderneming meer Agile te maken moeten teams onafhankelijk kunnen werken. De afhankelijkheden moeten worden doorgesneden. De architectuur moet daarom worden veranderd en zorgdragen voor meer onafhankelijkheid. Ik ben tot dit inzicht gekomen door het verhaal van Mike Cottmeyer tijdens Agile2014 in Orlando.
Hoe kun je de architectuur veranderen om onafhankelijker te worden? Ik denk dat domain-driven design en event-driven architectuur de belangrijke sleutels zijn tot het succes. De teams verkrijgen meer vrijheid. In plaats van een werkvoorraad die voortkomt uit een decompositie van thema’s zal het team onder leiding van een producteigenaar haar eigen weg moeten gaan bewandelen. Gebaseerd op de behoeften van belanghebbenden en de veranderingen die deze belanghebbenden willen realiseren. Door de vrijheid kan het team een hogere waarde leveren. Het gehele systeem wordt daardoor meer waard dan de som van de delen die voorheen geleverd werden door een decompositie.
Droom of werkelijkheid? Het is mijn overtuiging dat het kan. Er is al veel ervaring met de technieken die ik heb genoemd waardoor we weten dat het kan. Het zal echter voor een onderneming een behoorlijke inspanning vereisen om de weg in te gaan naar meer teamonafhankelijkheid.