Inspiration & Kunskap

Mobbprogrammering på SVT från en testares perspektiv

Vi har under en längre tid hört talas om parprogrammering och på senare år har konceptet utvecklats till programmering i grupp och att innefatta fler kompetenser - så kallad mobbprogramming. Häng med på hur en mobb upplevs från en testares vinkel.

Victor Vällfors har jobbat med test i sex år och har i tolv månader varit en del av sportmobben, utvecklingsteamet för SVT Sports webb på SVTi. I det här inlägget delar han med sig om hur det varit och vad som kan vara bra att tänka på när man jobbar med mobbprogrammering.

Vad är en mobb?

Mobbprogrammering är en arbetsmetod där en grupp gemensamt jobbar på att lösa samma problem, på samma plats och på samma dator. För att bilda en mobb behöver man vara minst tre personer. Det finns ingen hård gräns för hur många man kan vara men är man fler än åtta kan det vara läge att se om det vore effektivare att dela upp sig i två grupper.

I mobben finns det två roller, ”driver” och ”navigator”. ”Drivern” är den som styr datorn och rollen roteras mellan medlemmarna i fasta intervall (i vårat fall var tionde minut). Tanken är att ”drivern” enbart gör som den blir tillsagd av en ”navigator”.

”Navigator” är den som får styra ”drivern” och samla input från de andra medlemmarna i mobben och bör vara någon som är insatt i problemet man försöker lösa. I vår mobb är alla utom ”drivern” en ”navigator”, det vill säga att vem som helst kan ge instruktioner till ”drivern”. Det kräver lite mer självdisciplin än att bara ha en ”navigator” men det får alla att känna sig inkluderade och har öppnat upp för många intressanta diskussioner som lett till bättre lösningar.

 

Hur vår mobb blev till?

När jag började på uppdraget för ett år sedan var hela teamet nyrekryterat med det explicita syftet att vi skulle försöka jobba i mobb hela tiden och använda oss av Lean UX. Vi hade alla diverse tidigare erfarenhet av mobbprogrammering men det som var nytt för oss var att vi skulle mobba både discovery (utforska) och delivery (leverera, bygga) , det vill säga inte bara kod utan även saker som design, användartester, implementering och uppföljning.

Det betydde att våra stakeholders förväntade sig att vi skulle jobba i mobb och jag tror att det stödet vi har fått från dem tillsammans med det faktum att vi alla i teamet helhjärtat kom överens om att löpa linan ut är anledningen till att den här metoden har varit så lyckad för oss. Som hjälp hade vi de första månaderna stöd av en agil coach för att hitta processer som fungerade för oss vilket jag fann väldigt värdefullt som ett nystartat team och vi hade tidigt en workshop med Woody Zuill vilket verkligen hjälpte oss att etablera rutiner för mobbandet.

 Mobbprogrammering tavla

Fördelarna med mobbprogrammering

I vårat team och vår mobb har vi många olika kompetenser (Produktägare, front-end, back-end, UX/Art Director och testare) och det är när dessa kombineras som styrkan i mobben framgår.

  • När man tolkar uppgiften tillsammans bygger man en gemensam förståelse av problemet man försöker lösa och när alla nödvändiga kompetenser hela tiden är delaktiga och närvarande är det möjligt att omtolka den förståelsen efter behov under utvecklingens gång. Att gå tillbaka och fråga oss ”vad är egentligen problemet vi försöker lösa?” hjälper oss att inte göra lösningarna vi bygger mer komplexa än vad som är nödvändigt och förhindrar att vi fastnar på detaljer som har väldigt lite påverkan på helheten.
  • Missförstånd och misstag kan upptäckas tidigare i utvecklingsprocessen eftersom alla deltagares olika perspektiv är delaktiga i hela processen vilket förhindrar att kostsam utveckling görs i onödan.
  • Eftersom alla är närvarande och jobbar på samma sak kan ändringar i både design och kod göras ”on the fly” och det är mindre risk att viktiga saker som tester glöms bort.
  • Det brukar heta att delat ansvar är ingens ansvar men när alla är delaktiga i varje steg av produktutvecklingen märker man hur deltagarnas ansvarsfokus lyfts från det egna expertområdet till att gälla hela produkten. Det här gynnar inte bara slutanvändaren i form av en solidare produkt utan leder även till ett bättre arbetsklimat när kollegor får förståelse och respekt för varandras expertis och bidrag till produkten.

Läs gärna min kollega Lea Kovac Beckmans guide om mobbprogrammering för ytterligare insikt i arbetssättet.

 Victor Vällfors Mobbprogrammering

Hur arbetssättet har påverkat mig som testare?

Jag ser tre områden där jag tydligt utvecklats under året jag har jobbat i mobb och där kontrasten mot att jobba i ett traditionellt team med till exempel scrum som arbetsmetod är störst.

  • Det första är att jag har blivit ofantligt mycket bättre på kodande sedan vi började mobba, vilket märks både när jag skriver tester och när vi mobbutvecklar tillsammans. Jag är varje dag omgiven av flera erfarna utvecklare som måste förklara sina lösningar eftersom att vi jobbar på samma sak vilket låter mig suga upp deras metodik såväl som att de tidigt kan rätta mig om jag skulle göra fel. Det här gäller både när vi bygger produkten och när vi faktiskt skriver testerna tillsammans.
  • Det andra området är möjligheten för mig som testare att komma in så tidigt som möjligt i processen när vi tar fram en ny feature vilket dels ser till att vi redan från början tänker på testbarhetsaspekten av det vi bygger men även att vi inte i något steg missar att automatisera tester för att minska arbetsbörda och öka kvaliteten på lång sikt.
  • Det tredje är helhetsöversikten man får över produkten och kontrollen det ger mig som testare att säkra kvaliteten. Jag har numera full förståelse för vilka delar som täcks av enhetstester, integrationstester och end-to-end tester och eftersom jag är med under hela utvecklingen kan vi inom teamet diskutera på vilken nivå vi vill lägga tester genom att utgå ifrån vad vi vill uppnå för att maximera effektiviteten.

Det sistnämnda är också det jag som testare skulle jag säga har varit det mest värdefulla. För organisationen är det att när alla är delaktiga i alla steg tar man ansvar för hela produkten och inte bara sitt område vilket leder till ett bättre slutresultat och således blir den största vinsten.

 

Mer om mobbprogrammering

Vill du eller kanske ditt team lära dig mer om mobbprogrammering så har vi ett seminarium följt av en workshop med Woody Zuill, skaparen av mobbprogrammering, 19 oktober i Stockholm.

Mer information och anmälan hittar du här

Skrivet av

Victor Vällfors

brinner för testautomatisering som ett sätt att säkra kvaliteten samtidigt som man ökar effektiviteten. Han är en positiv, noggrann och professionell person som gärna tar ansvar och jobbar i team. Personlig utveckling är väldigt viktigt för Victor och han älskar nya utmaningar vare sig det är på jobbet eller privat.

Prenumerera för mer nyheter och inspiration