Søg på Softwaretest.dk

Retur til forsiden Samlet sideoversigt Kontakt til Softwaretest.dk English information


Udskriftsvenlig side TilbageTilbage til forsiden
Scrum som Test Management metode
En artikel skrevet af Klaus Olsen, softwaretest.dk

Indledning
Efter at have læst om Scrum tilbage i 2002, fik jeg den idé, at de metoder og værktøjer man anvender i Scrum, også burde kunne anvendes, når man arbejder som Test Manager. Dvs. selv om et projekt udvikles efter en vandfaldsmodel, vil det være muligt at anvende nogle af de dele der indgår i Scrum, til at styre testen, og derved opnå nogle af de samme fordel, som udviklingsprojekter kan, når de anvende Scrum.

Scrum er udviklet som en metode til at køre agile projekter på en meget effektiv måde. Der har været rapporteret produktivitetsforbedringer på op til både 200% og 300% ved at anvende metoden. I en præsentation af Jeff Sutherland har jeg hørt ham henvise til en kunde med en dokumenteret produktivitetsforbedring på 400%!

Baggrund
Baggrunden for at jeg startede med, at anvende Scrum som en test management metode, var idéen om det dagligt stående møde, som er en af de tre type møder der anvendes i  Scrum.

Når jeg arbejder som test manager, har jeg brug for at vide hvilken fremdrift, de enkelte testere har hver dag. Den normale måde at følge dette på er, ved at spørge hver enkelt person én gang om dagen. Det tager dog normalt kun et par dage, før der begynder at komme kommentarer som f.eks.:

”Hvor langt tror du selv, jeg er? Du spurgte mig det samme spørgsmål for 20 timer siden, og jeg har været til to møder, og hjemme for at sove i mellemtiden!”

I Scrum arbejder man med:

3 roller;

  • Product Owner
  • ScrumMaster
  • Team

3 møder;

  • Sprint Planning Workshop
  • Daily Scrum
  • Sprint Review Meeting

3 produkter;

  • Product Backlog 
  • Sprint Backlog 
  • Burndown Chart

Daglige stående møder
Det ene møde, Daily Scrum, er et dagligt stående møde, som maksimum skal tage 15 minutter at gennemføre. Det anbefales at mødet holdes samme sted og samme tid hver dag, og hver person i dit testteam skal hver dag svare på de samme 3 spørgsmål:

  1. Hvad har du arbejdet med, siden det sidste møde?
  2. Hvad vil du arbejde med, frem mod det næste møde?
  3. Er der nogen ting der forhindrer dig i at udføre dit arbejde?

Der bliver ikke taget referat af disse møder, men som ScrumMaster har jeg selv ansvaret for at løse eventuelle forhindringer som deltagerne i testteamet nævner. Dvs. i denne sammenhæng er jeg som Test Manager også ScrumMaster.

ScrumMaster
Hvis jeg anvender en metafor, kan jeg forklare rollen som ScrumMaster, som den person der hele tiden skal sikre sig, at jernbanesporet er ryddet hele vejen til endestationen. Hvis et træ vælter og blokerer, skal ScrumMasteren fjerne det, eller få nogle andre til at fjerne  det. Så hvis en deltager i mit testteam fortæller at testmiljøet ikke er tilgængeligt, skal jeg som ScrumMaster få problemet rettet op, så mit testteam ikke skal sætte farten ned, fordi testmiljøet ikke er på plads.

Dette er en af hemmelighederne, bag de store produktivitetsforbedringer som Scrum har kunnet dokumentere rundt om i verden.

På disse daglige møder skal hver deltager kun svare på de 3 spørgsmål – der er ikke tid til lange diskussioner. ScrumMasteren kan sætte personer sammen efter mødet, og her kan de forsætte eventuelle diskussioner, hvis det er nødvendigt. Idéen med at have disse daglige møder som stående møder er, at det hjælper med at holde møderne hurtige og agile. Der er ikke tid til at sætte sig tilrette med en kop kaffe og lidt privat snak.

Højere motivation
Ud over at du som test manager får en daglig status, så er en anden positiv effekt af det daglige Scrum møde, det positive pres som en deltager i testteam placerer på sig selv. Når de svarer på spørgsmålet: ”Hvad vil du arbejde med frem mod det næste møde?” så  formulerer hver deltager selv et mål for, hvad de vil opnå indenfor de næste 24 timer. Det er en af de andre hemmeligheder bag den øgede produktivitet, når man anvender Scrum.

Personer bliver nemlig motiveret af at nå mål, som de har sat for sig selv. Som en af mine deltagere sagde, efter at vi havde brugt denne metode i 14 dage:

”Dette er første gang, i de 2 år jeg har været i dette firma, at jeg går hjem om aften og er tilfreds med mig selv og min arbejdsindsats. Jeg kan se jeg gør en forskel, og jeg glæder mig at komme på arbejde den næste dag!”

To uger i træk havde hun sat sine egne mål, for det hun ønskede at opnå indenfor de næste 24 timer, og 10 arbejdsdage i træk havde hun nået sit mål dagen efter!

Effekten af dette er, at du får nogle medlemmer af dit testteam der er glade og på samme tid mere motiveret. Flere motiverede deltagere i dit testteam magter mere arbejde, og på den måde er hele testteamet i gang med at øge sin effektivitet.

Hurtigere opfølgning
En anden effekt af de daglige møder er, at jeg som ScrumMaster er i stand til at reagere hurtigt hvis et medlem af mit testteam, ikke har opnået sine mål 3 dage i træk. I et sådant tilfælde vil jeg tage en privat samtale med personen, og ret ofte er årsagen til at det daglige mål ikke kan opfyldes, at personen bliver bedt om at hjælpe et andet projekt, typisk det forrige som personen deltog i, og derfor har en stor viden om. Som ScrumMaster er det vigtigt, at jeg tager en samtale med den projektleder, der trækker på min medarbejder. Enten må det andet projekt lade være med at trække på min medarbejder, eller også skal jeg have en ny person med i mit testteam, eller alternativt skal der ses på omfanget eller deadline på mine opgaver.

En anden årsag kan f.eks. være, at personen ikke kender en bestemt testteknik godt nok. Her kan jeg så selv hjælpe, eller måske kan jeg sætte personen sammen med en af de andre testere, hvor de kan arbejde parvis i en periode, nogle timer hver dag, indtil personen har opnået den erfaring med den konkrete testteknik, der er nødvendig for at personen kan komme videre.

Ved at have de daglige Scrummøder, kan jeg se dette i løbet af 2 eller 3 dage, i stedet for først at opdage problemet på et ugentligt eller 14 dags interval status-møde.

Tiden du anvender, når du holder de daglige møder på 15 minutter, er ikke meget mere end du ville bruge på et ugentligt status-møde på en time, men resultatet du får ud af de to typer møder er ofte lysår forskellige.

Kom godt i gang
Hvis du vil i gang med at anvende Scrum som en Test Management metode, vil jeg foreslå at du følger nedenstående opskrift til at komme i gang: 

  1. Opret en Product Backlog
  2. Estimer hver opgave på den agile måde, brug poker planning cards, sammen med dit testteam 
  3. Prioriter alle opgaver, sammen med Product Owner, eller sammen med dit testteam 
  4. Opret en Sprint Backlog med de opgaver der skal løses i den første iteration af 30 dage
  5. Start med et dagligt Scrum møde, og lad dine medlemmer af testteam definere deres egne mål for de første 24 timer
  6. Opdater testteamets Burndown Chart hver dag med udestående arbejde

Du er selvføgelig også velkommen til at kontakte softwaretest.dk for yderligere information og hjælp til at anvende Scrum som en Test Management metode. 

Om forfatteren:
Klaus var en af de første personer, der blev certificeret som ScrumMaster, da
Ken Schwaber underviste den første Scrum Masterclass i Europa i Milano 2003.

Mere information:
Læs mere om Scrum på scrumalliance.org

Via Ken Schwaber på controlchaos.com 

Via Jeff Sutherland på jeffsutherland.com