Agile, scrum och en gnutta lean Agila arbetsformer Agile, scrum och en gnutta lean
Gemensamma värderingar Värdera individer och interaktion högre än processer och verktyg Värdera fungerande ”funktion” högre än omfattande dokumentation Värdera samarbete med kunden högre än att förhandla om kontrakt Värdera att reagera på förändring högre än att följa en uppgjord plan
12 principer – fast bara nio Prioritera och fokusera för att maximera Return on Investment – ROI – tidig leverans Transparens – för att synliggöra problem och bygga förtroende Iterativ och inkrementell utveckling – för att lära, få feedback och minska risken Samarbete – för att minska missförstånden och klyftorna och säkerställa de affärsmässiga målen
Uppmuntra och välkomna förändring – eftersom verkligheten ändrar sig hur som helst Enkla verktyg – för att kunna anpassa processen efter verksamheten Målstyrning/ Decentralisering – för att kunna arbeta effektivt Ständig förbättring – för att kunna bli effektivare Hög kvalitet – för att fel är kostsamma
12 principer – alternativ formulering Tidig och kontinuerlig leverans Välkomna förändrade krav Leverera funktion Dagligt samarbete under hela projektet Motiverade individer Ansikte mot ansikte fungerar bäst Funktion är mått på framsteg Hållbarhet Förstklassig teknik – bra design Enkelhet Självorganiserande team Självreflektion
Lean Jobba långsiktigt, minimera risken, var effektiv genom att undvika onödiga saker, synliggör problem, ständig förbättring Kaizen
Lean – 8 principer Långsiktighet Ta bort ojämnheter, överbelastning och slöseri Satsa på kvalitet Fokusera på lärande Vänta så länge som möjligt på beslut Respektera andras arbete och kunnande Leverera snabbt Optimera på helheter
1. Långsiktighet Basera beslut på långsiktighet även om det sker på bekostnad av kortsiktiga ekonomiska mål
2. Ta bort ojämnhet, överbelastning och slöseri Eliminera Mura – ojämnt flöde - eliminera inflödet efter flaskhalsar - vidga flaskhalsarna öka inte trycket - Prioritera att bli klar inte att börja nytt - samarbeta Eliminera Muri – överbelastning – tänk långsiktigt Eliminera Muda – slöseri – tidstjuvar, resursätare, slöseri, svinn och spill – allt som inte tillför kunden värde
3. Satsa på kvalitet Det börjar alltid med ett trasigt fönster Kvalitet från början Automatiska tester Daglig kontroll av systemets kvalitet Fixa felen med en gång
4. Fokusera på lärande Undvik återlärande Sök upp den som har kunskap Ansvar för att sprida kunskapen Jobba tillsammans – överför kunskap Ständig förbättring Kaizen
5. Vänta med beslut Att planera har ett värde – att följa planer har inget värde Vänta med beslut så länge som möjligt – besluta när du vet så mycket som möjligt Jobba med flera spår samtidigt
6. Respektera medarbetarnas kunskap Chefen sätter ramar och förväntningar Förutsätter att alla kan sitt jobb Processförändringar görs av dem som kan systemet Eliminera det största problemet först
7. Leverera snabbt Inkomsten kommer först när funktionen är levererad Kort tid mellan kostnader och inkomster Kunden hinner inte ändra sig Learning by doing
8. Optimera helheten Alla är delaktiga Nya funktioner skapar oreda Experter innebär en risk Testa inte sist i processen utan kontinuerligt
Hitta balansen mellan principerna
10 källor till slöseri Onödiga funktioner – lägg till funktioner först när de efterfrågas Ej färdigt arbete – ej uppdaterad kod, osynkad kod, ej testad kod, odokumenterad kod, ej lanserad kod Återlärande – kunskap skall underhållas och överföras Överlämningar – lär upp den som tar emot – regelbundna överlämningar – inga tydliga brytpunkter- inte BARA en manual
Växla mellan uppgifter – koncentration på det viktigaste – ökar effektivitet och kundnöjdhet Slöseri – väntetider – personen med svaren finns alltid tillgänglig Defekter – kostar tid och pengar att rätt Frustration – chefen lyssnar inte - varje medarbetare skaffar sig den information som behövs
Onödigt arbete – allt som inte tillför värde för kunden Outnyttjad kreativitet – alla får delta i det kreativa arbetet - inte bara utvecklare och ledning
Lean - grundtankar Leverera ett beslut eller en produkt just när den behövs Köer och lager minimeras Just in time Tillåt INGA brister – Stop the line Culture The five if
The five if Jag har inte blivit klar Jag kunde inte koncentrera mig Varför Jag kunde inte koncentrera mig För att jag löser alla supportärenden För att vi levererade för många buggar För att vi inte hann testa ordentligt För att vi är stressade att leverera
Agila metoder Lean Scrum XP
Resursoptimering vs Time to market optimering Produkt A Produkt B Produkt C Produkt D Produkt A Produkt B Produkt C Produkt D
Prioritera och fokusera Strikt prioritering - Det finns inte två saker som är lika viktiga Prioriteringen kan ändras men vid ett visst tillfälle är något viktigast Alla påbörjade projekt kostar pengar Avslutade projekt ger inkomster Fokus på kundvärde
Transparens – hög kvalitet Tala om kundvärde och funktionalitet istället för tekniska lösningar Fungerande mjukvara = fungerande, städad, lättförståelig och väl testad
Transparent och inkrementell Tidiga intäkter - Systemet växer fram funktion efter funktion Feedback tidigt – tid att lära och förbättra Lagom mycket förändring – jobba i iterationer där målen ligger fast – inför nästa iteration kan målen ändras…
Minimera antalet informationsled Enklaste kommunikationen mellan två personer Möten korta och tidsbegränsade Kunden på plats
Dessutom Gemensamt språk – definiera domänen – orden genomsyrar krav, kod, databas Planera när det behövs – grov övergripande plan för framtiden (road map) – detaljerad plan för den närmaste tiden Uppmuntra förändring - ger ökad kundnytta Enkla verktyg – post-it, whiteboard Decentralisera beslutsfattandet
Pull – åta sig istället för att bli tilldelad Anpassa åtagandet efter kapacitet Avsluta innan nya projekt påbörjas Fungerande team – gruppen ska föra uppdraget i mål på egen hand Kaizen – nästa vecka blir bättre än denna Ta tag i problemen och lös dem istället för att acceptera att dom finns där
Ett agilt projket Walking skeleton – en minimalfungerande prototyp Bygg inkrementellt – kan lanseras med de funktioner som implementerats Funktionen har alltid högsta kvalitet
Scrum
Scrum - kort Produktägaren – bestämmer vad som skall göras – ansvarar för prioriterad backlog Utvecklingsteamet bestämmer hur det skall göras Allt arbete görs i cykler – sprintar om exvis 2 veckor Två processer – utveckling av funktionerna och förbättring av arbetsmodellen
Scrum arbetsprocess Produkt Backlog Sprint Backlog Release Sdjlsdkfasöldkf skföadj Sldköalsd öas öd Ölkaös Söldkäaösdk äösd Ldksfäök skdfäalöskdfäasdö Sprint Backlog Sdjlsdkfasöldkf skföadj Sldköalsd öas öd Ölkaös Söldkäaösdk äösd Ldksfäök skdfäalöskdfäasdö Release Första veckan Andra veckan Dagliga scrum Demo Åter-blicksmöte Sprint-planering
Scrum roller Beställare Produktägare utvecklingsteam Beställaren är delaktig i hela processen Produkt Backlog Sdjlsdkfasöldkf skföadj Sldköalsd öas öd Ölkaös Söldkäaösdk äösd Ldksfäök skdfäalöskdfäasdö Scrum master Scrummaster – ansvarar för scrumprocessen och förbättra denna Produktägaren ansvarar för prioriteringen
Produktägaren (Product owner) Ansvarar för att det generas så mycket kundnytta som möjligt Prioriterar bland önskade förbättringar Gör produktbackloggen så tydlig som möjligt Har koll på intressenter
Utvecklingsteamet Är en roll Gemensamt ansvar Multipla kompetenser 5 – 8 personer 100% i projektet Självorganiserade Jobbar ihop
Scrum master Lagkapten, ordningsvakt och vaktmästare Ser till att teamet kan jobba bra Löser problem och förbättrar processen Ser till att rutinerna följs Upptäcker och löser problem Finns i bakgrunden
Produkt backlog Att-göra lista Produktutvecklingsplan Prioriterad Backlog items User story Kundperspektiv Nya saker kan läggas till Prioriteringar kan ändras Synlig för alla
Backlog Prioriteringsgrunder Vilket färde tillförs Vad är kostnaden Minimeras någon risk Kan vi lära oss något Uppskattning av arbete – relativa mått - storypoints
Att starta sprinten Planeringsmöte (2 timmar) tidsbegränsat Produktägaren har grovplanerad och grovprioriterad backlog Beslut om vad gruppen tar på sig Stories bryts ner till arbetsuppgifter Sprint backlog – är vad gruppen åtar sig att göra – denna är låst under sprinten om inte produktägare och utvecklingsteam godkänner
Sprint burndown Storypoints Två veckor
M = Måste, S=Ska, C=Kan, … alternativt prio1 (viktigast)– prio10
Sprint task board Att göra Pågående Klart Produkt Backlog Sprint Sdjlsdkfasöldkf skföadj Sldköalsd öas öd Ölkaös Söldkäaösdk äösd Ldksfäök skdfäalöskdfäasdö Sprint Backlog Sdjlsdkfasöldkf skföadj Sldköalsd öas öd Ölkaös Söldkäaösdk äösd Ldksfäök skdfäalöskdfäasdö Oväntat
Dagligt scrum 15 minuter – samma tid varje dag Stående Koordinering Alla välkomna Vad gjordes igår Vad gör vi idag Vilka hinder finns
Deming cycle – Plan - do – study/check - act Sprintavslutning Demonstration Återblicksmöte Lanseringsburndown Deming cycle – Plan - do – study/check - act Sprint plan Sprint Demo Åter blick
Förstudie Intressentanalys Visionsdokument Kommunikationsplan Vilka är intressenter Vilka skall vi hålla kontakt med Vilka ska vi inkludera i projektet Visionsdokument Vem är avnämare Behov hos användaren Kritiska attribut Egenart ramar Kommunikationsplan Möten Redovisningar Leveransplan/produktlogg/sprintlogg