Scrum

Scrum är ett ramverk av metoder för att driva agila projekt. Genom ett iterativt arbete levereras inkrement, delar, av slutprodukten kontinuerligt . Reflektion och utvärdering ligger till grund för kontinuerlig förbättring. Scrum är den mest förekommande agila metodiken vilket gör den både hyllad och hatad. Hemligheten bakom att lyckas med Scrum är insikten att Scrum är bara ett ramverk, ett ramverk som skapar förutsättningar för att skapa bra produkter snabbare. Det är inte lösningen på alla era problem – det är verktyget som låter er hitta lösningarna.

Scrum har fått sitt stora genomslag inom systemutvecklingsprojekt men Scrum kan användas för andra typer av projekt. Med Scrum planeras en iteration, 1-4 veckor, i taget. Det kombineras med en mer långsiktig plan, som dock inte är lika detaljerad. I iterationen är det effektivt arbete som gäller med dagliga avstämningar och fokus på att eliminera hinder. I slutet levereras det som är klart och en utvärdering.

Arbetssättet har införts på hela företag och inte bara IT-relaterade projekt. Scrum kan således användas för integrationsprojekt, migreringsprojekt, förvaltningsåtaganden, säljorganisationer med mera. I de fall där det finns behov av daglig prioritering av aktiviteter är inte iterationer alltid användbart, exempelvis för förvaltningsteam. Där passar Kanban i regel bättre.

Byggstenarna i Scrum

Scrum består av 3 faser, 3 roller, 3 aktiviteter och 3 artefakter. Det är byggstenarna för att skapa ett agilt projekt som kan förhålla sig till tillförändring och hantera osäkerhet samtidigt som en hög produktivitet kan uppnås tillsammans med tidiga leveranser av värde.

  • 3 faser
    Den primära fasen i Scrum kallas Game och består av ett antal sprintar, iterationer. Varje sprint levererar en delmängd av projektets slutmål, och sprintarna löper så länge projektet har finansiering och värde kan levereras. Innan Game-fasen genomförs Pregame-fasen vilket omfattar förberedande aktiviteter, så som övergripande planering, arkitektur och en första Product Backlog (prioriterad att-göra-lista). Projektet avslutas med Postgame-fasen då projektet avvecklas och resultatet lämnas över till en definierad mottagare.
  • 3 roller
    • Produktägaren, Product Owner, ansvarar för att prioritera projektets Product Backlog och stötta teamet i deras arbete med fokus på verksamhetsfrågor. Det gör produktägaren till representant för projektets intressenter, så som beställare, affärsverksamheten, användarna med flera.
    • Teamet ansvarar för att driva projektet framåt, eftersom de planerar vad som ska levereras i slutet på varje sprint, och tar ett gemensamt ansvar för sina leveranser. Ett team i Scrum är självorganiserande, sitter med fördel i samma lokaler för ökad direktkommunikation och har tillsammans den kompetens som behövs.
    • Scrum Mastern är inte en projektledare utan en coach som stöttar teamet och produktägaren. Det är en person som ser till att projektet genomförs inom de regler och med de metoder som är överenskommet. Scrum Mastern ansvarar även för att eliminera hinder för teamet.
  • 3 aktiviteter
    • Sprint planering
      Planeringen av en sprint sker i två steg. Först väljer teamet ut en rimlig arbetsmängd från projektets Product Backlog i samråd med produktägaren. Efter det bryter teamet ner varje entitet i ett flertal aktiviteter tillsammans med estimat. Resultatet blir den aktuella Sprint Backlogen.
    • Daily scrum
      Daligen genomförs korta, cirka 15 minuter, avstämningsmöten där varje medlem i teamet kommunicerar vad som har hänt sen senaste mötet, vad som ska göras och de eventuella problem som finns.
    • Sprintutvärdering
      Utvärderingen av sprinten sker traditionellt i två steg. Färdigt arbete, funktionalitet för ett systemutvecklingsprojekt, demonstreras för projektets intressenter och om möjligt de blivande användarna. Den andra utvärderingen sker internt genom ett retrospektive-möte där teamet, Scrum Mastern och produktägaren öppet diskuterar vad som har varit bra och vad som ska bli bättre i nästa sprint.
  • 3 artefakter
    • Product Backlog
      Projektets att-göra-lista som är prioriterad av produktägaren som även ser över listan inför varje ny sprint. Ju högre prioritet en entitet, sak på listan, har desto mer konkret är den.
    • Sprint Backlog
      Den aktuella sprintens att-göra-lista som skapas i början av varje sprint. Under sprinten sker inga förändringar i innehållet.
    • Burn down chart
      För att visualisera framstegen i sprinten används diagrammet burn down chart. På x-axeln anges totalt antal timmar för aktiviteterna i Sprint Backlogen och på y-axeln antal arbetsdagar i sprinten. I samband med det dagliga Scrum mötet uppdateras diagrammet för att visa hur mycket arbete som är kvar.

Sprinten - kärnan i genomförandet

Arbetsmönstret i Scrum är enkelt. Istället för att detaljplanera projektet skapas en övergripande plan med en tydlig vision tillsammans med en prioriterad lista, Product Backlog, med den funktionalitet som efterfrågas.

Genom iterativt arbete kommer ett team ansvara för att kontinuerligt leverera de högst prioriterade önskemålen från Product Backlogen. Vad som ska levereras i varje sprint planeras av teamet i samråd med produktägaren i början av en sprint. Under själva sprinten sker inga förändringar och kunden finns alltid nära tillhands för att svara på detaljfrågor.

I slutet på iterationen demonstreras färdig funktionalitet för kunden och användaren för att få feedback som påverkar kommande utveckling. Teamet genomför, tillsammans med kunden, även en utvärdering för att hitta förbättringsmöjligheter inför kommande iteration. Inför nästa iteration har kunden uppdaterat Product Backlogen med eventuell ny funktionalitet och prioriterat om enligt önskemål.

Scrum sprint

Scrum i verkligheten

Under perfekta omständigheter så fungerar Scrum. Tyvärr är det sällan någon av oss har de perfekta omständigheterna för ett renodlat Scrum projekt. Det innebär att metodiken anpassas för att fungera i verkligheten, och här någonstans börjar de flesta få problem.

Vanliga problem i Scrum projekt:

  • Produktägaren har ett avgörande ansvar
    Produktägaren har ett enormt ansvar. Att hitta den personen som kan representera alla intressenter rättvist, prioritera arbetet baserat på rätt värde och är tillgänglig för att svara på detaljfrågor är nästintill omöjligt. Även om det ofta blir ett flertal personer som delar på rollen som produktägare så är det en extremt svår roll att lyckas med.
  • Hinder i organisationen
    Organisationen, både beställarens och leverantörens, är i regel inte vana vid att hantera så snabbfotade projekt. Scrum har en tendens att sätta fingret på smärtsamma problem i organisationen som sällan är lätta att lösa. Hinder som behöver lösas för att Scrum ska fungera bra är inte alltid så enkla att lösa.
  • Svårt att skapa bästa möjliga förutsättningar för teamet
    Scrum väger lätt jämfört med exempelvis RUP. Avsaknaden av regler, ramar och processer skapar flexibilitet, snabbhet och ger utrymme för kreativitet. Det innebär att personerna i projektet får en större betydelse, rätt personer är viktigare än rätt leverantör. Fel kompetens och bristande erfarenhet blir uppenbar.
  • Omställning för många discipliner
    Utvecklare tenderar att anpassa sig till Scrum snabbt. Beställare, kravanalytiker, testare och ledare har i regel svårare att hitta sina nya roller i agila projekt. Resultatet blir ofta traditionella, vattenfallsorienterade, team runt det agila utvecklingsteamet.
  • Beställaren accepterar inte en flexibel slutprodukt
    Beställaren förväntar sig fördelarna med Scrum (snabba leveranser, flexibilitet och högre produktivitet) samtidigt som de vill betala fastpris för en fördefinierad produkt som ska levereras till ett specifikt datum. Agila projekt kan ha låst tid och budget men vad som levereras är alltid flexibelt. En del lyckas driva Scrum projekt trots det, men de flesta misslyckas.

Så hur lyckas ni med Scrum? Första steget är att få en bra förståelse för Scrum och varför de olika byggstenarna är utformade som de är och hur de samspelar. Steg två är att anpassa Scrum till er verklighet – utifrån projektets situation måste ni förstå vad Scrum ger och vad som saknas. Mer hjälp kring det finns under Go Agile.

Uppdaterades: 2012-04-29 07:34:37