Ledelse og organisation

Forstå Scrum: De mest basale bestanddele

Står du med et projekt med mange ukendte elementer, der skal udvikles i et ukendt eller meget uforudsigeligt miljø, vil Scrum-udviklingsframeworket være en måde, du kan få styr på alle de mange ukendte og bevægelige dele i dit projekt.

Populært sagt, er Scrum en måde at håndtere projekter, der ellers anses for at være umulige at lede.

Evaluer og tilpas

Fordi formålet er, at få styr på uhåndterlige ting, gør man det i Scrum, at man hele tiden sørger for at evaluere og tilpasse projekt, opgaver, metode etc. Både i forhold til de løsninger man laver, dvs. Produktet, og i forhold til den proces man anvender til at lede projektets deltagere.

Derfor bruger man i Scrum bla. en række møder (Daily Scrum samt forskellige planlægnings- og evalueringsmåder), roller (Scrum Team, Product Owner, Scrum Master) og artefakter (f.eks. forskellige backlogs, tasks og burndown charts) til at hjælpe udviklingsteamet, med at bruge sin tid på de vigtigste og mest værdiskabende opgaver.

Ledelse uden en leder

Helt centralt ved Scrum er, at der ikke er en projektleder. Så da jeg ovenover skrev man “leder projektets deltagere” så er det faktisk ikke en projektleder, der bestemmer. Scrum Teamet er derimod selvledende og selvorganiserende. Teamet fordeler således selv opgaver, vurderer hvor meget de kan nå og hvordan de bedst kan lave det produkt, som er målet med projektet. Ideelt set bør Teamet være i besiddelse af alle de kompetencer, der er nødvendige for at udvikle produktet. Inden for softwareudvikling, hvor Scrum har sin oprindelse, betyder det f.eks., at et team består at både designere, udviklere, testere osv.

Mens Teamet er ansvarlig for sig selv, er Product Owner eneansvarlig for produktet. Det er Product Owner, der har en vision for, hvordan det endelige produkt skal se ud, og Product Owner vælger hvilke features eller produktdele, det er vigtigst, Scrum Teamet udvikler.

Til at hjælpe Scrum Teamet har vi Scrum Master. Scrum Masters fornemmeste opgaver er at hjælpe Teamet med at få Scrum til at fungere og at fjerne evt. organisationelle hindringer, så Scrum Teamet uforstyrret kan fokusere på udviklingen af produktet.

En lang række af “færdige” produkter

En anden vigtigt ting i Scrum er, at Teamet løbende skal udvikle “færdige” produkter eller produkt-dele. Det vil sige, at de i løbet af et projekt leverer en række features, der ved slutningen af hvert Sprint potentielt set er klar til levering.

Denne hurtige levering er en del at Scrum fordi, Teamet hurtigt kan rette ind, hvis de bevæger sig i en anden retning, end den der ønskes, men også fordi, man hurtigere kan begynde at levere til kunden. Ikke det endelige produkt, men en potentielt anvendelig/tidlig version.

Sprintet

Denne hurtige udvikling af “færdige” produkt-dele understøttes af, at ethvert Scrum-projekt er opdelt i det, der kaldes “Sprint”.

Et Sprint varer enten 2 eller 4 uger (når først Teamet har valgt en længde, kan denne ikke laves om) og i løbet af den periode skal Scrum Teamet nå at udvikle et færdigt produkt eller produkt-del. Dvs. et produkt eller en feature, der er gennemtestet. På den måde undgår man, at spilde tid på senere at skulle vende tilbage og rette evt. fejl og mangler.

I starten af hvert Sprint mødes Scrum Teamet, Product Owner (dvs. kunden, kan både være intern og ekstern) og Scrum Master (person, der hjælper med selve processen og gør det lettere for Teamet at være selvledende) til et møde, hvor de planlægger det kommende Sprint.

Her deler Product Owner sin vision for produktet. Dvs. hvad han/hun ønsker produktet skal kunne og præsenterer en prioriteret liste. Fra denne liste trækker Teamet så at sige, opgaver ud og vurderer, hvor meget de kan nå i løbet af det kommende Sprint (2 eller 4 uger).

I løbet af Sprintet afholdes der hver dag på samme tid, en form for et statusmøde, kaldet “Daily Scrum”. Her evaluerer man gårsdagens fremskridt, evt. forhindringer og hvad man herefter vil arbejde med.

Via disse og andre regelmæssige møder holder Teamet, Produkt Owner og andre interessenter sig hele tiden ajour med hinanden og produktets udvikling.

En iterativ proces

Scrum kaldes ofte en iterativ proces. Iterativ betyder gentagende og afspejler det grundlæggende mønster, der ligger bag Scrum: Efter en fast plan gentages en række elementer igen og igen indtil projektet er færdigt. Se figuren herunder.

 

Eksempler på møder der gentages:

Dagligt:

  • Daily Scrum (rapporterer om fremgang og forhindringer)

1 gang pr. Sprint

  • Sprint planlægning (planlægger hvilke ting, der skal gøres potentielt færdige i løbet af Sprintet)

  • Sprint review (Projektstatus efter det seneste Sprint)

  • Retrospective (Hvor gode er vi til Scrum? Hvor kan vi blive bedre?)

  • Backlog refinement (tydeliggørelse af opgaver, nedbrydning i mindre dele inden næste Sprint)

Afhængig af projektets kompleksitet og varighed gentages denne cyklus flere gange.

Scrum er simpelt, men svært

Selv om Scrum i sin opbygning er relativt enkelt at forstå, er det ikke en arbejdsform, man “bare lige” indfører i et team eller en hel organisation. Det er en svær øvelse for alle involverede at ændre sine arbejdsmetode så radikalt, som Scrum kræver. Og i mange tilfælde vil det ikke være besværet værd. Her vil det være meget klogere at benytte traditionelle projektledelsesværktøjer.

Men står I med et projekt, der er umuligt at lede og har du hele organisationens opbakning, kan denne arbejdsform bl.a. give store produktivitetsfordele.

Læs mere om Scrum:
Ken Schwaber og Jeff Sutherland: “Scrum Guiden(TM). Den ultimative guide til Scrum: Spillets regler”
Jeff Sutherland: “Jeff Sutherland’s Scrum Handbook”