In de wereld van Agile zijn er talloze raamwerken, technieken en benaderingen om uit te kiezen. Maar ondanks de overvloed aan opties, worstelen veel teams nog steeds met de implementatie ervan. Ze beginnen vaak met een bottom-up aanpak, passen verschillende praktijken toe naar hun beste weten, maar stuiten al snel op verschillende problemen. In deze blogpost gaan we dieper in op deze uitdagingen en bieden we een alternatieve aanpak om je Agile reis te beginnen. Lees verder om te ontdekken hoe je een 'valse start' kunt voorkomen en hoe je kunt beginnen met 'klaar'.

Er zijn tientallen raamwerken en talloze technieken die je kunt gebruiken om aan Agile te doen. Er zijn ook verschillende benaderingen om Agile in een team of organisatie te implementeren. Ik zie vaak dat teams bottom-up zijn begonnen met het toepassen van verschillende praktijken naar hun beste weten, om er kort daarna achter te komen dat ze op verschillende problemen stuiten. Het is moeilijk om in een cross-functioneel team te werken, het is moeilijk om veranderingen te omarmen en het vereist een echte verschuiving om elke iteratie een werkende oplossing te creëren. Bij hun pogingen om een werkend product op te leveren, worstelen teams vaak met de traditionele processen die gebaseerd zijn op watervalmethoden:

  • Testprocessen die niet in een Sprint passen, zoals verplichte gebruikersacceptatietests voor elke verandering en handmatige end-to-end regressietests.
  • Risico processen zoals formele externe (buiten het team) reviews voor elk stuk code of oplossingen en acceptatie door verschillende afdelingen.
  • Stagegates in de oplevering zoals verschillende ontwerpdocumenten om wijzigingen goedgekeurd te krijgen.
  • Release management processen die een release kalender voorschrijven, of formele goedkeuring vooraf.
  • Niet alle vaardigheden aan boord hebben of andere afhankelijkheden tussen teams om het werk gedaan te krijgen.

Herkenbare uitdagingen?

Er zijn waarschijnlijk nog veel meer redenen waarom teams moeite hebben om op een incrementele iteratieve manier tot een werkend product te komen. Om je klant vroeg en vaak iets te geven, moet je een gedeeld begrip hebben van wat het betekent om 'potentially releasable' of kortweg 'done' te zijn.

Product Leadership

Veel teams die ik heb gezien, nemen hun oude planmatige aanpak met alle op waterval gebaseerde processen en fasepoorten, en gebruiken dan een evolutionair pad om tot 'klaar' te komen. Dit is een langzame en riskante aanpak die veel tijd kost. Stel dat uw organisatie Agile gaat werken met tien teams en die zitten allemaal op het evolutionaire pad. Elk team worstelt om tot 'done' te komen. Ze moeten ook eerst Agile praktijken en het werken als een cross-functioneel team leren. De processen en technologie die de teams hinderen om het voor elkaar te krijgen, liggen allemaal buiten de teams. De kans is groot dat mensen gewend raken aan deze manier van werken, deze grenzen als 'vast' accepteren en niet dichter bij het vroegtijdig en continu leveren van waarde komen.

Dus in het kort: sommige teams beginnen te werken (of proberen) met Agile, maar komen nooit toe aan het kernconcept van vroeg en vaak waarde leveren. Wanneer echte voordelen voor de organisatie ontbreken, besluit de organisatie 'Agile is niets voor hen'.

Ik stel een alternatieve aanpak voor. Neem geen evolutionaire weg naar 'gedaan', maar begin met gedaan. Pas niet langzaam en incrementeel je oude processen aan om ze aan te passen aan Agile, maar begin fris. Houd niet vast aan fase-poorten, maar creëer vanaf het begin een goede Definition of Done. Zorg er met je Product Owner voor dat je de lange termijn doelen en het perspectief van wat waardevol is voor je klanten begrijpt. Kies een eerste pijnpunt of probleem om op te lossen, of een eerste voordeel of winst om hen te bieden. Met dat doel voor ogen, definieer het kleinste ding dat je in één iteratie aan je klant kunt leveren (als je al een meer volwassen Product Backlog hebt: zoek een nieuw initiatief, een samenhangende set Product Backlog items, of een bundel werk voor één specifieke stakeholder). Wat is dat ene ding dat je echt zou kunnen vrijgeven / geven aan één klant, één gebruikersgroep of slechts enkele gebruikers om te valideren en feedback te krijgen.

Welke kwaliteitsattributen, normen en conventies zijn absoluut noodzakelijk om al na te leven om dit met een schoon geweten vrij te geven? Rekening houdend met het feit dat je niet hoeft vrij te geven aan het publiek, maar dat zou wel moeten kunnen. Lever het kleinst mogelijke increment op om echte feedback te krijgen.

Dus in het kort: begin met het kleinste ding dat je daadwerkelijk kunt leveren en evolueer in termen van waarde.

Deze aanpak dwingt je om incrementeel en iteratief te denken. Het dwingt je om het hele product en de klant in ogenschouw te nemen. Alles wat je moet doen om te kunnen releasen, zou een eerste definitie van Done kunnen zijn. Om Agile te beoefenen moeten we een klantfocus hebben in plaats van een interne focus en we hebben iteratieve en incrementele oplevering nodig in plaats van big-bang oplevering. Ja, dit klinkt misschien als een open deur, maar ik verzeker u dat het dat niet is. Iteratief en incrementeel leveren is een strijd. Maar de strijd is nog erger als je een valse start maakt. Maak geen valse start, begin met Klaar.

Onthoud: het eerste principe in het Agile Manifest is:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.