Agile Delivery Flow: Altijd op tijd leveren in 3 stappen
Als je de meeste managers vraagt naar de “psychologische veiligheid” of de “visie” (meer hierover: Psychologische veiligheid ) van hun agile software development teams, zijn ze het er wel over eens dat deze zaken belangrijk zijn, maar… Als de klant urgentie signaleert of de deadline nadert, worden al deze “zachtere” variabelen meestal opgeschort. Het belangrijkste voor managers is een voorspelbaar functionerende agile delivery flow van hun agile team.
Als je een kijkje neemt op onze Echometer blog ( naar onze blog ) hebt gesnuffeld, dan weet je dat onze content zich eerder richt op het verbeteren van de “soft skills” van teams en organisaties. Deze worden vaak onderschat door besluitvormers. Maar niet door Scrum Masters en Agile Coaches.
Wat Scrum Masters en Agile Coaches naar mijn mening op hun beurt weer onderschatten, is de focus op het verbeteren van de delivery flow - in principe wat managers willen. In de huidige bijdrage beschrijf ik een eenvoudige techniek om de waarschijnlijkheid om steeds weer op tijd en binnen budget te leveren aanzienlijk te verhogen.
Stap 1 in relatie tot je Agile Leveringsstroom
Ik heb het over het bewaken van de Agile leveringsstroom van je taken. Als je maar een paar dingen goed doet, zul je veel voorspelbaardere resultaten kunnen leveren. Zelfs je spreidingsdiagrammen van cyclustijden of je Monte Carlo simulatie voor het berekenen van projectschattingen zouden eindelijk geldige voorspellingen kunnen opleveren in plaats van er helemaal naast te zitten (lees meer: 9 Agile meetmethoden voor besluitvormers ).
Het eerste symptoom dat moet worden bestreden is dat er taken zijn die er slechts een paar dagen over doen om van “Gepland” naar “Voltooid” te komen, en dan zijn er taken die er meer dan een maand over doen. Om dit tegen te gaan, moet je ervoor zorgen dat een taak altijd de kleinst mogelijke leverbare versie van de gewenste functie bevat. Zonder toeters en bellen die niet nodig zijn voor de kernvraag van de klant. In principe een MVT, Minimum Viable Task. Dit betekent niet dat het elke taak klein maakt. Maar het zou je moeten helpen een stadium te bereiken waarin taken hooguit een paar weken duren, in plaats van maanden.
Tweede stap in relatie tot je Agile Delivery Flow: WIP in plaats van Snelheid
Veel Scrum Masters of Kanban Coaches geloven dat het voor een valide meting van Velocity etc. draait om het “right sizen” van taken of work items, waarbij alle work items ongeveer even groot zijn. Alleen dan zijn Story Points (die nodig zijn om de Velocity te meten) bruikbaar voor het meten van de Velocity, omdat ze dan meer op een vergelijkbare tijdseenheid lijken.
Maar dit is verkeerd: taken hoeven niet eens even groot te zijn. Je moet dit niet aannemen, want het is gewoon te moeilijk om schattingen van Story Points te controleren. Het enige dat je kunt controleren is hoeveel nieuwe taken je start.
Doe dus het volgende om voorspelbaar te worden: bewaak de ratio van “nieuw gestarte taken” ten opzichte van de ratio van “afgeronde taken”. Deze twee moeten in evenwicht zijn. Met andere woorden: de “input”- en de “outputratio” van taken moeten zo dicht mogelijk bij elkaar liggen, idealiter zelfs overeenkomen.
Een voorbeeld: Typisch gedrag in softwareontwikkelingsteams is dat zodra een taak is geblokkeerd, er een nieuw werkitem wordt gestart. Dit leidt ertoe dat veel taken openstaan maar niet worden voltooid, waardoor het veel ingewikkelder wordt om ze allemaal weer te deblokkeren.
Als je er in plaats daarvan voor zorgt dat er voor elke begonnen taak ook een afgeronde taak is, zal het in de Daily beter lukken om de weinige gefocuste taken te deblokkeren. Jullie prestaties zullen in het algemeen beter te berekenen zijn - en het team zal tevredener zijn, omdat jullie leidinggevende en jullie klanten tevredener zijn.
Enkele “positieve symptomen” van een gezonde agile Agile Delivery Flow
In de praktijk zou dit leiden tot het volgende gedrag:
-
- We beginnen niet aan nieuwe taken als er nog veel dingen in uitvoering zijn.
-
- We richten ons op het afmaken van wat we zijn begonnen voordat we aan nieuwe dingen beginnen.
-
- De leeftijd van de taken gaat nooit verder dan een paar weken.
-
- Als er geen goede reden is, werken we altijd aan de oudste taak.
WIP (work-in-progress) limieten helpen hier ook bij, hoewel ze vaak niet genoeg zijn. Zodra het team leert om zich te richten op het afmaken van taken in plaats van op het starten van nieuwe taken, zul je beter zijn dan de meeste teams.
Als je de Agile Delivery Flow op de juiste manier gebruikt
Duidelijke verwachtingen scheppen: Op deze manier heb je nog steeds niet in de hand of een taak twee of drie dagen duurt. Maar je zorgt er tenminste voor dat je team niet aan zoveel taken werkt dat taken van 2-3 dagen uiteindelijk een maand duren.
Hoeveel beter zou je team zijn als je wist dat in principe aan alle leveringsverplichtingen binnen een paar weken zou worden voldaan? Dit veronderstelt natuurlijk dat je alle dingen implementeert die hierboven zijn genoemd: Het instellen van MVT’s, een strikte WIP-limiet en een toezegging om taken niet opnieuw te starten totdat een andere taak is afgerond.
Stap 3: Aan de slag met het verbeteren van de Agile Delivery Flow
In theorie weet je wat je moet doen. Hoe kun je nu het beste praktisch aan de slag? Door het bewustzijn en de “veranderingsbereidheid” in het team te creëren. In het beste geval door zelfreflectie.
Je moet transparant zijn over deze cijfers en ze regelmatig controleren om te zien of de verhouding tussen begonnen en voltooide taken in balans is. Het kan deel uitmaken van je retrospectief om wat dieper in te gaan en na te denken over waarom de cijfers in de laatste cyclus niet in balans waren.
Ik kan je aanraden om het gedrag dat ik noemde met onze agile retrospective tool Echometer te bespreken in je retrospective (lees meer: 7 Retrospectieve hulpmiddelen in vergelijking ). Je zou dit zelfs onderdeel kunnen maken van je werkafspraken of regelmatige Health Check’s om het bewustzijn te vergroten door de vragen regelmatig te stellen.
Bij de volgende vragen gaat het om onze retrospective template voor de “agile delivery” (meer hierover: 22 leuke sjablonen voor agile retrospectives ). We beginnen met een paar Health Check stellingen en vragen het team of ze het ermee eens of oneens zijn. Daarna volgen een paar open vragen:
Agile levering retrospectief
Health Check Onderdelen
We doen dingen heel snel. Geen wachttijden, geen vertragingen.
We kunnen precies inschatten wat we in een bepaalde cyclus kunnen leveren.
Onze sprintresultaten hoeven na de sprint niet opnieuw te worden bewerkt om te worden opgeleverd.
We beperken ons ‘werk in uitvoering’ om altijd gefocust te zijn.
Open vragen
Wanneer werkte onze manier van werken echt goed?
Wat is het grootste verbeterpotentieel zodat werkpakketten sneller door onze processen gaan (wachttijden wegwerken, processen verbeteren)?
Wat waren recente voorbeelden van een increment dat niet werkte/opleverbaar was aan het einde van de sprint?
Wanneer heeft onze manier van werken geleid tot een suboptimale workflow? (bijv. onduidelijke, ongepaste of niet opgevolgde richtlijnen)
Zoals je kunt bedenken, impliceert het laatste punt van de Health Check (Controleren van de oorzaak) al een potentiële maatregel, iets dat je voor één tot twee agile sprints kunt proberen om te kijken of het jullie zou kunnen helpen: het beperken van het aantal taken met de status “Work in Progress”.
De basis leggen: Afspraken vastleggen voor teamwork
Heb je het gevoel dat je team nog niet klaar is voor dit soort reflectie? In dat geval moet je eerst reflecteren op “goed werk” in het algemeen en dan een aantal basisregels, zogenaamde werkafspraken of Working Agreements, vastleggen. De volgende workshop template kan jullie daarbij helpen. Je kunt deze uitvoeren als een speciale vorm van de retrospective aan het begin van een project of als een extra workshop.
Eerst moet je een gevoel krijgen van hoe eensgezind je team zich impliciet voelt - zie hiervoor het Health Check Item. Vervolgens moet je dit met een paar open vragen praktisch controleren. Elk teamlid moet de zin (zie meer vragen) afmaken met zo veel mogelijk antwoorden die hem/haar te binnen schieten:
Team verplichtingen terugblik
Health Check Onderdelen
We hebben in mijn team een gemeenschappelijk begrip van wat 'goed werk' is.
Open vragen
Omgaan met tegenstrijdige prioriteiten: "Als ik tegenstrijdige prioriteiten opmerk, dan ...
Blokkades communiceren: ‘Als ik vastloop op een taak, deel ik dat door …’
Omgaan met conflicten: “Als ik merk dat er een conflict ontstaat in ons team, dan …
Nadat jullie de antwoorden hebben verzameld, moeten jullie natuurlijk proberen patronen te vinden en concrete afspraken te maken over hoe jullie in de toekomst willen samenwerken - in ieder geval tijdelijk als experiment.
Een interessant, creatief alternatief
Falls deze retrospectief methoden je te “droog” lijken, is er nog een andere retrospectief methode die zich richt op het reflecteren van de kwaliteit van de output van je team ( Fun 54 Retrospectieve Methoden vind je hier ): De ‘Drie Kleine Varkens’ Terugblik. Het is een eenvoudig alternatief om te beginnen met reflecteren en het verbeteren van je prestaties, gebaseerd op het sprookje van de drie biggetjes die huizen bouwden van verschillende materialen.
Open feedback vragen
Huis van stro: Wat hebben we gebouwd dat net bij elkaar blijft, maar elk moment kan omvallen? 🌱
Huis van stokken: Wat hebben we gebouwd dat relatief stabiel is, maar nog steeds verbeterd kan worden? 🪵
Huis van steen: Wat hebben we gebouwd dat rotsvast is? 🪨
Conclusie - Agile Delivery Flow
Het maakt niet uit hoe je begint, het belangrijkste is om op de eerste plaats te beginnen. De teams die hun Agile Delivery Flow actief in de gaten houden, zijn de betere teams.
Overigens zijn veel van de ideeën die je hier vindt ook goed samengevat in de podcast “Agile Bites”, die ik ten zeerste kan aanbevelen (Naar de podcast: Agile hapjes).
Veel plezier met het ontwikkelen van je team!