NORDSCRUM BESKRIVNING AV PROCESSMETODEN SCRUM
NORDSCRUM BESKRIVNING AV PROCESSMETODEN SCRUM INNEHÅLLSFÖRTECKNING inledning... 3 SCRUM... 3 Bakgrund... 3 Faser... 3 Ramverket... 3 Nordscrum... 4 StudentProjekt... 4 Handledare... 4 Roller... 4 Scrum team 4 Scrum Master... 5 Product owner... 5 Aktiviteter... 5 SPRINT 5 SPRINT planning meeting... 5 Daily scrum meeting... 5 SPRINT review meeting... 5 SPRINT retrospective meeting... 5 Artefakter... 5 product backlog... 5 Sprint backlog... 5 Burndown charts... 5 övrigt... 6
arbetsprinciper... 6 säkerhet och sekretess... 6 projektwebbplats... 6 redovisning av projekt... 6 projektrpapport... 6 bedömning av arbete... 6
NORDSCRUM BESKRIVNING AV PROCESSMETODEN SCRUM INLEDNING Detta dokument beskriver det arbetssätt som följs inom Nordplusprojektet Nordscrum och dess utvecklingsprojekt. Dokumentet riktar sig till studenter, lärare och samarbetspartners som är inblandade inom projektet. SCRUM BAKGRUND Scrum är en agile 1 process för mjukvaruutveckling utvecklad av Jeff Sutherland och Ken Schwaber under mitten av 1990-talet. Ordet betyder att bilda klunga, ifrån ordet scrummage som gäller en strategi inom rugby för att få bollen in i spelet igen. Och Scrums metodik delar många karaktärer från rugbyn: Sammanhanget består av en spelplan (miljön) och rugby regler (kontroller) Primära cykeln är att förflytta bollen framåt Rugby utvecklades från att bryta fotbollsregler = anpassning till miljön Spelet slutar inte förrän förhållanden bestämmer det (affärsbehov, konkurrens, funktionalitet, tidsschemat) Scrum är en process som används för att leda och kontrollera programvaruutveckling genom att arbeta iterativt och med inkrementella praktiker. Genom att omsluta existerande programvaruteknik som XP och RUP, så får man fördelarna från agile utveckling med fördelarna från enkel implementation. FASER Utvecklingsprocessen kan delas in i tre faser; pregame, game och postgame. Pregame: Här sker planeringen där man gör en definiering av release, uppskattning av tid och kostnad. Man designar också arkitekturen. Den produkt som man gör kallas för backlog. Game: Här sker själva utvecklingen i s.k. spurter (sprints) vilket är ett iterativt utvecklingsarbete av nya eller förbättrade funktionaliteter. Postgame: Avslutning (closure) av arbetet innehåller förberedelsen för release inklusive slutdokumenten och testning. RAMVERKET Scrum är ett ramverk bestående av roller, aktiviteter och artefakter. Nedan kommer en kort beskrivning av de olika beståndsdelarna. 1 Grundtanken med Agile är att i en föränderlig värld krävs utvecklingsmetoder som hanterar förändring som en del av verkligheten. Det är inte en systemutvecklingsmetodik i sig utan snarare en uppsättning värderingar, attityder och principer.
Roller: Product Owner: är den som officiellt ansvarar för projektet och är den som bestämmer när produkten ska driftsättas, den som har prioriteringsansvaret för produktens funktioner och justerar funktionerna och prioriteringarna vid varje sprint. Är den som godkänner eller avslår arbetsresultat. Scrum Master: ser till att projektet följer reglerna och metoderna. Scrum Masterns huvudsakliga arbete är att få bort de hinder som finns för teamet att leverera målet för sprinten. Scrum Mastern är inte ledare för teamet (eftersom de är självorganiserade) men agerar som en produktivitetsbuffer mellan teamet och influenser som riskerar att göra arbetet instabilt. Team: är själva projektteamet. Fria att organisera sig på det sätt som de anser vara det bästa sättet för att nå målen för varje sprint. Scrum tillåter skapandet av självorganiserande team genom att uppmuntra till verbal kommunikation mellan alla teammedlemmar och mellan alla discipliner/aktiviteter som finns i projektet. Aktiviteter: Sprint planning meeting: Här bestämmer man hur man ska uppnå målet för sprinten och man skapar en sprint backlog från de olika posterna i product backlog. Daily scrum meeting: Dagliga möten som tar upp vad som görs, vad som ska göras och de problem som finns. Sprint review meeting: Ett informellt mote där man visar upp resultatet av sprinten. Sprint retrospective meeting: Möte där man går igenom vad som fungerade och vad som inte fungerade i sprinten Artefakter: Product backlog: Lista över de prioriterade arbeten (feature) som ska göras. Det är product owner som gör prioriteringen och ser över listan inför varje sprint. Sprint backlog: Lista som teamet bestämmer över som innehåller de delar av produkten som ska göras i den kommande sprinten. Burndown charts: Ett diagram som håller reda på var teamet är enligt plan. NORDSCRUM Här kommer en beskrivning över hur Nordplusprojektet jobbar med Scrum. STUDENTPROJEKT Antal projekt är beroende på hur många grupper av studenter som varje lärosäte har vid varje projekttillfälle. Strävan är att varje lärosäte ordnar fram åtminstone ett projekt vilket ger oss minst tre studentprojekt. Varje projektgrupp består av en grupp av studenter från två olika lärosäten. Varje grupp består av minst 3 och max 5 studenter. HANDLEDARE Varje studentgrupp har sin handledare och det är lärosätet som ansvarar för att det finns en sådan.
ROLLER SCRUM TEAM Varje grupp av studenter utgör ett scrum team vilket betyder att ett projekt består av två scrum team. SCRUM MASTER Varje scrum team har en egen scrum master som utses av scrum teamet. Handledaren finns som stöd till scrum master speciellt under de första sprinterna. PRODUCT OWNER Om projektet har en kund som vill ta på sig rollen som product owner är det att föredra men det betyder tätt samarbete med scrum masters och scrum teamen. Om inte kunden kan ta den rollen får någon lärare ta den rollen. Det blir då en lärare på det lärosätet som har ordnat fram projektet. SPRINT AKTIVITETER Varje sprint är på två veckor förutom den första inledande sprinten som är på en vecka. Under en sprint sker inga förändringar, inga tillägg ifrån product owner. SPRINT PLANNING MEETING Detta är det möte som startar sprinten och här läggs arbetet upp för sprinten. Man räknar ut teamkapaciteten och ser över product backlog. Product owner talar om vilka funktioner som är de högprioriterade och utifrån dem bestämmer man ett sprint mål. Utifrån sprintmålet och backlogen så bestämmer man hur man ska uppnå målet, man skapar en sprint backlog och uppskattar hur lång tid de olika funktionerna kommer att ta. DAILY SCRUM MEETING Dagligt möte för teamet att under max 15 minuter (ståendes) svara på tre frågor; Vad gjorde du i går? Vad ska du göra idag? Finns det några hinder? Båda scrum teamet träffas 1 gång/vecka i ett daily scrum för att stämma av var man är i sprinten. De båda scrum masterna kommunicerar ofta och mycket under sprinten. SPRINT REVIEW MEETING Detta möte tar plats i slutet av sprinten och är det tillfälle då teamen presenterar vad man åstadkommit under sprinten. Det sker genom att man demonstrerar nya funktioner eller underliggande arkitektur. SPRINT RETROSPECTIVE MEETING Detta möte är ett tillfälle att se tillbaka på sprinten som är klar och se vad som fungerade och vad som inte fungerade. Mötet tar mellan 15-30 minuter och teamet, scrum master och product owner deltar.
ARTEFAKTER PRODUCT BACKLOG Är en lista på allt önskat arbete (kraven) i projektet och uttrycks på ett sätt så att varje post har ett värde för produktens användare och kunder. Posterna prioriteras av product owner och i början av varje sprint omprioriteras posterna. SPRINT BACKLOG Är den kravlista som teamet tillsammans med product owner sätter ihop inför varje sprint. Ifrån den listan väljer teamet de dagliga arbeten. BURNDOWN CHARTS Är ett diagram som visar var teamet ligger enligt plan (teamets kapacitet fördelat på dagarna i sprinten). RAPPORT Rapporten ska visa på processen. Man fotograferar burndown charts, håller reda på sin egen tid som läggs på projektet och skriva reflektion över den nedlagda tiden. Denna rapporten är en del av examinationen och läses av handledarna och examinatorerna. ÖVRIGT UTVECKLINGSMILJÖ Vilken typ av utvecklingsmiljö som projekten behöver beror på produkten som ska tas fram och önskemålen ifrån kunden. De olika lärosätena har de flesta miljöer som behövs och i förekommande fall kan kunden tillhandahålla miljön. Ett av de första uppgifterna som teamen har är att se över vilken utvecklingsmiljö man behöver. Det är också viktigt att teamen kommer överens om hur filer och dokument ska delas mellan teamen, rapportskrivningen och annat som har att göra med projektetarbetet. ATTITYD TILL ARBETET Då projektarbetet sker i samarbetet mellan studenter och gentemot företag så är det viktigt att varje student har en seriös inställning till arbetet. Det är mycket viktigt att man är närvarande vid undervisningstillfällen, projektarbetetstimmarna och de olika mötena och man tar ansvar för de uppgifter som företaget definierar. De studerande håller reda på den egna nedlagda tiden på projektet som redovisas tillsammans med reflektioner över arbetet i projektrapporten. Man kan även räkna med att projektteamen den första tiden känner sig för och att medlemmarna försöker finna sina roller. Konflikter kan också förekomma vilket är naturligt eftersom alla inte kan vara av samma åsikt hela tiden. De flesta konflikter är positiva, bara man inte låter dem spåra ur. Försök se konflikten som en debatt som utmynnar i en god idé. SÄKERHET OCH SEKRETESS Arbetet i projekten kan vara sekretessbelagt till den omfattning som kunden så önskar. Den konfidientiella informationen får inte ges ut utanför det enskilda projektteamet av vare sig
studerande, handledare eller andra involverade. Presentationen av projekten görs i samråd med företagen så att de följer de överenskomna principerna. PROJEKTWEBBPLATS Det finns en webbplats med adressen nordscrum.org. REDOVISNING AV PROJEKT Projekten redovisas varannan vecka då en sprint avslutas och man visar upp det man gjort under sprinten. Halvvägs genom projekttiden (under 2010 sker det under vecka 10) görs en redovisning där man dels presenterar hur lång man kommit med projektet men också ut processen har fungerat. Under sista veckan av projekttiden görs slutredovisningen där grupperna presenterar slutprodukten med ev. tillhörande dokumentation, projektrapporten och reflektioner kring projektarbetet i form av en projekthistorik och lärdomar. PROJEKTRPAPPORT Varje team måste sammanställa en rapport som består av foton tagna under projekttiden, loggar med nedlagd tid och reflektioner kring arbetet. BEDÖMNING AV ARBETE Bedömningen av projekten och de studerandes arbeten görs från flera håll och fortlöpande under projektets gång. Dels bedömer kunden produkten och dess funktionalitet och användning. Dels bedömer examinatorerna från de olika lärosätena själva arbetet (kod och dokumentation) så att de uppfyller de krav lärosätena har. Det kan betyda att kunden är nöjd med produkten men att examinatorerna inte är nöjda med lösningen vilket kan betyda att arbetet ska göras om. Bedömning sker också av examinatorerna när det gäller processen och de studerandes engagemang i projektetarbetet.