Posts tagged: XP

Lean software development – resurssnål mjukvaruutveckling

Vad är Lean Software Development?

Lean Software Development är den lättrörliga och resurssnåla tillverkningsfilosofin som just nu tar IT-världen med storm. Liksom sin­a kusiner, Scrum och XP, är Lean Software Development en agil metod. Efter att framgångsrikt ha infört Scrum eller XP blir frågan hur övriga organisationen behöver anpassa sig, och där passar Lean väldigt bra. Fördelarna är odiskutabla: ökad produktivitet i projektet och högre kvalitet på den utvecklade mjukvaran. De grundläggande principerna är mycket tydliga:

– Slöseri minimeras
– Resurser används effektivare
– Kunderna får det de vill ha

Lean är inte någon övergående trend. Toyota som är ursprunget till Lean har visat genom åren hur framgångsrikt Lean tänkande är. Toyotas utvecklingsarbete har en produktivitet som är fyra gånger högre än de flesta andra företags; Toyota kan utveckla en ny bilmodell på elva månader och deras projekt blir aldrig försenade medan det tar andra biltillverkare tre till fyra år med stora förseningar och kvalitetsproblem. Lean Software Development, baseras på samma principer som gjort Toyota värdsledande. Sätt människan i centrum/utnyttja hennes styrkor, jobba kundcentrerat, uppdaga problem tidigt, eliminera slöseri i värdekedjan, korrigera rot orsaken till problemen och utför ständig förbättring är principer som ser till att Toyota hela tiden ligger steget före. Lean knyter samman värderingar, principer och tillämpningar på en nivå som går djupare än systemutveckling.

Med Lean Software Development optimerar du produktiviteten i ditt IT-projekt genom att lägga kraft på de moment som verkligen tillför mervärde. Resultatet blir inte bara bättre slutprodukt och kostnadsbesparingar. Du ger också dina medarbetare en mer stimulerande arbetsplats.

Agila metoder har inneburit en förbättring av mjukvaruprojekts upplevda kvalitet. Framför allt brukar den ökade kommunikationen och transparensen med Agila team lyftas fram. Dock erbjuder Agil metodik mycket lite stöd för att angripa underliggande organisatoriska problemen (såsom urskiljandet av system och slumpmässiga orsaker), hur kritiska resurser kan användas och var förbättringar bör läggas. Agile kan även uppfattas som mjukvaruorienterad och ha svårt att vinna acceptans utanför IT avdelningen. Lean kompletterar andra agila metoder med att det erbjuder bredare lösningar som fungerar över avdelningsgränser. Lean erbjuder även en tydligare bild av chefens roll och medverkan i mjukvaruprocessen.

Lean Software Developments fyra viktigaste punkter

• Eliminera allt onödigt
Till exempel onödig dokumentation, överdrivet avancerade mjukvaruramverk och onödiga möten.

• Arbeta i team med flera kompetensområden
Alla som ska delta i projektet ska vara delaktiga från projektets början. Teamet ansvarar själva för att förstå kraven och för utformningen av den mest optimala lösningen. Teammöten om förbättringsåtgärder sker dagligen.

• Försäkra kvalitet i varje led
Målet med testing ska inte vara att hitta fel, utan att förhindra fel. Genom att kvalitetssäkra koden i samma stund som den kompileras upptäcks fel omedelbart och kan åtgärdas innan nästa steg. Inga otrevliga överraskningar en vecka innan deadline alltså.

• Fatta beslut så sent som möjligt
Besluten ska inte tas innan projektet startas utan de ska fattas när vi vet som mest, men innan vi får problem. Lean utgår från att man samlar kunskap under projektets gång. Därför har vi många gånger bättre förutsättningar för att fatta rätt beslut i mitten eller mot slutet av projektet än vid projektets start. Överdrivet detaljerade kravspecifikationer försvårar att ny värdefull kunskap tillvaratas.

Lean Software Development med Kanban

Kanban är ett japanskt ord som betyder visuellt kort.

Kanban har omtalats som den första nya Agila metoden på 5 år. Kanban baseras på den mycket enkla principen – sätt en gräns för hur mycket pågående arbete som tillåts och sätt. Kanban är dock inte ett verktyg som ersätter tidigare agila metoder.

Sätt igång nytt arbete först när något arbete är avslutat. Från denna enkla princip har regler utvecklats.

Länkar:

Lean software development Wikipedia

Agile software development Wikipedia

Scrum – tillbaka till rötterna

Nu växer kritiken mot Scrum

Därför bråkar agilister och arkitekter

Dansette