Ursprung för Lean: Lean-principer härstammar från tillverkningsindustrin, specifikt från Toyota Production System (TPS) som utvecklades av Toyota på 1950-talet. Toyota syftade till att optimera produktionsprocesser genom att minimera slöseri, öka effektiviteten och förbättra det övergripande värdet. Kärnan i lean är att leverera maximalt värde till kunderna samtidigt som resurser, tid och ansträngning minimeras.
Inom ramen för programutveckling och IT har lean-principer anpassats och tillämpats för att förbättra processer, minska ineffektiviteter och leverera bättre resultat. Lean-programutveckling fokuserar på att leverera högkvalitativa programvaruprodukter genom en uppsättning principer som betonar kundvärde, kontinuerlig förbättring och minskning av slöseri. Rent konkret kan detta innebära att förstå kundens behov och fokusera utvecklingsinsatser på funktioner och funktionaliteter som direkt bidrar till kundnöjdhet.
Lean identifierar olika former av slöseri, såsom överproduktion, väntetider, onödiga processer, defekter med mera. Inom programutveckling kan slöseri manifestera sig som onödiga funktioner, överdriven dokumentation och ineffektiva arbetsflöden. Genom att eliminera sådant slöseri kan teamen effektivisera utvecklingen och öka produktiviteten.
Lean främjar konceptet med kontinuerlig förbättring, där team regelbundet utvärderar processer och metoder för att identifiera områden för förbättring. Inom programutveckling innebär detta iterativ utveckling, frekvent återkoppling och anpassning till förändrade krav för att skapa bättre programvaruprodukter över tiden.
Lean uppmuntrar till stärkta och tvärfunktionella team. Här involveras individer med olika färdigheter (utvecklare, testare, designers) som samarbetar för att leverera kompletta och högkvalitativa funktioner.
Lean betonar ett dragbaserat system, där arbete initieras baserat på faktisk efterfrågan. I praktiken innebär detta att utveckla funktioner när de verkligen behövs, vilket minskar onödigt arbete och potentiell omarbete.
Lean uppmuntrar till leverans av mindre, inkrementella förbättringar istället stora, komplexa lösningar på en gång. Denna approach leder till snabbare releaser, snabbare återkopplingsloopar och enklare anpassning till förändrade krav.
Lean fäster stor vikt vid respekt för människors kompetens, input och välbefinnande, vilket främjar en kultur av samarbete, öppen kommunikation och kontinuerlig inlärning.