UTVIKLING

Nå bør du bli Scrum-master

IT-selskaper trenger utviklere som kan «sprinte» og svare for seg på «standup»-møter.

Utviklingsmetodikken  Scrum har hentet navnet fra en oppstilling i Rugby. Foto: Manuel, lisens: cc-by-sa-2.0
Utviklingsmetodikken Scrum har hentet navnet fra en oppstilling i Rugby. Foto: Manuel, lisens: cc-by-sa-2.0
Harald BrombachHarald BrombachNyhetsleder
22. aug. 2008 - 15:17

Scrum er et av begrepene som har blitt mye mer brukt de siste årene. Det er navnet på en utviklingsmetodikk som stadig flere tar i bruk - også i Norge, og det er derfor noe mange i IT-bransjen bør kunne litt om.

Denne artikkelen er en introduksjon til hva Scrum er og hvorfor det er blitt en populær utviklingsmetodikk.

Smidig programvareutvikling

Scrum er en «agile» eller smidig metode for programvareutvikling. Det er et ganske klart skille mellom de smidige utviklingsmetodene og mer tradisjonelle metoder som for eksempel fossefallmodellen.

Mens fossefallmodellen tar utgangspunkt i at det meste skal planlegges før man setter i gang, og hvor kunden i liten grad involveres i selve utviklingsprosessen, går den agile metoden i korte trekk ut på å dele et utviklingsprosjekt i korte etapper med klare mål, trekke kunden (brukeren) med i hver etappe, og levere testbar kode så fort som mulig.

Det finnes flere agile metoder som delvis overlapper hverandre. Dette inkluderer Extreme Programming (XP), som fokuserer mest på hvordan man skal arbeide i prosjektet, Lean Development, som fokuserer mest på hvordan man bør organisere hele selskapets utviklingsaktiviteter på ledernivå, og Scrum, som fokuser mest på hvordan prosjektet organiseres og planlegges.

Markedet endrer seg underveis og blir mer komplekst. De smidige metodene skal gjørede enklere å tilpasse seg endrede, eksterne faktorer og redusere behovet for å kunne forutsi endringene og framtidige behov.

Scrum er navnet på en tett formasjon spillerne på et rugbylag danner nå de skulder ved skulder flytter ballen forover (se bildet på toppen av artikkelen). Ordet ble først brukt i forbindelse med produktutvikling av japanske Hirotaka Takeuchi og Ikujiro Nonaka i artikkelen «The New New Product Development Game» i Harvard Business Review i 1986, hvor de beskrev de mest vellykkede produktutviklingsprosjektene i Japan. I artikkelen heter det at prosjekter som bruker små, kryssfunksjonelle team historisk sett har produsert de beste resultatene.

Jeff Sutherland, som utviklet Scrum-prosessen i Easel Corporation i 1993, brukte i Harvard Business Review-artikkelen som grunnlag for utformingen av team. Han videreførte også japanernes analogi som navnet på den totale prosessen. Deretter skal Ken Schwaber ha formalisert prosessen for den globale programvareindustrien i et notat som ble presentert under OOPSLA-konferansen i 1995.

Sutherland og Schwaber skal deretter ha samarbeidet i de påfølgende årene for å forene sine publikasjoner og erfaringer om til det som nå kalles Scrum.

Rollefordeling

Scrum-prosessen omfatter i utgangspunktet tre ulike roller: Produkteier, Scrum-master og scrub-team.

Produkteieren representerer gjerne kunden eller brukeren og skal sikre at Scrum-teamet jobber med de rette tingene sett fra en forretningsperspektiv. Produkteieren opprettholder en «backlog«», overordnet beskrivelse av krav og ønsker for hele prosjektet. Denne listen omprioriteres konstant.

Scrum-master er en person har fungerer som en portvakt mot Scrum-teamet og skal blant annet sørge for at å fjerne hindringer som kan hindre Scrum-teamet i å levere målet for den inneværende, begrensede tidsperioden.

Scrum-teamet består typisk av 3 til 9 personer med ulik kompetanse, for eksempel designere, utviklere og andre. Disse er ansvarlige for å gjøre selve utviklingsarbeidet og å levere produktet. Teamet organiserer seg selv og har ingen formell leder.

«Sprinter»

Scrum er basert på det som kalles en «sprint» Scrum er basert på det som kalles en «sprint», en periode som typisk varierer mellom 15 og 30 dager. Et prosjekt deles opp i en eller flere sprinter, vanligvis av samme lengde. Lengden på perioden settes av teamet.

I løpet av en sprint skal teamet jobbe for å levere målene som er satt. Mellom hver sprint overføres de høyest prioriterte målene fra backloggen til sprint-backloggen. I samtaler med produkteieren blir målene for hver spring bestemt og den prioriterte funksjonaliteten blir delt inn i detaljerte oppgaver. I tillegg får produkteieren demonstrert eller presentert det som er blitt gjort i løpet av forrige sprint. Deretter må teamet beregne hvor lang tid hver enkelt oppgave tar. Det er Scrum-teamet felles ansvar å levere resultatene.

Artikkelen fortsetter etter annonsen
annonse
Innovasjon Norge
På trappene til internasjonal suksess
På trappene til internasjonal suksess
Scrum-prosessen. Bilde: Wikimedia Commons (GNU Free Documentation license), <i>Bilde: Wikimedia Commons</i>
Scrum-prosessen. Bilde: Wikimedia Commons (GNU Free Documentation license), Bilde: Wikimedia Commons

Stand-up-møter

På et fast tidspunkt hver dag holdes det som ofte kalles et stand-up-møte, som typisk varer i ti minutter. Ofte vil hver deltaker her måtte svare på tre spørsmål:

  • Hva har du gjort siden forrige møte?
  • Hva vil du gjøre fram til neste møte?
  • Er det noe som har hindret deg fra å gjøre det du hadde planlagt?

Det er også vanlig å lage en «Sprint Burn Down Chart» daglig. Dette er et diagram som viser hvordan teamet ligger an i forhold til målsetningen for sprinten, for eksempel hvor mange av målsetningene som er blitt nådd i forhold til det som var forventet på forhånd.

Populært i Norge

Mange selskaper som utvikler programvare har tatt i bruk Scrum. Eksempler på dette er Microsoft, Schibsted, Sesam, A-Pressen Interaktiv og stadig flere norske konsulentselskaper.

Også Aller Internett, forlaget som utgir digi.no, Dinside.no, SeHer.no og mange flere nettsteder, har tatt i bruk Scrum-metodikken i forbindelse med flere prosjekter. Erfaringene så langt er gode.

Kent Vilhelmsen
Kent Vilhelmsen

- Et viktig poeng med med konseptet er at den som skal få leveransene hele tiden er involvert, sier Kent Vilhelmsen, IT-direktør i Aller Internett.

- Dette handler veldig mye om kommunikasjon, sier Vilhemsen men legger til at han blant annet har besøkt det russiske outsourcing-selskapet Exigen, som med omtrent 1500 utvikere greier kjøre Scrum-prosjekter med kunder som holder til helt andre steder.

- Med Scrum unngår man å grave seg ned i planleggingen. En vet ikke alt fra starten av og må ha muligheten til å tenke på nytt. Jeg mener Scrum er en av få metoder som er bra på endringshåndtering, sier Vilhelmsen.

Men for å jobbe med Scrum, trenger man visse verktøy. I Aller Internett bruker man Jira, et feilhåndteringssystem som egentlig ikke er spesielt laget for Scrum.

- Jira har likevel vist seg å være ganske bra, sier Vilhelmsen.

De negative opplevelsene til Vilhelmsen med Scrum har så langt ikke vært mange.

- Men for ikke å miste styringen, må du ha dedikerte ressurser som kun jobber med dette, sier han. Han legger til at det også kan være vanskelig å overbevise enkelte tradisjonalister, som kanskje er vant til fossefallmetoden, hvor en stor andel av testingen skjer på slutten av prosjektperioden, om at Scrum-metodikken er den riktige måten å jobbe på. Men selv er han overbevist om at Scrum er en god metodikk i alle fall i forbindelse med webutvikling, hvor produktene stadig må endres og tilpasses nye krav.

Til utviklingsavdelinger som vurderer å ta i bruk Scrum, anbefaler Vilhelmsen kursing i forveien.

- Det er mange som tilbyr Scrum-kurs. Spesielt viktig er det med kursing av Scrum-master, noe som er vesentlig for å komme i gang, avslutter han.

Mer informasjon:

    Les også:

Som nevnt i artikkelen er det mange norske bedrifter som bruker eller skal bruke Scrum i sine utviklingsprosjekter. digi.no vil fokusere mer på dette og lignende områder i tiden fremover. Fortell om egne erfaringer med Scrum i debattforumet og/eller send oss tips om interessante prosjekter og erfaringer rundt dette på tips@digi.no.

Les mer om:
Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.