Agile in grote programma’s

‘Nothing beats an agile team!’ Lang leve het agile team dat zich tijdens elke sprint verder verbetert. Maar wat nu als meerdere agile teams in een programma samenwerken? Hoe regel je team overschrijdend samenwerken goed met agile teams? Daarop krijg je antwoord in dit artikel.

Agile in grote organisaties – Ervaringen met scaled agile in grote programma’s

De meeste organisaties zijn enthousiast met agile teams bezig, je ziet dat het werkt. De energie die het geeft, de focus op resultaten en het steeds maar weer bijsturen om betere resultaten te bereiken.

Altijd blijven er projecten waarvoor je meerdere teams nodig hebt. Doordat er doelen zijn die je niet in één team alleen kunt bereiken. Bijvoorbeeld voor doelen als ‘ervoor zorgen dat je als klantenservice alle klant- en contactgegevens in één overzicht hebt’ of ‘een nieuw financieel systeem invoeren’. Dit soort doelen zul je toch echt met meerdere teams samen moeten bereiken. En krijg je alleen voor elkaar als je daar samen besluit prioriteit aan te geven.

De scaled agile modellen: een hulpmiddel, niet het doel

In de meeste organisaties die agile gaan werken lijkt het dan er meest logische stap om te gaan kijken welke modellen hierbij kunnen helpen. SAFe lijkt dan de meeste zekerheid te bieden, maar introduceert ook de nodige coördinerende rollen, iets wat eigenlijk haaks op agile werken staat. Blijven we met SAFe wel wendbaar?

Wat heel goed werkt is om scrum teams die als familie bij elkaar horen eerst op de grote lijnen samen te laten plannen en reviewen, zoals bij de Nexus en LeSS frameworks. Dit werkt echt perfect als je ( deels) samen aan dezelfde backlog werkt, bijvoorbeeld voor een strategisch thema. Als je bijvoorbeeld vanuit een mobile first strategie je apps centraal stelt, die op hun beurt weer gebruik maken van API’s en van online componenten voor selfservice en informatiepagina’s. De teams die daar samen aan werken kunnen voor die backlog hun producten  gezamenlijk plannen en reviewen. Door het werk zo te organiseren wordt de behoefte aan overkoepelende coördinatie door de teams zelf en zonder ‘waste’ geregeld. Product Owners spreken met Product Owners en Developers met Developers, zonder tussenschakels.

Je hebt hiervoor nog steeds wel een goed portfolio management nodig. Meer concreet: je moet als organisatie een mechanisme hebben waarin je bepaalt welke thema’s je het belangrijkst vindt, welke doelen je de komende periode beslist wilt bereiken en welke andere daarvoor mogen wijken.

Ieder team zijn eigen waardestroom

Als je écht effectief wilt zijn, zorg je ervoor dat de teams ‘loosely coupled’ zijn. Dat lukt het best door ze te organiseren naar waardestromen. En dus niet naar technologie. Als een team integraal verantwoordelijk is voor een stuk van het bedrijfsproces, hoe klein ook, is de afstemming van dat team met andere teams alleen nodig op de snijvlakken van dit bedrijfsproces met andere processen. Bijvoorbeeld als één team totaal verantwoordelijk is voor het proces ‘van bestelling in winkelmandje tot gerealiseerde betaling’, kan dit team zelfstandig verbeteringen aan het winkelmandje publiceren zonder afhankelijkheden met andere teams. Als je teams nog maar technologie of specialisme zijn georganiseerd, neemt de vereiste afstemming tussen de teams exponentieel toe. Tijd die ook kan worden besteed aan ‘shippable products’!!!

Duidelijke doelen

Een andere constatering is dat naarmate je als organisatie je doelen scherper stelt, en keuze durft te maken, deze doelen ook veel makkelijker gehaald kunnen worden. Teams weten waar ze aan toe zijn en wat er van hen wordt verwacht. Niets is zo funest voor de opgeleverde toegevoegde waarde als ‘alles tegelijk willen doen’ en geen heldere keuzes durven te maken. De samenwerkende teams worden effectiever door de dingen waarvan wordt besloten dat we ze níet gaan doen. Durf keuzes te maken en toets de resultaten van je strategie zo snel mogelijk met echte klanten.

Manage afhankelijkheden op een agile manier

Heb je hierna nog steeds team overschrijdende afhankelijkheden te managen? Probeer die coördinatie dan zo veel mogelijk binnen de teams te beleggen. Bijvoorbeeld door af te spreken wie de lead Product Owner heeft. Deze neemt dan de lead om de afstemming tot het totale resultaat er is, op zich te nemen.

Als dit (nog) niet lukt en de afhankelijkheden daardoor nog te omvangrijk is en teveel van het eigen Product Owner werk gaat afleiden kan er een ‘integratie manager’, ondersteunend aan de product owners, deze afhankelijkheden coördineren. Dan faciliterend aan en ‘in dienst van de Product Ower’ en blijvend op zoek naar mogelijkheden om het verbindende werk overbodig te maken door de structuur goed te krijgen.

 

Deze cheat sheet is opgesteld op basis van onze eigen ervaringen bij organisaties waar meerdere agile teams in programma’s samenwerken.

Heb je aanvullende vragen of suggesties?

Mail naar: dropbox@qbresult.nl
Je vraag wordt dan beantwoord en het antwoord toegevoegd zodat ook anderen daar voordeel aan kunnen hebben.