Hva er Lean Software Development?

Lean Software Development er et paradigme som beskriver et teoretisk ideelt sett med omstendigheter for programvareoppretting. Det er viktig å tenke på Lean Software Development som bare en av mange teorier om programvareutvikling, med hver sine fordeler og ulemper. Når du bruker Lean Software Development-modellen, er det syv viktige punkter å forstå: eliminere avfall, forsterke læring, sen beslutningstaking, rask levering, team empowerment, integrity building, og visualisering av helheten.

Eliminering av avfall er både et mål og tidsbesparende mål. Ved å redusere mengden av overskuddskode og overflødige funksjoner i Lean Software Development, sparer programvareutviklingsteamet penger og leverer strammere kode til sluttbrukeren. Dermed er programmer laget med Lean Software-modellen mindre ressurskrevende og mer fokuserte.

Læringsforsterkning i Lean Software Development refererer til konseptet å bruke korte sykluser mellom testfaser. I teorien gir dette mer konstant tilbakemelding til ingeniørene, som igjen gjør det mulig å identifisere problemer tidligere i utviklingskjeden. Sluttbrukerne er inkludert i disse fasene, og sikrer at beta-versjonene av programmet tilfredsstiller deres behov.

Sen beslutningstaking gir ekstra fleksibilitet i designplanen, slik at beslutninger bare kan tas når det maksimale antall fakta er samlet. For eksempel kan det forekomme som en god ide å bestemme seg for utvikling av at X skal ha funksjoner A, B og C, før inntesting på bakken avslører at disse funksjonene ikke er mulig å fullføre i tide. I Lean Software Development ville beslutningen om å inkludere A, B og C bli forsinket til det var sikkert om det faktisk var mulig.

Rask levering refererer til en preferanse for å gi sluttbrukeren en fungerende betamodell så raskt som mulig - muligens når programmet er 85 til 90 prosent komplett - og fortsette å lappe og oppgradere den modellen i løpet av programmets levetid. Dette står i kontrast til å vente til programmet er 100 prosent komplett og levere det da. I teorien gjør dette at sluttbrukeren kan presse mer liv ut av programmet, sammen med at utviklingsgruppen gir ytterligere tilbakemeldinger fra de fungerende betamodellene.

Team empowerment betyr å gi teamet mer autonomi under programmeringsprosessen. Som et resultat vil de teoretisk sett bli mer investert i prosjektet. I tillegg betyr det å gi dem tilgang til kundene, nøyere samsvar med forventningene til faktisk levering.

Til slutt fokuserer integritet på å se helheten og se på programmet som en enhet. Kontrast dette med andre systemer, som ser på et program som en patchwork-samling av forskjellige systemer. Denne "store bilde" tankegangen teoretisk gir et mer komplett produkt, ettersom hele teamet er på samme side når det gjelder det ferdige produktet.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?