lørdag 2. mai 2015

Alt du trenger å vite om Scrum

Smidig utvikling er kommet for å bli. Smidige metoder tar utganspunkt i at systemutvikling er uforutsigbart. Nå i første omgang skal jeg ta for meg Scrum før jeg så skal ta for meg Kanban senere.

SCRUM
Ordet eller begrepet Scrum stammer fra rugbyspillet. Scrum er en prosessfokusert smidig utviklingsmetode som er tidsbasert (i motsetning til Kanban som er flytbasert). Scrum er en smidig utviklingsmetodikk som er mye brukt i systemutvikling. Scrum deles inn i tre faser: Planleggingsfasen, gjennomføringsfasen og avslutningsfasen. 
Planleggingsfasen går ut på å designe programvarearkitekturen og å sette overordnede mål for prosjektet. Det er i gjennomføringsfasen at de typiske sprintene kommer (en sprint er en serie med iterasjoner). Hver sprint leverer et inkrement av systemet. Så kommer avslutningsfasen hvor nødvendig dokumentasjon fullføres, f.eks bruksansvisning og man oppsummerer hva man har lært i prosjektet. 

En sprint varer i 2-4 uker. Inni sprinten (som foregår i gjennomføringsfasen i Scrum) er det fire faser. Her er en hjemmelaga illustrasjon om hvordan Scrum fungerer. 



Som illustrert ovenfor består  gjennomføringsfasen, altså sprintene, av fire ulike faser. Assess, select, review og develop. Nedenfor kommer en forklaring av hver av disse fasene. 

ASSESS: Vurderer noe og/eller eksisterende oppgaver (krav, brukerhistorier) i product backlog (oppgaveliste). Hva er målet med sprinten? Kunden kan her sette nye krav eller gi nye oppgaver.  

SELECT: Velge oppgave til sprint. Utviklingsteam og kunde velger egenskaper og funksjonalitet som skal utvikles i sprinten. 

DEVELOP: Design, koding, testing. Utviklings-teamet isoleres fullstendig fra kunden. All kommunikasjon skjer gjennom Product Owner og Scrum Master (mer om dette nedenfor). 

REVIEW: Resultatene evalueres mot målene som ble satt i sprint-planleggingsmøtet og presenteres for kundene.

Som nevnt så varer en sprint i 2-4 uker. Og for hver sprint så går disse fire fasene igjen som en sirkel. Jeg nevnte ovenfor ord som Product Owner og Scrum Master og dette skal jeg gå mer inn på nå. Her er en liten oversikt over de to sentrale rollene pluss teamet. 






















FORDELER VED SCRUM
- Systemet blir delt opp i en rekke og forståelige deler.
- Ustabile krav hindrer ikke progresjon i prosjekt-gjennomføringen.
- Hele teamet observerer hva som skjer i prosjektet og kommunikasjon innen teamet blir god.
- Kunden får inkrementell levert til avtalt tid og får fortløpende tilbakemelding på hvordan deler av systemet fungerer. 
- Tillitt mellom kunder og utviklere etableres tidlig og en positiv kultur skapes
- Kryss-funksjonelle team sikrer fremdrift og reduserer risiko.


Ingen kommentarer:

Legg inn en kommentar