Lean Software Development: 7 Key Principles (in simple words) | Lvivity Lean Software Development: 7 nøgleprincipper (med enkle ord)

Effektivitetsoptimering og minimering af omkostninger er to vigtige komponenter i den lean-tilgang til softwareudvikling, som allerede er blevet afprøvet af mange it-virksomheder i praksis.

Rødderne til denne tilgang går tilbage til den kendte bilproducent Toyotas historie og er baseret på dens problemløsningstilgange. Det handler i bund og grund om kun at foretage de ændringer, der er gavnlige, og som samtidig kræver minimale omkostninger og ikke tager for lang tid at gennemføre.

I forhold til softwareudvikling blev Lean-metodikken først behandlet af Mary Poppendieck og Tom Poppendieck, som udgav bogen “Lean Software Development” i 2003. Den beskriver de traditionelle principper for lean produktion i forhold til softwareudvikling samt et sæt af 22 værktøjer (praksisser) og deres sammenligning med agil udviklingsmetodologi.

Lean Software Development – er ikke en metode til projektudviklingsstyring, som det umiddelbart kan se ud til at være. Det er et sæt principper, der anvendes i forskellige projekter til at forbedre udviklingsprocessen og øge dens effektivitet.

De 7 principper for lean softwareudvikling

Kernen i lean udvikling ligger i en række vigtige principper, der stort set er uændret i de seneste år. Lad os forsøge at forklare dem med korte og enkle ord.

1. Eliminér spild. I app-udvikling er spild alt det, der ikke giver kunden nogen forretningsmæssig værdi, og som ikke forbedrer kvaliteten af det produkt, der udvikles, eller fremskynder projektets frigivelsestid.

Med andre ord er det det, vi bruger penge på og ikke får nogen fortjeneste ud af. For eksempel ubrugt kode og unødvendige funktioner, der ikke giver ekstra værdi for både brugeren og forretningen, men som kræver tid til diskussion, udvikling, test og dokumentation.

2. Forstør læring. For at teamet kan udvikle et system, der vil give kunden forretningsmæssig værdi, skal de have en bred vifte af færdigheder. Holdet skal opsamle viden og dele den, f.eks. i form af en gennemgang i slutningen af iterationen.

Den nye læring vil for en dels vedkommende være teknisk, og for en dels vedkommende vil den tværtimod være klassificeret som ikke-funktionelle krav. For eksempel at have en forståelse af, hvad en forretningsbruger virkelig ønsker, og ikke hvad udviklerne forestiller sig. Derfor skal teamet konstant udvikle sig, lære og akkumulere viden. På den måde kan teamet undgå problemer i fremtiden.

3. Beslut dig så sent som muligt. Hovedidéen her er at vente til det sidste øjeblik, før man træffer en beslutning, især en irreversibel beslutning. Dette gælder især, når vi taler om de beslutninger, der kan have en betydelig indvirkning på udviklingens succes.

Alle beslutninger skal understøttes af analytiske data og resultater fra procesovervågning, ellers risikerer teamet at blive opslugt af for mange ændringer og kan glemme projektets hovedformål.

Jo senere du træffer en beslutning, jo flere færdigheder og forståelse har du, og jo mindre skal du lave om senere.

4. Lever så hurtigt som muligt. Dette er grundlaget for iterativ udvikling. Jo hurtigere du viser dit forarbejde til kunden, jo hurtigere får du hans feedback, og dermed vil han modtage produktet med de nødvendige forbedringer meget hurtigere.

En interessant forretningsfunktion, der gik i produktion i løbet af få måneder, kan i sidste ende vise sig at være helt ubrugelig. Men hvis den blev frigivet inden for to uger, kan den vise sig at være til gavn for kunden.

5. Giv holdet mere magt. Softwareudvikling er en proces med mentalt arbejde, så behandl folk som kompetente, motiverede fagfolk, snarere end fagfolk med snævre færdigheder i at skrive kode eller tegne diagrammer.

For at folk kan tage ansvar, være motiverede og arbejde som et solidt team, skal de være bevidste om deres bidrag til det produkt, der udvikles. Det er nødvendigt at skabe betingelser, hvor hver enkelt person kan være fokuseret på at arbejde med den aktuelle forretningsopgave.

Trods dit team og respekter det. Den menneskelige faktor er et af de vigtigste elementer i en vellykket softwareudvikling.

6. Opbyg integritet i. Ifølge principperne for lean udvikling kan et problem enten findes, efter at det er opstået, eller du kan fjerne de årsager, der fører til et problem, på forhånd.

Forfatterne til Lean Software Development foreslår, at du løser kvalitetsproblemet direkte, når det begynder at dukke op – i første omgang ved at lægge kvaliteten i produktet og ikke overlade identifikation og rettelse af fejl til test eller produktion. Hertil er det værd at bevæge sig i små skridt og kontrollere kvaliteten efter hvert skridt.

7. Se helheden.

Den vigtigste måde at løse problemer på er at bryde dem ned i mindre problemer og konsekvent fjerne årsagerne til deres opståen. Men for at kunne se roden til problemet skal teamet have en god overordnet forståelse af den aktuelle udviklingsproces, konceptet og strategien for det produkt, der udvikles.

Summary

I denne artikel vil du finde ud af principperne for Lean Software Development, som du kan anvende, når du arbejder på projekter i dit team. Det kan meget vel være, at det vil give dig mulighed for at forbedre effektiviteten og optimere processerne.

Det er nødvendigt at forstå, at vi taler om principper og ikke om strenge regler. Derfor skal man gøre en indsats for effektivt at tilpasse dem til de særlige forhold i dit projekt.

Vil du starte et projekt?

Vores team er klar til at gennemføre dine idéer. Kontakt os nu for at drøfte din køreplan!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.