Follow Us on Twitter

Lean en Agile, twee zijden van dezelfde medaille?

Gepubliceerd in

Maart 2011 – Naast de "traditionele waterval-aanpak" kun je tegenwoordig geen blad, blog of website meer lezen of er staat iets over "agile" of "lean" software development. Ook Whitehorses besteedt daar regelmatig aandacht aan in Whitebooks en seminars. Maar wat is nu precies agile en wat is eigenlijk lean? Moet ik lean willen of juist agile? Of is het juist de combinatie waar ik naar op zoek ben? In dit Whitebook ga ik wat licht in deze duisternis werpen.

Agile

In 2001 zaten een kleine 20 professionals in softwareontwikkeling bij elkaar om tegenwicht te bieden aan de tot dan toe zware, documentgestuurde, softwareontwikkelprocessen. Onder deze mensen zitten bekende namen zoals Martin Fowler, Alistair Cockburn, Ron Jeffries, Ken Schwaber en Jeff Sutherland. Het resultaat van deze bijeenkomst was het Agile Manifesto:

  1. Mensen en interactie zijn belangrijker dan processen en tools;
  2. Werkende software is belangrijker dan uitgebreide documentatie;
  3. Samenwerking is belangrijker dan contractonderhandelingen en;
  4. Reageren op veranderingen is belangrijker dan een plan volgen.

De best passende Nederlandse vertaling van agile is flexibel of wendbaar. Het gedachtegoed van het agile manifesto is terug te vinden in elke hedendaagse agile ontwikkelaanpak. Scrum, DSDM, Crystal en XP zijn allemaal gebaseerd op deze principes.

"Agile" is dan ook veel meer een denkpatroon dan een vast omlijnde methode. Steeds meer bedrijven en organisaties onderschrijven deze principes en proberen in meer of mindere mate een agile aanpak in te voeren.

Veelgebruikte methoden en technieken in een agile werkomgeving zijn onder andere:

Het is een misverstand om te denken dat het toepassen van één of meer van deze technieken een organisatie per definitie ‘agile’ maakt; het gaat bovenal om de mate waarin de bovenstaande 4 principes van het manifesto tot uitdrukking komen.

Lean

Lean manufacturing, lean production of het Toyota Production System (TPS) zijn allemaal namen voor het bij Toyota ontwikkelde systeem om auto’s te produceren. Het is voornamelijk bedacht door de oprichter van Toyota, Sakichi Toyoda, zijn zoon, en ingenieur Taiichi Ohno. Door een nietsontziende focus op het eindresultaat, continu procesverbetering en waar mogelijk het verminderen van verspilling is Toyota erin geslaagd om uit te groeien tot één van de grootste bedrijven ter wereld. Later hebben Womack en Jones in hun boek "Lean Thinking" de principes van lean manufacturing samengevat in 5 kernpunten:

  1. Bedenk goed wat waarde heeft voor je klant
  2. Bekijk de value stream; hoe komt je product tot stand?
  3. Produceer in een continue stroom, met zo min mogelijk wachtmomenten en voorraden halffabrikaten
  4. Maak niets totdat de klant het gevraagd heeft (pull)
  5. Streef naar perfectie

Naast lean voor (serie-/massa-) productie wordt lean in toenemende mate ook bij dienstverlenende organisaties en processen toegepast. Denk hierbij o.a. aan verzekeraars en ziekenhuizen, die door de inzet van lean hun kosten reduceren en hun klanttevredenheid sterk verhogen.

Lean werd en wordt niet alleen toegepast in productieprocessen, maar ook om nieuwe producten te ontwikkelen. Het is dan ook niet verrassend dat lean ook toegepast kan worden op softwareontwikkeling. Een goed boek hierover is Lean Software Development van Tom en Mary Poppendieck. Zij beschrijven in dit boek aan de hand van een 20-tal technieken hoe de lean filosofie toegepast kan worden op softwareontwikkeltrajecten. Ook de Whitebook van collega Jos van Otterloo over het herkennen en bestrijden van informatieverspilling past naadloos bij een lean werkwijze.

Lean en Agile

Waar de ene spreker lean en agile als synoniemen gebruikt, blijkt een ander ze als twee wezenlijk verschillende aanpakken te beschouwen. Het internet staat vol met vurige betogen van zowel lean als agile aanhangers.

Er zijn onmiskenbaar verschillen tussen lean en agile. De wortels van lean liggen in productiesystemen, terwijl agile voornamelijk vanuit creatieve, kennisintensieve omgevingen ontstaan is. Daarnaast heeft lean een sterkere focus op de gehele organisatie en haar omgeving, maar wordt agile vooral geprezen als "team-aanpak".

Maar er zijn ook overeenkomsten tussen lean en agile. Zo is er zowel binnen lean als agile niets belangrijker dan het eindresultaat, oftewel het resultaat dat waarde creëert voor je klant. Ook het stevig verankeren van continu verbetering (binnen lean ook wel kaizen genoemd) is een belangrijk element in beide filosofieën. Beide gaan uit van continu leren en aanpassen. Voor beide zijn de mensen die het doen belangrijker dan de tools die je gebruikt.

De auteurs van het agile manifesto zijn zeker beïnvloed door de ideeën uit lean productie en deze link is nog wat explicieter gemaakt door de Poppendiecks in bovenstaand boek. Zowel agile als lean zijn in feite niets anders dan een verzameling principes, of zo je wilt waarden en normen. Deze principes zijn erg compatible. Je kunt dan ook niet agile werken zonder lean te denken en vice versa.

"Het hangt ervan af"

Eén niveau onder agile en lean principes zitten allerlei methoden en technieken. Waar technieken als pair programming en test driven development sterk leunen op agile, liggen zaken als value stream mapping, pull scheduling en cycle time dichter tegen lean aan.

Welke technieken zijn nu "het beste"? Dat hangt helemaal van de situatie af. Er is geen "one right way" om software te ontwikkelen, zelfs niet voor verschillende projecten binnen dezelfde organisatie. Waar het vooral om draait is om de principes in je achterhoofd te houden en daarbij zinnige keuzes te maken uit je lean en agile gereedschapskist.

Conclusie

Lean en agile zijn onlosmakelijk met elkaar verbonden. De ideeën zijn sterk vergelijkbaar, de gebruikte tools verschillen en kunnen elkaar goed aanvullen. Afhankelijk van het publiek is het zinvol om te kiezen voor een wat meer lean vocabulaire (het lean begrippenkader staat over het algemeen wat dichter bij de belevingswereld van met name senior (IT) management). Pas op voor dogma’s en selecteer je technieken zorgvuldig voor de situatie die je op dat moment bij de hand hebt.

Referenties

Waardering:
 

Reacties

Dit is precies hoe ik erover denk en hoe ik het altijd uitleg. Hierbij kun je de kracht van Lean en Agile goed combineren. Lean voor de organisatie en Agile voor development, een goede combinatie denk ik zelf.

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.