Skip to main content

Vad är Lean Software Development?

Lean Software Development är ett paradigm som beskriver en teoretisk idealuppsättning av omständigheter för mjukvaruskapande.Det är viktigt att tänka på mager mjukvaruutveckling som bara en av många programvaruutvecklingsteorier, var och en med sina för- och nackdelar.När du använder den magra programvaruutvecklingsmodellen finns det sju avgörande punkter att förstå: eliminera avfall, förstärka lärande, sen beslutsfattande, snabb leverans, team empowerment, integritetsbyggnad och visualisering av helheten.

Eliminering av avfall är båda en tidoch pengar sparande mål.Genom att minska mängden överskottskod och överflödiga funktioner i Lean Software-utveckling sparar programvaruutvecklingsteamet pengar och levererar stramare kod till slutanvändaren.Således är program som skapats med Lean Software-modellen mindre resurskrävande och mer fokuserade.

Learning Amplification in Lean Software Development hänvisar till konceptet att använda korta cykler mellan testfaser.I teorin ger detta mer konstant feedback till ingenjörerna, i sin tur, vilket gör det möjligt att identifiera problem tidigare i utvecklingskedjan.Slutanvändarna ingår i dessa faser, vilket säkerställer att betaversionerna av programmet uppfyller deras behov.

Sen beslutsfattande möjliggör ytterligare flexibilitet i designschemat, vilket gör det möjligt att fatta beslut när det maximala antalet fakta harhar samlats in.Till exempel, att bestämma före början av utvecklingen att program X bör ha funktioner A, B, och C kan verka som en bra idé, tills testning på marken avslöjar att dessa funktioner inte är möjliga att slutföra i tid.I Lean Software Development skulle beslutet att inkludera A, B och C försenas tills det var säkert om det faktiskt var möjligt.

Snabb leverans hänvisar till en preferens för att förse slutanvändaren med en fungerande beta-modell så snabbt somMöjligt mdash;Eventuellt när programmet är 85 till 90 procent komplett mdash;och fortsätter att lappa och uppgradera den modellen under programmets livslängd.Detta står i kontrast till att vänta tills programmet är 100 procent komplett och levererar det då.I teorin tillåter detta slutanvändaren att pressa mer liv ur programmet, tillsammans med att tillåta utvecklingsteamet ytterligare feedback från de arbetande beta-modellerna.

Team Empowerment innebär att ge teamet mer autonomi under programmeringsprocessen.Som ett resultat kommer de teoretiskt att bli mer investerade i projektet.Dessutom betyder det att ge dem tillgång till kunderna, närmare matchande förväntningar på faktisk leverans.

Slutligen integritetsbyggnad och ser hela fokus på att se programmet som en enda enhet.Kontrast detta med andra system, som ser ett program som en lapptäcksamling av olika system.Detta stora bild sätt att tänka teoretiskt ger en mer komplett produkt, eftersom hela teamet är på samma sida när det gäller den färdiga produkten.