Hva gjør du med en backlog som er full av gamle bugs? Du gjør det morsomt å fikse dem!
På Trondheimskontoret til Bouvet er vi åtte konsulenter som har vært sammen i samme prosjekt i mange år. Vi driver både med forvaltning og nyutvikling for kunden, og som veldig mange andre, jobber vi så smidig vi kan etter scrum. Som team trives vi veldig godt sammen, og vi elsker å feire både store og små begivenheter, som bursdager, prodsettinger og andre milepæler – gjerne med kake om vi har mulighet til det.
Det vi derimot ikke har vært så glade i er å fikse gamle bugs. Backloggen vår har vært full av gamle bugs og vi har vært litt usikre på hvor vi skulle begynne. I forbindelse med at jeg nylig ble testleder har vi endelig tatt en ryddesjau i bug-backloggen. Senior testleder, prosjektleder og kollega, Inge Bye, har hjulpet oss med å forbedre testrutinene våre og strukturen vår i Jira. Han rådet oss til å gå gjennom alle bugs, og lukke dem som allede var løst eller umulig å gjenskape. I samarbeid med produkteierne satte vi prioritet på hver bug, fra én til fem.
Etter denne jobben var likevel bug-backlogen altfor lang, og vi bestemte oss for å ta et skippertak. Vi satte derfor av en hel dag i sprinten hvor hele teamet skulle jobbe med bugfiksing. Bugfiksing en hel dag hørtes ikke så fristende ut, så teamet ønsket å gjøre det som en konkurranse. Dermed ble Bugfiksespillet født.
Spillet er altså en løsning for å gjøre fiksing av bugs morsomt. Spillet fungerer slik at vi tegner opp et spillebrett med to stier på et whiteboard – én for bugfiksing og én for å finne bugs (testing).
Når du har fikset en feil, sjekket inn kode og lagt den til review, plinger du i glasset eller kaffekoppen. Deretter må du gå bort til spillebrettet og krysse av like mange felter som verdien av feilen i bugfiksestien. En «blocker» er verdt fem kryss, en «critical» er fire, en «major» er tre, du får to for en «minor» og én for en «trivial».
Det samme skjer hvis du finner en ny bug. Da krysses det av i den andre stien. På denne måten blir det en konkurranse mellom testing og bugfiksing, bare at alle teammedlemmene kan gjøre begge deler. Parprogrammering gir kryss til begge deltakerne.
Premiering skjer ved at du får ett lodd i vinlotteriet per kryss du setter i spillet. Vinnere trekkes når spillet er ferdig.
På spillebrettet er det også noen «Prøv lykken-felt». Dette er felles pauser for hele teamet.
Her er noen eksempler på noen av våre lykkekort:
«Rykk frem til kaffemaskinen og server kaffe til hele teamet.»
«Ta med teamet på en luftetur.»
«Skål! Sørg for at alle har fylt opp vannglassene og finn på noe å skåle for.»
«Papirflykonkurranse! Vinneren får et ekstra lodd.»
«Du har arvet et lodd i vinlotteriet fra tante Olga i Amerika.»
Vi har spilt Bugfiksespillet flere ganger, men jeg tror aldri det blir helt tomt for bugs hos oss. Vi kommer derfor til å fortsette å ha en bugfiksedag hver sprint. Spillebrettet og reglene blir endret litt for hver gang – vi søker selvfølgelig stadig forbedring her også.
Bugfiksing er like kjedelig som husarbeid, og er noe som ofte blir utsatt. Dette gjør at beste løsning ofte blir å ta et skippertak. Å løse bugfiksingen med et slikt spill, er derfor noe jeg anbefaler alle.
Når hele teamet setter av dagen til bugfiksing, får vi gjort kjempemye. Det er også vesentlig enklere å løse bugs sammen. Samtidig er det utrolig godt for en testleder og produkteier å se at backloggen blir mindre og at de høyest prioriterte bugsene blir fikset. På denne måten har vi det ikke bare gøy som team, men vi vet også at kvaliteten er god og at det nærmer seg prodsetting.
Få aksept fra kunden til å sette av en hel dag til bugfiksing.
Alle i teamet deltar. De som ikke har kompetanse til å fikse bugs, kan teste.