Vattenfallsmodellen SCRUM Analys Kallas också linjär sekventiell modell Introduktion Design Kod Test Rational Unified Process Agile DSDM Adaptive Software Development Crystal Feature-Driven Development Extreme Programing (XP) Scrum 1
Scrum Scrum på mindre än 100 ord Scrum är en agil process som tillåter oss att fokusera på att leverera mjukvara med ett högt affärsvärde på kort tid. Den tillåter oss att snabbt och ofta inspektera aktuell fungerande mjukvara (varannan vecka till varje månad). Affärsnyttan bestämmer prioritetsordningen. Teamen organiserar sig själva för att bäst kunna leverera de högst prioriterade funktionerna. Varannan vecka till varje månad så kan vem som helst se fullt fungerade mjukvara och bestämma om det ska driftsättas som det är eller förbättras i ytterligare en sprint. Kännetecken Processen Självorganiserade team Produkten utvecklas under en serie av sprinter (längden kan variera) Kraven fångas som poster i en lista kallad product backlog Ingen specifik teknisk praxis är föreskriven Använder generella regler för att skapa en agil miljö för att leverera projekt Är en av de agila processerna 2
Inga ändringar under sprinten Förändring Planera sprintlängden utifrån hur länge man kan hålla förändringar utanför sprinten Scrum ramverk Roller Product owner Scrum Master Team Aktiviteter Sprint planning Sprint review Sprint retrospective Daily scrum meeting Artefakter Product backlog Sprint backlog Burndown charts Product Owner Roller Product owner Scrum Master Team Bestämmer funktionerna för en produkt Bestämmer publiceringsdatum och innehåll Är ansvarig för produktens lönsamhet Prioriterar funktionerna efter marknadsvärdet Justerar funktionerna och prioriteringarna vid varje iteration, om så behövs Godkänner eller avslår arbetsresultat 3
The Scrum Master Representerar projektets ledning Ansvarig för utförandet av Scrums normer och principer Tar bort hinder Ser till att teamet är fullt fungerande och produktivt Ser till att tätt samarbete mellan roller och funktioner är möjligt Skyddar teamet från externa inblandningar Teamet Vanligtvis 5-9 personer Tvärfunktionellt: Programmerare, testare, designers, etc. Medlemmarna bör vara heltidare Kan finnas undantag (ex. databasadministratör) Teamen organiserar sig själva Medlemsskapet ändras bara mellan sprinter Aktiviteter Sprint planning Sprint review Sprint retrospective Daily scrum meeting Team kapacitet Product backlog Affärsvillkor Nuvarande produkt Teknik Sprint planning meeting Sprint prioritering Analyserar och utvärderar Product backlog Bestämmer målet för sprinten Sprint planering Bestämmer hur man ska uppnå målet för sprinten (design) Skapar en sprint backlog (uppgifter) från posterna i product backlog (user stories / funktioner) Uppskattar sprint backlog i timmar Sprint mål Sprint backlog 4
The Sprint Review Teamet presenterar vad man åstadkommit under sprinten Har vanligtvis formen av en demonstration av nya funktioner eller underliggande arkitektur Informellt Regeln 2 timmars förberedelse Inga PP-bilder Hela teamet medverkar Inbjud världen Sprint Retrospective Regelbundet ta en titt på vad som fungerar och vad som inte fungerar Vanligtvis 15 30 minuter Görs efter varje sprint Hela teamet deltar ScrumMaster Product owner Teamet Eventuella kunder och andra Börja / Sluta / Fortsätt Hela teamet samlas och diskuterar vad de skulle vilja: Börja göra Detta är bara ett av många sätt att göra sprint retrospective. Sluta göra Fortsätta göra The Daily Scrum Parametrar Dagligen 15 minuter Står upp Inte till för att lösa problem Hela världen är inbjuden Endast teammedlemmar, ScrumMaster och product owner får prata Hjälper till att undvika andra onödiga möten 5
Alla svarar på 3 frågor: Vad gjorde du igår? 1 Artefakter Vad ska du göra idag? Finns det några hinder? Detta är inte status för ScrumMaster Det är åtagande gentemot sina teamkamrater 2 3 Product backlog Sprint backlog Burndown charts Product Backlog Sprint Backlog Detta är product backlog Kraven En lista på allt önskat arbete i projektet Uttrycks på ett sätt så att varje post har ett värde för produktens användare och kunder Prioriteras av Product owner Omprioriteras i början av varje sprint Listan med sprintens uppgifter Teamet väljer ifrån Product Backlog Utifrån teamets kapacitet Utifrån product owners prioriteringar Burndown Charts Diagram som visar den planerade tiden mot verklig tid Hjälper teamet att se om man tagit på sig för mycket eller för lite i sprinten 6
Exempel på Product Backlog Sprint planering Teamet väljer poster från Product backlog som de kan lova att slutföra Sprint backlog skapas Uppgifter identifieras och tidsuppskattas (1-16 timmar) Tillsammans, görs inte ensamt av ScrumMaster Man funderar över designen på högnivå Som en som planerar sin semester så vill jag se foton på hotellen. Koda mellanlagret ( timmar) Koda användargränssnittet (4) Skriva testkod (4) Koda klassen foo (6) Uppdatera prestandatesten (4) Mål för sprinten Databasapplikation Se till att applikationen även körs på en SQL server (jämte Oracle). Ett kort uttalande över vad arbetet ska fokusera på under sprinten Vetenskap Stöd till de funktioner som är nödvändiga för forskningen av befolkningsgenetik. Finansiella tjänster Stöd för mer tekniska indikatorer, än företagets ABC, med strömmande data i realtid. 7
En Sprint Backlog Förvaltningen av Sprint Backlog Tasks Mon Tues Wed Thur Fri Individer väljer arbete Arbete tilldelas aldrig Code the user interface Code the middle tier Test the middle tier Write online help Write the foo class Add error logging 16 12 4 12 16 10 16 4 11 4 Vilken teammedlem som helst kan lägga till, ta bort och ändra i sprint backlog Nytt arbete för sprinten kan dyka upp Om arbetet är oklart, definiera en post till backlogen med en större tidsuppskattning och bryt ned den senare Uppdatera arbetet som är kvar ju mer som blir känt Den uppskattade tiden på arbete som är kvar uppdateras dagligen Task Board Task Board
A Sprint Burndown Chart Storskalig Scrum Går att genomföra med många personer Dela upp i mindre team Teamen ansvarar för olika delar av applikationen ScrumMaster i varje grupp samlas för att kommunicera vad som händer Hours Nordscrum roller En studentgrupp från Åland/Gotland + en studentgrupp från Ekenäs = projektgrupp = 2 scrum team Varje studengrupp har en handledare Varje scrum team utser sin scrum master Product owner är kunden eller lärare Nordscrum aktiviteter Sprinten är på 2 veckor (start måndagar) Varje sprint börjar med ett sprint planning meeting då båda teamen är med (virtuellt) Daily scrum för varje team Båda teamen möts virtuellt i ett daily scrum 1 ggn/vecka De båda scrum masters i ett projekt har kontakt dagligen Sprint review meeting hålls på sista fredagen i sprinten då båda teamen visar upp vad de har gjort Efter review meeting samlas båda teamen för retrospective 9
Nordscrum artefakter Product backlog tas fram tillsammans med product owner Sprint backlog skapas på sprint planning meeting Burndown charts och task board uppdateras dagligen Rapport (till examinator) Visar på processen (fota task board, excelfilerna) Håll reda på den individuella tiden och skriv reflektion över den nedlagda tiden (loggbok) Nordscrum redovisning Redovisning av produkten fortlöpande under projektet (sprint review) Vecka 10 Redovisning inför samtliga grupper, lärare och kunder och en certifierad scrum master. Visa upp vad som gjorts på produkten Berätta hur processen har fungerat Vecka 17 (slutveckan), alla kommer till Gotland Redovisning av slutprodukten med tillhörande dokumentation Bedömning Varje lärosäte har sin kursplan, betygssättning enligt den Kunden bedömer produkten och dess funktioner Examinatorer bedömer arbetet (kod och dokumentation) processen engagemanget - arbetsinsatsen 10