Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den CTO d. 17. august 2007.
Fordele Scrum lægger ansvar og beslutningsdygtighed ud til udviklingsgrupperne. CTO har talt med Scrum-master Jens Østergaard, Scrum.dk og Carsten Sørensen fra thy:solutions om fordelene ved Scrum.
Kernen i Scrum er teamet. Det skal være en selvorganiserende enhed, der er med til at estimere, hvor lang tid opgaverne tager.
Jens Østergaard fra Scrum.dk er ikke i tvivl. Scrum handler om at give ansvar og beslutningsdygtighed til deltagerne i et projekt. Med mange års it-erfaring som databaseadministrator, udvikler og konsulent sammen med en certificering som Scrum-master i bagagen, rejser Jens Østergaard rundt i verden og spreder Scrum-budskabet.
Udvikling med indbygget sprint
Udover projektgruppen er der en vigtig rolle som produktejer - eller product owner som det hedder på it-metodedansk. Produktejeren prioriterer, hvilke funktioner i det nye system, der er de vigtigste. Krav og ønsker registreres i en såkaldt backlog, som fungerer som udviklingsgruppens overordnede arbejdsplan. I løbet af en række udviklingsforløb af 30 kalenderdage kaldet sprints, udvikles produktet.
Inden hvert sprint tager udviklingsgruppen de højest prioriterede funktionaliteter fra backloggen og nedbryder dem i en række delopgaver, kaldet tasks. Det må maksimalt tage to dage at udføre en task. Efter hver sprint indsamles erfaringerne fra den netop overståede sprint, og erfaringerne anvendes ved planlægningen af den næste sprint.
"Product owner bestemmer suverænt, hvad der skal laves, mens teamet bestemmer, hvordan det skal laves," forklarer Jens Østergaard.
Løbende opfølgning på tidsplan
Scrum har stor fokus på løbende opfølgning af tidsplanen. Backloggen fungerer som den overordnede tidsplan, hvor man har defineret forskellige releases for systemet
"Man har måske en roadmap med en release hver tredje måned. Planen for den igangværende Sprint er me-
get detaljeret. Næste Sprint er lidt
mere usikker og næste igen lidt me-
re. Men der er en release om tre måneder. Der er også en plan for den efterfølgende release, men den er
ikke så detaljeret," siger Jens Østergaard.
Scrum tilpasser sig løbende virkeligheden med nye krav og uforudsete problemer. Eksempelvis kan der komme nye krav til systemet. Her hjælper den løbende revidering af planerne med til, at systemet bliver, som man ønsker det.
Softwarehuset thy:solutions, der specialiserer sig i at udvikle løsninger baseret på Microsoft Business Solutions produkter, begyndte sidste sommer at anvende Scrum.
Det var en udvikler med Scrum-
erfaring, der lovpriste Scrum, og softwarehuset kontaktede derfor Jens Østergaard for at give de øvrige udviklere hos thy:solutions et indblik i Scrum-metoden.
Jens Østergaard holdt en en-dags workshop i den nordjyske softwarevirksomhed. Det var en stor succes. Efterfølgende har thy:solutions blandt andet anvendt Scrum-metoden til at redde et nødlidende projekt.
Scrum giver større afklaring
Hos thy:solutions fungerer Carsten Sørensen, VP for Product Management, som produktejer i forhold til projektgruppen.
"Som product owner prioriterer jeg, hvilke funktioner, der skal være med i systemet. Det er nødvendigt at træffe nogle hårde beslutninger engang imellem. Hvis en sælger eksempelvis finder ud af, at en bestemt feature vil gøre systemet mere attraktivt, og vi allerede er gået i gang med udviklingen, så må jeg så vurdere, om den feature skal med på bekostning af en anden," forklarer Carsten Sørensen.
Han fortæller, at udviklingsteamet estimerer opgaverne. Man lærer mere, efterhånden som man arbejder sig frem. Eventuelle problemer bliver hurtigt afdækket.
Hvis en bestemt udviklingstask, eksempelvis udviklingen af en bestemt skærmbilledtype, tager fem dage. Den erfaring er vigtig at samle op og føre videre til planlægningen af næste sprint.
Jens Østergaard mener, at Scrum er en bedre metode frem for at følge en detaljeret kravspecifikationer, der er lavet i begyndelsen af et projekt.
"Med en fast kravspecifikation bliver projektet mere og mere usikkert, fordi der ikke bliver taget hånd om de uafklarede ting, der løbende dukker op. Scrum starter måske usikkert, men der kommer større afklaring undervejs, fordi man forholder sig aktivt til nye krav og uforudsete ting," siger Jens Østergaard.
Han har ikke mange lovord tilovers for vandfaldsmodellen, der har skarpt adskilte analyse-, design-, og implementerings-faser.
"Det er meget komplekst at udvikle software. Det er hul i hovedet at tro, at man kan planlægge alt i en analysefase. Detaljerede, gennemanalyserede kravspecifikationer er falsk sikkerhed," mener Jens Østergaard.
Carsten Sørensen er enig i det synspunkt:
"Det går typisk galt, når man skriver store, detaljerede specs (specifikationer, red.). Brugerne har måske ikke helt forståelse for, hvad kravene egentlig er," siger han.
Her kommer Scrum-metoden til hjælp, da brugerne løbende bliver præsenteret for kørende delfunktioner af det kommende system. Det er nemmere at forholde sig til end tekstbeskrivelser.
Scrum motiverer udviklere
Projektgruppen mødes hver morgen til et 15 minutters møde, hvor hver enkelt projektdeltager fortæller, hvad man lavede i går, og hvad man skal i gang med. Hvis der er problemer, kan en Scrum-master være med til at løse problemet.
Er det praktiske problemer som at få adgang til en database eller sørge for forlængerledninger, vil scrum-masteren ordne det. Er der tekniske udfordringer, skal scrum-masteren sørge for, at udviklingsgruppen løser problemet i fællesskab.
"Scrum-masteren skal coache, ikke tage teten. Han er en slags projektleder uden autoritet, en facilitator, en coach. Folk vil gerne have ansvar og løse problemer, det giver større arbejdsglæde," påpeger Jens Østergaard.
Carsten Sørensen er ikke i tvivl om Scrums fordele:
"Det er mere motiverende for udviklerne. De er ikke så meget for at skrive specifikationer, de vil gerne se resultatet af deres kode. En del af filosofien er, at man viser resultatet af et sprint efter en måned for kunden eller interne interessenter, der så kan give feedback," siger han.
Et nødlidende projekt
Muligheden for kundefeedback var medvirkende til, at thy:solutions skiftede til Scrum-metoden i forbindelse med et lidt nødlidende projekt.
"Kundeprojektet kan vel betegnes som et "green field"-projekt. Kunden var fra starten bekendt med, at vi startede på noget helt nyt, og at de dermed havde stor indflydelse på løsningen, men også samtidig var forsøgskanin på nogle områder," siger Carsten Sørensen.
Udviklingen fulgte en traditionel udviklingsmodel med specificering af krav og derefter en længere kodning af systemet.
"I løbet af projektet måtte vi erkende, at nogle af opgaverne var mere komplekse end først antaget. Det betød, at vi ikke kunne holde tidsplanen. Samtidig ville kunden gerne se og prøve systemets funktionalitet, efterhånden som den blev udviklet. Vi blev derfor enige om at anvende scrum i projektet," beretter Carsten Sørensen.
To af kundens slutbrugere blev
tilknyttet projektet som product
owners.
"Kunden vidste, hvor mange ressourcer vi havde til rådighed, og vi talte om, hvad der var vigtigt for det kommende sprint. Efter hvert sprint fik de to product owners installeret løsningen, så de kunne afprøve de nye features," siger Carsten Sørensen.
"Vi har haft en mere åben dialog om, hvad der er vigtigt for kunden - og dermed en langt større træfsikkerhed i relation til at matche kundens og slutbrugernes ønsker og krav. Samtidigt har vi løbende lært af de erfaringer, som kunden gør sig mellem sprints'ene," siger Carsten Sørensen.
Scrum i Tunesien
Thy:solutions bruger også Scrum i sine tunesiske udviklingsafdeling.
"En del af vores udvikling foregår i Tunesien, og scrum har helt klart forbedret samarbejdet med dem. De kører med et helt normalt scrum set-up, bortset fra at vi ikke sidder sammen fysisk. Skype, Messenger og lignende bliver brugt flittigt, blandt andet på de daglige scrum-møder. Desuden er de blevet mere selvkørende med at planlægge deres opgaver, og vi har fået en langt bedre dialog om, hvad der går godt, og hvad der går mindre godt. Det er jo en del af scrum at opsamle erfaringer efter et sprint," siger Carsten Sørensen.
Boks:
scrum
Scrum er en agil udviklingsmetode, som benytter kortvarige daglige
møder - såkaldte scrums - hvor projektdeltagerne fortæller, hvor langt de er kommet med deres opgaver, hvad de skal lave i dag og eventuelle problemer for udviklingsarbejdet. Opgaver er defineret og prioriteret i en såkaldt product backlog.
Udviklingen foregår i små veldefinerede sprints a fire ugers varighed, hvor en række opgaver fra product backlog skal færdigudvikles.
Ordet scrum stammer fra rugby-verdenen, hvor det betegner en klynge af rugbyspillere, der kæmper om bolden.
Billedtekst:
Scrum jorden rundt Jens Østergaard (t.v.) startede som scrum-master hos PFA. Underviser nu som Scrum-konsulent i Scrum.dk over hele verden. Har introduceret thy:solutions og Carsten Sørensen (t.h.) til Scrum, der anvender metoden i Danmark og i Tunesien.
Foto: Torben Klint
OriginalModTime: 20-08-2007 13:55:31