I den första artikeln om enkla tips för att höja kvaliteten var ämnet mockups och hur de hjälper oss undgå missförstånd, den kan du läsa här. I denna del kommer ett till tips på en teknik som inte är kostsam eller tidskrävande att genomföra men som ändå bidrar till ett förbättrat kvalitetsarbete. Denna teknik hjälper oss undvika grundläggande misstag.
Checklistor som teamets minne
Checklistor kan användas på många olika nivåer. De räddar liv inom sjukvården och hjälper dig att inte glömma tandborsten när du ska på semester. I vårt team använde vi dem främst under planeringen då vi skulle bryta ner våra user stories i uppgifter.
Vår checklista för planering såg ungefär ut på detta sätt:
- påverkas funktionen av tidszoner?
- bör man kunna använda web services med funktionen?
- vilka rättigheter krävs för att använda funktionen?
- hur ska vi hantera “concurrency issues”?
- behöver vi någon speciell testdata?
- vilka vyer påverkas?
- hur påverkas prestandan av funktionen?
Utöver detta tillkom en del domänspecifika frågor som jag väljer att inte lista här.
Punkterna härstammade från problem som vi ofta råkade på eller från buggar som inträffat. Listan förvarades på teamets wiki och vem som helst kunde lägga till punkter som kändes relevanta. Vi plockade fram listan under planeringen och läste högt från den.
Vi använde även en annan variant av checklista där de återkommande uppgifter som behövde göras för varje story listas. Det kunde handla om att uppdatera release notes, skriva dokumentation, utöka automatiserade tester eller gå igenom vår Definition of Done. Eftersom vi använde en digital scrumtavla kopierade vi enkelt dessa uppgifter från story till story.
Varför är det en bra teknik?
Fördelen med den gemensamma checklistan är att det inte är en individs ansvar att komma ihåg alla typer av problem som kan uppstå, utan listan håller reda på det åt oss allihop. Som testare tar jag gärna på mig att vara den som ställer alla “Vad händer om…?”-frågor men hela teamet kan bidra med liknande frågeställningar. Under tiden som checklistan läses upp tar vi gärna på oss våra mer kritiska hattar och funderar på vad som kan gå fel. Ju fler olika perspektiv som finns representerade, desto mer sannolikt är det att potentiella fel tas upp.
Även här, liksom kring mockups, är dialogen viktig, en punkt på listan kanske känns orelevant för en viss funktion men att läsa upp den kan trigga en tanke om något annat som faktiskt är ett problem i det fallet. Att hålla dialogen vid liv en stund är viktigt för att se till att alla olika perspektiv är täckta.
Våra checklistor låter oss hålla en bra miniminivå på kvalitet. Vi delar på ansvaret i teamet att komma ihåg alla specialfall som ofta påverkar. Vi håller också en dialog om vad kvalitet innebär för oss, det som är viktigt att tänka på för vårt system kommer vi att ha med på vår checklista.
Varför checklistor?
I boken The Checklist Manifesto kan vi läsa att vården i USA halverade antalet dödsfall under operationer med hjälp av checklistor. Vi tror att när vi utför komplexa arbetsuppgifter kommer vi att minnas de grundläggande sakerna, men det är fel, vårt minne är begränsat. Oavsett hur bra experter vi är kan väldesignade checklistor förbättra våra resultat. Om vi vill undvika de pinsamma missarna som inträffar när grundläggande funktioner fallerar så är checklistor utmärkta.
Vad kan du göra i ditt team för att öka kvaliteten?
Dessa historier är exempel på två aktiviteter som inte kräver stora resurser eller omvälvande processförändringar men som ändå ger result. Å ena sidan, kan vi använda dem för att höja kvaliten på våra system och undvika uppenbara missar och å andra sidan, lägger de även grunden för att föra en dialog kring funktionen vi utvecklar eller hur vi arbetar tillsammans. Gemensamt för dessa två tekniker är att de kräver hela teamets engagemang och det är också då det är möjligt att nå god kvalitet, när hela teamet bidrar.
Det finns många fler sätt att arbeta tillsammans kring kvalitet som är enkla att införa och använda, dessa är bara två exempel. Fundera en stund, vad kan du göra för att öka kvaliteten i ditt team? Eller berätta gärna i kommentarsfältet om en teknik som du har provat!