Als Lean een cultuur is in een smeltkroes van werelden, is Agile daarbinnen een van de gesproken talen. En elke taal kent dialecten; zo zijn daar Kanban en Scrum. Lean is de moeder van het concept van de 7 verspillingen en representeert in één woord waar het voor staat. Een slanke en lenige organisatie. Dat past mooi, als je beweeglijk wil blijven. En dat is dan weer precies wat Agile is. Maar hoe ben je Agile? Ook daarin heb je verschillende smaken: Scrum en Kanban bijvoorbeeld.
Lean betekenis
Een slanke en lenige organisatie heeft betrekking op onder meer processen, middelen en strategie. De vijf basisprincipes zijn: waarde, waardestroom, flow, pull en perfectie. Lean is niet zozeer een kant-en-klare methode, het is vooral een filosofie. De naam komt van een boek uit 2003, geschreven door Mary en Tom Poppendieck die hun gedachtegoed doeltreffend de wereld in hebben gebracht. Hoofdzaak is verspilling tot het minimale reduceren. Alles wat geen waarde toevoegt voor de klant, mag overboord. Denk bijvoorbeeld aan bureaucratie, trage communicatie, onduidelijkheid of bezig zijn met dingen waar niet om is gevraagd. Daarvoor zijn een paar tools en handvatten bedacht die dit allemaal tegen zouden moeten gaan. Zorg bijvoorbeeld dat je veel en vaak test wat je maakt. Zo voorkom je dat fout op fout gestapeld wordt. Regelmatig tussendoor testen zorgt er bovendien voor dat je de wensen van gebruikers helder in kaart krijgt. En je dit niet pas op het eind in de gaten hebt, als alles al gebouwd en opgeleverd is.
“Lean is a way of thinking – not a list of things to do” – Shigeo Shingo
Uitstellen mag met Lean
Zorg ook dat je lastige beslissingen (duur en onomkeerbaar) liever uitstelt tot een later moment. Dan kun je bovendien ook lekker vlug door. Snelheid is namelijk key. Lever zo snel mogelijk op, dan heb je zo snel mogelijk weer feedback terug en weet je dat vlug (en op goede voet) weer door kunt sprinten. En je bent super Lean.
Zelfredzame teams
Managers die vertellen hoe het moet. Dat is een leuk concept als managers ook alles weten van wat je doet. Maar wat als dat niet het geval is? Of als de omgeving niet voorspelbaar is, wat bij softwareontwikkeling vaker wel een gegeven is dan niet. Dan werkt de Lean-methode, waarbij je je teams verantwoordelijkheid geeft, veel beter. Bouw aan goede teams en – ook heel belangrijk: zie de mensen in het team als mensen, niet als poppetjes. Poppetjes hebben namelijk aan een poppenhuis genoeg. Mensen willen méér. Uitdaging, motivatie, doelen, eigen inbreng. De som is meer dan het geheel der delen, dat idee.
Agile Manifesto
De Lean-methode werd snel opgepikt en daaruit ontwikkelden zich weer eigen clubjes. Agile is ontstaan uit een groep van 17 programmeurs die de koppen bij elkaar staken. Ze schreven basisprincipes op die ze samen het Agile Manifesto noemden. Ook dit kun je weer zien als een filosofie, een overtuiging. Het is de bedoeling dat Agile ervoor zorgt dat je als organisatie weerbaar, wendbaar en dus flexibel opereert. Go with the flow! Kleine zelfsturende team zijn autonoom, multifunctioneel en er is veel interactie. In tegenstelling tot hiërarchische teams, met vooral individuele verantwoordelijkheden en weinig interactie. Het is overigens een misvatting dat Agile betekent dat er geen management meer is! Je wordt nog steeds afgerekend op slecht werk, sterker nog: het valt veel meer op als je niet voldoende presteert. Verstoppen in bureaucreatie is er immers niet meer bij!
“The world is changing very fast. Big will not beat small anymore. It will be the fast beating the slow.” – Rupert Murdoch (Business Tycoon and CEO of New Corporation)
De weelderige velden van Agile
Op de weelderige velden van Agile bloeit ook weer een heel scala aan soorten bloemen. Eén krachtige, winterbestendige topper is Scrum. Deze keer een term die uit de Rugbysport is ontleend. De scrum is namelijk het moment waarop 2 groepen spelers in een voorovergebogen houding tegen elkaar gaan duwen. Heel beweeglijk allemaal. Developers staan gelukkig niet tegen elkaar aan te duwen de hele dag, maar bespreken netjes in dagelijkse stand-ups met elkaar wat er is bereikt sinds de vorige stand-up en wat iedereen wil gaan bereiken voor de volgende samenkomst. Killing voor flow, zijn roadblocks (obstakels) die ervoor zorgen dat je niet verder kunt met je werk. Die komen dus ook aan bod, zodat direct het team mee kan denken en je elkaar kunt helpen. Extra pluspunt: je wordt gedwongen naar elkaar te luisteren en met elkaar te communiceren.
Scrum: brok voor brok
Werk wordt verdeeld in hapklare brokken, kleine work items van 2-4 uur. Die worden verzameld op de Backlog en van daaruit wordt telkens een sprint van 2 weken klaargezet. Door taken op deze manier te verdelen houd je met elkaar overzicht op het werk en heb je meerdere keren per dag het geluksmomentje waar je iets van ‘Work In Progress’ naar het ‘Done’-plaatsje kan schuiven. Zo, dat is af. Iedere sprint begin je dus ook met het uitzetten van de sprinttaken en eindig je met een evaluatie zodat ook leerpunten in kaart kunnen worden gebracht. Dit is niet zomaar even gedaan in een overleg, zoiets heet een ceremonie.
Kanban
Dan Kanban, de nóg flexibelere variant, als je het zo mag noemen. Kanban is een andere stroming binnen Agile werken, ontstaan in Japan. Het woord betekent letterlijk: visueel bord. Kanban is één van de pullsystemen van de Just-In-Time-pilaar van het TPS-huis (Toyota Production System). Precies leveren wát er nodig is wannéér het nodig is. Dat is de essentie. Het is aanvankelijk een systeem om de logistieke productieketen te besturen en werd ontwikkeld door Taiichi Ohno van Toyota.
Overeenkomsten
Er zijn veel overeenkomsten met Scrum. Zo verdeel je het werk op dezelfde manier, door alles eerst te verzamelen op een Backlog en onder te verdelen in korte taken. De taken komen op het Scru.. eh, Kanbanbord te staan, waar je ook onderverdeelt wat er moet gebeuren, waar je aan werkt en wat al af is. Maar belangrijk detail: je hebt niet iedere twee weken een ceremonie waarin je een sprint in elkaar zet en terugblikt op de sprint die voorbij is. Zodra een werkelement voltooid is, pak je 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.
Eindeloze flow
Het idee is dat je met Kanban een doorlopend proces hanteert van doorschuivende taken, eindeloos. Is de To Do bak leeg? Schuif je er vanuit de Backlog weer wat nieuws in en zo blijft er een continu proces van vullen en leegmaken eindeloos doorstromen. Met als enige regel dat je ervoor zorgt dat er in de Work In Progress-bak wel een maximaal aantal items mag staan (Limit your WIPS!). Dat is belangrijk, want anders riskeer je een overvolle bak die maar niet leegkomt. Ook belangrijk voor flow: kennis delen. Want dit voorkomt bottlenecks in de vorm van collega’s die maar een paar taken op kunnen pakken en niet multi-inzetbaar zijn.
“Software engineers are apparently not supposed to have a social or family life.” ― David J. Anderson, Kanban
You talk, we work
‘Waar jullie vooral over praten, zijn wij in dezelfde tijd al aan het doen’, zeggen de Kanban-aanhangers wel tegen Scrummers. Ze vinden dat er met de ceremonies te veel ruimte wordt gecreëerd voor een ‘overlegcultuur’, terwijl je ook gewoon kan doorwerken. ‘Maar jullie evalueren niets!’, krijgen ze dan weer terug te horen van Scrum-lovers. Kanban lijkt daarnaast minder goed te werken als het aantal productvarianten en/of veranderingen niet beperkt is. Wordt er voortdurend van alles weer gewijzigd, dan heb je kans op incourante voorraden (producten die niet meer bruik- of verkoopbaar zijn). (Natuurlijk is daar dan ook wel weer een systeem voor bedacht, genaamd: POLCA.)
Vind je eigen weg
Er staan ook steeds meer organisaties op die hun eigen weg maken. Doe een ander niet na, maar kneed van alle modellen, strategieën, theorieën en tools een proces dat bij je bedrijf en je mensen past. Pas wel op dat je je niet alleen maar richt op snelle winst en alles wat te veel tijd lijkt te kosten, overboord gooit. Elk element heeft waarde en is met een rede toegevoegd. Dus doe het op je eigen manier, maar houd wel de balans in evenwicht. Anders eindig je met een Frankenstein-filosofie die niet werkt, demotiveert en veel tijd en geld kost.
Veel van de bedrijven waar we mee samenwerken, werken volgens een van deze filosofieën of hebben zelf een mix bedacht.