In dit artikel wil ik het hebben over Kanban binnen Agile, een sterk opkomende verbetermethodiek. Een Agile-team ontwikkelt binnen een afgesproken tijd, via een iteratieve benadering, bijvoorbeeld een stuk software. Deze projectaanpak zorgt ervoor dat het Agile-team een product vanaf het begin stap voor stap oplevert, in plaats van één definitieve oplevering aan het einde van het ontwikkeltraject. Agile breekt projecten, hoe complex soms ook, op in kleine werkelementen (gebruikersfunctionaliteiten) en prioriteert deze. Deze werkelementen worden continu opgeleverd in 2-wekelijkse cycli (iteraties).

Heaven

Agile en de waarde van Kanban

Kanban is één van de pullsystemen van de Just-In-Time-pilaar van het TPS-huis (Toyota Production System). Precies leveren wat een proces nodig heeft, wanneer het nodig is. Dat is de essentie. In het Japans betekent het woord ‘Kan’ ‘visueel’ en ‘ban’ ‘kaart’. Vrij vertaald staat Kanban dus voor ‘visuele kaarten’. Lean-teams zetten deze kaarten in als signaleringssysteem binnen een proces. Zo is er nooit meer onduidelijkheid over het bestellen van een nieuwe levering, of het nu gaat om goederen uit een magazijn of van een leverancier. Een Agile-team zet Kanban op dezelfde manier in voor softwareontwikkeling, door de hoeveelheid werk af te stemmen op de capaciteit van het team. Tevens creëert Kanban meer flexibiliteit in de planning, significant kortere doorlooptijden en een duidelijke focus en transparantie in de ontwikkelingscyclus.

Flexibiliteit in de planning

Binnen Agile is een Kanban-team alleen gefocust op het werk dat op dat moment moet gebeuren. Zodra het team een werkelement voltooid heeft, pakt het het volgende werkitem op volgens het FIFO-principe (First-In-First-Out). De Product Owner is vrij om te allen tijde opnieuw de prioriteiten te bepalen in de orderportefeuille. Dit gebeurt zonder het team te storen, zodat veranderingen buiten het huidige werkelement geen invloed hebben op het team. Zolang de Product Owner de prioriteiten goed in de gaten houdt, met inachtneming van klantdeadlines, is het Kanban-team verzekerd van een oplevering met maximale waarde voor de klant.

Agile

Minimaliseren van de cyclustijd

De cyclustijd is een belangrijke maatstaf voor Kanban-teams binnen Agile. De cyclustijd beslaat de tijd die het team nodig heeft om een werkelement te verwerken vanaf de start tot de oplevering. Door het optimaliseren van de cyclustijd, kan het team met vertrouwen een forecast afgeven van de toekomstige werkzaamheden. Kleinere cyclustijden creëer je onder andere door vaardigheden uit te wisselen. Wanneer slechts één persoon een bepaalde vaardigheid heeft, kan die persoon een bottleneck zijn in de flow. Om dit te voorkomen is het noodzakelijk het team, tijdens het ontwikkelen van best practices (denk bijvoorbeeld aan het reviewen van codes) nieuwe kennis verspreidt en teamgenoten begeleidt. Teams die kennis delen en zo altijd de beste methode hanteren, kunnen het werk veel beter balanceren, wat weer ten goede komt aan de cyclustijd. Daarnaast is er altijd sprake van een back-up plan: mocht het nodig zijn, dan kan elk teamlid inspringen om het proces weer snel op gang te krijgen. Zo zijn QA-ingenieurs bijvoorbeeld niet de enigen die testen, ook ontwikkelaars testen al tijdens het ontwikkelen. Binnen Agile is het hele team verantwoordelijk voor een soepele workflow gedurende het hele proces.

Efficiëntie door focus

Multitasking doodt efficiëntie. Hoe meer onderhanden werk op een bepaald moment, des te meer een teamlid moet switchen tussen projecten. Dit vertraagt het daadwerkelijk voltooien van werkelementen. Kanban heeft ook hier een oplossing voor, doordat het de hoeveelheid onderhanden werk (WIP) beperkt. Deze beperking markeert knelpunten binnen het teamproces die te wijten zijn aan gebrek aan focus, mensen, of vaardigheden.

Het maken van een visuele meting

Kanban is belangrijk bij continu verbeteren. Maar, hoe zorgen Agile- teams ervoor dat ze blijven verbeteren? In één woord: visuals. Indien het team continu de performances kan monitoren, is het voor hen eenvoudig om knelpunten te herkennen in het proces (en ze vervolgens te verwijderen!). Agile-teams gebruiken dan ook regelmatig twee rapporten om hun processen te bewaken: cumulatieve flow-diagrammen en controlekaarten.

Bewegen in de richting van continu leveren

Agile heeft nooit de zilveren kogel beloofd. Het is geen ‘one size fits all’ benadering. Het biedt niet alle antwoorden. Wél gaan Agile-teams, door middel van een moderne aanpak, uit van het volgende standpunt:

Wij ontdekken betere manieren om software te ontwikkelen door het zelf te doen en door anderen te helpen.

Er zijn organisaties die grote successen hebben geboekt met Agile, maar er zijn ook organisaties die met de Agile niet konden realiseren wat ze eigenlijk hadden verwacht. Betere software-ontwikkeling is dan ook niet slechts een kwestie van het implementeren van het beste framework of de meest geschikte methode binnen een organisatie. Nee, waar het om gaat is het creëren van een flexibele organisatie. Alle teams, alle teamleden moeten in staat zijn zich aan te passen aan de vraag van de klant en de situaties die zich voordoen.

Continu verbeteren is datgene wat maakt dat Agile werkt. Het is het kloppend hart van Agile (zie je de overeenkomsten met Lean?). Kanban is hierin een continu verbetertool. Het helpt teams bij het organiseren en balanceren van het werk. Door de doorlooptijd van het ontwikkelen iedere keer te verkorten, zal het onderhanden werk afnemen. Dit gaat natuurlijk niet zomaar, er zullen altijd nieuwe bottlenecks opduiken waar verbeterinitiatieven voor worden opgestart. Er zullen zich steeds weer andere problemen voordoen die om eliminering vragen. Kanban maakt het mogelijk om dit gecontroleerd, stap voor stap te doen. Resultaat? Deadlines worden gehaald en klanten blijven tevreden.

Hoe sneller een team een product oplevert, des te beter de concurrentiepositie van dat product. Kanban-teams richten zich precies daarop: het optimaliseren van de doorstroming van het werk aan de klanten!


Over de auteur

Patrick van Dijk werkt als Master Black Belt in Lean bij UNC Plus Delta. Door zijn persoonlijke benadering en prettige persoonlijkheid is hij in staat om de complexe Lean materie op een interactieve manier over te brengen. Patrick is ervan overtuigd dat verandering in een organisatie alleen bereikt kan worden als er intensief wordt samengewerkt.

Meer informatie over: Algemeen Kanban Agile

Verder lezen?


Wat is Lean?

Lean is een business strategie en vooral een manier van werken waarbij alles en iedereen in de onderneming zich richt op het creëren van waarde voor de klant in alle processen.

Lees hier alles over Lean.


Aan de slag met Agile Management

Scrum is een raamwerk voor Agile Management van softwareontwikkeling. Multidisciplinaire teams leveren in korte sprints (iteraties) werkende software op. Samenwerking, communicatie en teamgeest zijn belangrijke sleutelwoorden.

Bekijk hoe deze training u verder kan helpen.


Six Sigma
Menu