Sådan skalerer du Scrum

Det kan være noget af en udfordring at få Scrum til at passe til den virkelige verdens realiteter. Læs her, hvordan Scrum-projekterne følges til dørs.

Scrum er en af de såkaldte adrætte udviklingsmetodikker, som prøver på at komme uden om de forhindringer, der kan lægge softwareprojekter i graven. Scrum er et sportsudtryk lånt fra Rugby, der betyder noget i stil med frispark.

Scrum-metoden gør det muligt at arbejde med et projekt, hvor rammerne ikke er helt nagelfaste. Men Scrum-metodikken fortæller ikke, hvordan man kommer i gang med projektet, og hvordan man afslutter og vedligeholder det færdige produkt.

Amerikanske Scott Ambler vejleder udviklingshold i adræt udvikling hos IBM, og i en artikel i Dr. Dobbs giver han nogle bud på, hvorledes Scrum-projekter sættes i gang og følges til dørs.

Elefant i små bidder

Scrum bygger på udvikling i små skridt, som skaber et grundlag for dialog med projektets kunder. Viden fra kunden og andre, som har en interesse i det færdige produkt, samles i en liste, en såkaldt "backlog" over de funktioner, som det færdige produkt skal rumme. Hver måned tager udviklerne fat på en ny portion opgaver fra listen. Listen af udestående opgaver kan løbende revideres, hvis projektets mål flytter sig undervejs.

Arbejdsforbruget over hver funktion i backlog-listen skal vurderes, og tallene lægges sammen for at få en samlet vurdering af tidsforbruget. Efter et stykke tid kan projektets samlede tidsforbrug beregnes ved at sammenligne mængden af udestående opgaver på backlog-listen med tidsforbruget.

Scrum er opdelt i såkaldte iterationer. Det er korte udviklingsforløb, som i Scrum kaldes for en "sprint". Hvert sprint er et afsluttet forløb, som ender med et brugbart softwareprodukt, der opfylder kundens krav og fungerer i praksis.

Livscyklus

Men konstruktionen er kun en del af den samlede udviklingsproces, skriver Scott Ambler.

Man er nød til at inddele projektet i faser, fordi aktiviteternes karakter ændrer sig igennem projektets forløb. Den første fase kaldes ved navne som "iteration 0," "warm up" og "pre-game," og der findes tilsvarende en række betegnelser for slutfasen, som f.eks. "release."

Mange synes, at disse navngivne faser strider i mod ånden i adræt udvikling, men i praksis viser det at være et fundamentalt begreb i forhold til software-livscyclus, mener Scott Ambler.

Han angiver en række "kritiske aktiviteter," som er vigtige for at få projektet halet i land. De lyder som følger:

  • Man bliver nød til at have en række krav som udgangspunkt og en ide om, hvilken arkitektur der skal til. Det kan adressere basale spørgsmål om omfang, omkostning, tidsplan og teknisk strategi.

  • For at sikre produktets kvalitet bør man have et uafhængigt test-hold, som arbejder parallelt med udviklingsholdet. Test-holdets tilbagemeldinger ryger tilbage til udviklingsholdet, som benytter dem på lige fod med andre krav i backlog'en.

  • Backlog'en indeholder alle de opgaver, som holdet må forholde sig til. Det kan f.eks. dække over konfigurering af udviklernes pc'er, uddannelse, fejlretning, ferieplanlægning osv. Det hele skal med i planlægningen.

  • Iterationerne behøver ikke nødvendigvis at være af én måneds længde, og hvert enkelt hold må bestemme, hvad der er rigtigt for dem. En undersøgelse foretaget tidligere af Dr. Dobbs viser, at to uger var den mest anvendte længde blandt de hold, tidsskriftet spurgte.

  • Det effektive hold beviser gyldigheden af deres arkitektur-valg tidligt i processen. Selv om purister hævder, at man kun bør prioritere på grundlag af forretningsvilkår, viser virkelighedens verden, at det er nødvendigt at adressere de teknisk risikable krav tidligt i livscyklussen.

  • Den afsluttende overgangsfase til produktion skal give tid til at få systemet i produktion uden tårer. Det inkluderer uddannelse af brugerne, afslutning af test-arbejdet, afslutning af dokumentationsarbejdet og udrulning af systemet.

  • Forslag til forbedringer og fejlrapporter, som kommer efter systemet er sat i drift skal ind i backlog'en, og så kan hele møllen ellers starte forfra.

Hvad synes du? Er det snyd at snakke om faser i adrætte projekter, eller må man blande de adrætte metodikker med andre erfaringer? Giv dit besyv med i debatten herunder.

Kommentarer (3)

Niels Jacobsen

Scott Ambler har en dejlig pragmatisk holdning til agile – han kigger på hvad der virker i praksis – og kommer med gode forslag, men sætter det ikke op som ”love / regler”.

For det der virker, er ikke ”dogmer”, men sammensatte modeller der passer til virksomheden, projektet eller enkelt personer.

Så man kan sagtens tage udgangspunkt i agile principper, men det er vigtigt at tilpasse dem sin egen verden. Dette ser jeg hos en lang række virksomheder der laver sin egen modeller inspireret fra f.eks RUP, SCRUM, Lean og Prince2.

Vil man høre mere til Scott’s ideer så er han i Danmark den 20 maj -> http://www.version2.dk/grupper/Agil-udvikling/kalender/Strategier-for-Sk...

Martin Falck-Hansen

På JAOO for et par år siden var der et track om "Post-agile" hvor den adrætte tankegang blev taget op til revision og en af hovedpointerne var at en af grundene til at XP havde svært ved at vinde indpas var at det var en række praksiser som alle skulle følges og kunne være svære at tilpasse organisationen.

En lille korrektion til artiklen. Scott Ambler er kanadier:
http://www.ambysoft.com/canada.html

Rasmus Christensen

Hvordan er det nu lige at overskriften svarer til indholdet?

Efter netop at have afsluttet en Certified Scrummaster med Boris Gloger, mener jeg at skalering af Scrum er noget andet end det du peger på i artiklen, Altså, hvor man skalerer fra f.eks. ét scrum team til flere, f.eks. ved at team members fra det første Scrum team bliver Product owners i de nye teams, men ikke nedlægger det oprindelige team.

Om man må/kan blande deadrætte metodikker, ja hvorfor ikke? SCRUM er efter min mening mere en måde at tænke på, være innovativ, mere end det er en metode ellers process.
Og ja der er da faser i den "tanke gang" Scrumplanning, estimering, analyse, design etc. Det er mere den måde de udføres på og de deltagende roller der er med til at gøre forskellen. Men vil man anvende scrum, så skal man også tage den fulde pakke og ikke blot sige, nu benytter vi os lige af det og det.

Log ind eller opret en konto for at skrive kommentarer

JobfinderJob i it-branchen

TDC skifter koncernchef efter faldende mobilomsætning

Jesper Stein Sandal Mobil og tele 14. aug 2015

Nyeste job

KurserStyrk dine evner med et kursus

Ny i lederrollen

Hvornår: Hvor: Østjylland Pris: kr. Efter aftale

Office kursus 2013 opgradering (fra Office 2003)

Hvornår: 2015-12-16 Hvor: Storkøbenhavn Pris: kr. 2950.00

Acrobat XI Professionel kursus grundlæggende

Hvornår: 2015-11-13 Hvor: Storkøbenhavn Pris: kr. 2950.00

Netværksteknologi - IP

Hvornår: 2015-10-05 Hvor: Storkøbenhavn Pris: kr. 9200.00

Reporting Services

Hvornår: Hvor: Østjylland Pris: kr. Efter aftale