SCRUM? Ja, tack…men…

Jaime Gomez reflekterar om vad man ska tänka på när man vill införa SCRUM

Häromdagen gick jag till ett seminarium i Lund organiserad av SAST-Öresund. En av föreläsarna pratade om tendenser inom testing. En av de tendenserna är agila metoder i allmänhet och SCRUM i synnerhet. Det verkar oundvikligt att inte prata om SCRUM i dagens läge.

Jag ska inte prata i detalj om hur SCRUM är uppbyggd. Det är inte själva idén med den här artikeln. Men jag vill gärna prata om hur lätt eller svårt det är att göra övergången från en mer traditionell model typ vattenfall till just SCRUM. Löser SCRUM verkligen alla problem som finns med en vattenfallsmodell? Svaren för dessa frågeställningar är både ja och nej. Det finns inte möjlighet att ge ett rakt svar på den frågan, tycker jag. ”Det beror på” skulle jag säga.

Skillnaderna mellan SCRUM och traditionella modeller är stora. Skillnaderna börjar med själva filosofin som finns bakom. SCRUM är väldigt affärsinriktat. Det förväntar sig ett gott resultat och det ska visas snabbt. Därför ska det finnas en körbar version efter varje sprint. Detta är ett uppenbart problem med traditionella metoder. De tar för lång tid att producera software med god kvalitet. Men frågan kvarstår: kan verkligen SCRUM producera mjukvara snabbare med samma kvalitet? Mitt svar på det är att SCRUM har möjligheter att producera mjukvara snabbare än traditionella metoder, men bara

  1. efter en lång mognadsprocess av hela organisationen
  2. efter en anpassning av SCRUM till organisationens behov

Det går inte att improvisera. Att ändra från traditionella till agila modeller, t.ex. SCRUM, kräver en anpassningsprocess. Det är nödvändig att planera en införande av SCRUM med en övergångsfas där:

  1. en dubbelinriktade anpassasningsprocess sker där delar av organisationen anpassas till SCRUM och där SCRUM anapassas till organisationen
  2. en förankringsprocess planeras och exekveras bland intressenter på olika nivåer

SCRUM kräver en annan dynamik och ett annat tankesätt med alla intressenter, inte minst med testare som inte är lätt att förankra. Det kräver tid och en process med tydliga och mätbara kortsiktiga och långsiktiga mål för det. Varför ett annat tankesätt? Jo, SCRUM har andra roller som traditionella metoder inte har. Scrum Master är ett bra exempel. Det motsvarar en projektledare, men inte riktigt. Produktägaren har helt plötsligt andra befogenheter och kan i stor utsträckning påverka arbetet. Och sedan har vi resten av Scrum Team. De har större chanser att säga sitt och påverka, men de måste också arbeta snabbare och visa resultat.

Och var står Testare i detta sammanhang? Ett problem som jag ser med SCRUM är att det är väldigt programmeringsinriktat. Testaspekten har en tendens att försvinna eller åtminstone försvagas. Testledarens eller Testarens roll hör inte hemma i en standard SCRUM. Alla i Scrum team måste utveckla och testa. Frågan är om testdokumentation som vi vanligtvis är vana vid att producera, inte heller får plats. Jag tycker att det behövs en mer utvecklad SCRUM modell där testfrågor hör hemma som en naturlig del av utveklingsprocessen. Och här kommer ett påstående som kan vara kontroversiellt: standard SCRUM försvagar testarens roll och försummar testprocessen. Det verkar som om testkompetensen som en testare besitter inte spelar så stor roll i standard SCRUM. Alla kan testa hur som helst! Men min erfarenhet säger att testkompetensen inte växer på träd helt spontant. Det kräver tid och vilja att utveckla sig som testare. Vi behöver en annan sorts SCRUM där testing är lika viktig som utvecklingen, där testing interagerar med programmering med lika villkor och där hanteringen av testprocessen sker på ett effektivt sätt.

Kravlistan är ett annat nyckelbegrepp i en utvecklingsprocess. Utan tydliga krav är det större risk att leverera fel produkt. Traditionella metoder har stora problem med krav som ändras under utvecklingstiden. SCRUM kan hantera detta på ett bättre sätt, men problem med otydliga eller inkompletta krav kan inte lösas med att bara ändra utveklingsmetod. Det har att göra med hur noggrant kravspecifikatiosnlistan skapas. En Produkägare kan också göra ett slarvigt arbete med sin Product Backlog i SCRUM och problemet kvarstår eftersom utvecklarna inte riktigt vet vad de ska utveckla. Jag tänker ta en lite mer ingående reflexion om detta intressanta ämne vid ett kommande tillfälle.

Det är dags att arbeta proaktivt och ta initiativ för att lyfta upp testaspekten i SCRUM. Man kan se olika initiativ i denna inriktining. Några projekt skapar till exempel en Test Sprint efter en Utvekling Sprint. Detta går emot SCRUM principerna eftersom man inte kan ha en körbar applikation precis efter varje sprint, men man återfå fokusen på testet och på längre sikt finns det bättre förutsättningar för att mjukvarukvaliten är acceptabel. Det finns exempel på organisationer där man börjar införa olika sorts ”definition of done” i ett SCRUM projekt: definition of done för en sprint, definition of done för en aktivitet, definition of done för en user story, definition of done för ett testaktivitet, definition of done för en bugfix, osv.

Det går inte att förneka att SCRUM har flera fördelar, bland annat att produktägaren eller beställaren är mycket mer involverad från första början i hela produktionsprocessen. Vi kan utöka fördelarna med SCRUM genom att börja testa så tidigt som möjligt. Vi kan börja med testet tidigare än i en vattenfallsmodell i alla fall, och det gör att fel och avvikelser kan upptäckas tidigt. Test Plan har en annan karaktär i agila metoder. De är väldigt dynamiska där det inte finns plats för detaljer eller rigurositet. Exploratory Testing är nästan ett naturligt verktyg i agila metoder. På detta sätt, med kreativitet, kan vi anpassa SCRUM till vad en organisation behöver. Var inte rädd för att förändra standard SCRUM. Anpassa verktyget efter organisationes behov och inte tvärtom. Detta är ett mycket vanligt fel när man börjar arbeta med SCRUM. Man vill introducera SCRUM i punkt och pricka utan att analysera konsekvenserna för hela organisationen.

Jag tror inte på den perfekta testmodellen. Däremot tror jag på den perfekta kombinationen av olika metoder och verktyg för att åstadkomma ett bra och professionellt resultat. Och det är där, i det sättet av hur man kombinerar saker och ting, där testledarens skicklighet sätts på prov.

För att sammanfatta:

  1. Satsa inte allt på bara SCRUM. Analysera vilken typ av agila eller icke agila metoder som passar in i din organisation och använd den bara när det behövs.
  2. Försök inte att använda SCRUM till alla typ av projekt. Det är som om en snickare alltid skulle använda en hammare som enda verktyg för att tillverka ett fönster. Det skulle vara otänkbart! Varför vill man på IT-branschen endast använda SCRUM? Det går helt enkelt inte!
  3. Analysera konsekvenserna för din organisation om ni inför SCRUM. Vad händer om experimentet misslyckas? Förbered en plan för att minimera riskerna.
  4. Sätt mätbara och realistiska mål när du vill införa SCRUM.
  5. Var öppen för att ändra standard SCRUM till en modell som passar din organisation. Tillåt inte en ”polis SCRUM”-attityd bland dina medarbetare. Det som är viktigt är inte själva SCRUM utan att en iterativprocess berikar arbetsättet i din organisation
  6. Förankra det nya processen på olika nivåer i din organisation.
  7. Använd ett litet eller medelstort projekt för att ”provsmaka” i verkligheten din agilmodell. Utvärdera resultatet, identifiera och åtgärda de svaga punkterna. Om SCRUM inte passar, lägg det vid sidan om och leta efter en annan modell.
  8. Slarva inte med kravlistan eller Product Backlog. Det har negativa konsekvenser.
  9. Använd kompetensen som ditt testteam besitter. Det gynnar alla.
  10. Du får vara beredd att använda Exploratory Testing. Det är den mest effektiva sättet att testa och dokumentera agile.
Tags: ,

About Jaime Gomez

Jaime Gomez
Senior QA Engineer Axis Communications
En av grundarna av SAST-Öresund

Ämne jag gillar arbeta med: testledning, testautomatisering, testprocess. Jag började arbeta med QA frågor år 2001. Jag har arbetat som utvecklare också på olika företag och därför har ett utvecklingsperspektiv hos mig.

Alla kommentarer på denna webplatsen speglar bara författares åsikter och inte arbetsgivare.