De 7 principes van Lean Software Development

Wat zijn de 7 principes van Lean Software Development?

De principes van Lean (afkomstig van de principes van het Toyota Product Development Systeem) zijn ook toepasbaar op softwareontwikkeling. Hieronder worden de 7 principes van Lean Software Development uitgelegd.

  1. Eliminate Waste
  2. Het Lean Software Development proces start met het minimaliseren van waste binnen het ontwikkelproces. Met waste wordt bedoeld alle activiteiten en inspanningen binnen het ontwikkelproces of organisatie die geen (directe of indirecte) waarde opleveren voor de klant. Voorbeelden van waste zijn gedeeltelijk afgemaakt werk en extra features die niet gebruikt worden.

  3. Build Quality In
  4. Kwaliteit boven snelheid. Build Quality In betekent dat al vanaf het begin kwaliteit in de code wordt aangebracht en niet later tijdens de test. Gebreken vermijden in plaats van opstapelen in een tracking systeem. Het doel is om de ‘rij aan gebreken’ te elimineren. De sleutels om dat te bereiken is het toepassen van test-driven development, continuous integration en tijdig code refactoren om de codebase overzichtelijk te houden.

  5. Create Knowledge
  6. Software ontwikkeling is een proces van kenniscreatie. Een gedetailleerd ontwerp maken in een beginstadium van het ontwikkelingsproces is daarom af te raden. Zo’n ontwerp kan niet goed anticiperen op de complexiteit van software ontwikkeling en de voortdurende stroom aan feedback tijdens het ontwikkelproces. Lange termijn successen worden juist behaald door het voortdurend genereren van nieuwe kennis door het doen van vele experimenten en deze kennis vervolgens door te voeren in de grotere organisatie. In een complexe omgeving zoals softwareontwikkeling treden bovendien altijd problemen op, daarom is het noodzakelijk om het ontwikkelproces doorlopend te verbeteren.

  7. Decide as late as possible
  8. Onomkeerbare beslissingen kunnen het best genomen worden op het laatst verantwoordelijke moment, omdat er dan de meeste informatie is verkregen om de beste beslissing te kunnen nemen. Dit principe kan het best worden toegepast als er van een onomkeerbare beslissing geen omkeerbare beslissing gemaakt kan worden, oftewel, beslissingen die later nog aan te passen zijn. Ondanks dat omkeerbare beslissingen het meest ideaal zijn hoeft een software systeem niet compleet flexibel te zijn, maar alleen op de punten die waarschijnlijk in de toekomst zullen veranderen.

  9. Deliver Fast
  10. Bedrijven die op basis van tijd concurreren, hebben vaak een aanzienlijk kostenvoordeel ten opzichte van concurrenten. Binnen de softwareontwikkeling zorgt continuous deployment voor een snellere levering, waarbij functies die klaar zijn voor release direct live worden gebracht. Daarnaast zijn er diverse andere manieren om de doorlooptijd te limiteren.

  11. Respect People
  12. Het respecteren van mensen binnen een organisatie betekent dat de mensen zelf de verantwoording krijgen over de werkzaamheden en niet gecontroleerd worden via micromanagement. Binnen de software ontwikkeling uit zich dat in zelfsturende teams. Er zijn drie uitgangspunten die een organisatie kan toepassen om een werkomgeving van ‘respect people’ te creëren, namelijk het hebben van ondernemende leiders, het hebben van voldoende deskundig technisch personeel en de planning en controle inrichten op basis van verantwoordelijkheid.

  13. Optimize the Whole
  14. Een Lean organisatie optimaliseert de gehele waardestroom van de organisatie. De waardestroom begint al voor het daadwerkelijk ontwikkelen van software. In de meeste gevallen start het bij de binnenkomende klantorders en eindigt het bij de oplevering, maar het kan per organisatie verschillen. De eerste stap voor het optimaliseren van de waardestroom is het in kaart brengen van de activiteiten binnen de waardestroom in bijvoorbeeld een ‘value stream map’. In de value stream map staat per activiteit hoeveel tijd er aan wordt gespendeerd, zowel de werkelijk gespendeerde tijd (value added time) als de totale tijd (total time). De total time is inclusief wachttijd. Met deze twee getallen kan de ‘flow efficiency’ berekend worden (value added time / total time * 100%). Een flow efficiency van 15 procent is ‘normaal’ en een flow efficiency van boven de 40 procent is als ‘goed’ te bestempelen.

Quick Scan

Benieuwd welke stappen jóuw organisatie kan zetten voor een succesvolle Lean Software development? Doe de gratis Quick Scan!

Vragen over de principes van Lean Software Development?

Bel met een expert

Paul Noordhuizen

06 484 31 088

Paul