lördag 20 februari 2010

Är checklistor lösningen?

Strax efter nyår så fördes en intressant diskussion på Secure Coding mailinglist. Den gällde något så "tråkigt" som checklistor. Är det lösningen på problemen med osäkra applikationer?

En amerikansk kirurg och medicinforskare vid Harvard Medical, Atul Gawande, har nyligen gett ut en bok med titeln "The Checklist Manifesto: How to Get Things Right". Genom forskning har han och hans team visat att den kanske största kvalitetsförbättringen inom sjukvård (speciellt operationer) kan nås med enkla checklistor. Jämfört med vad nya läkemedel och ny utrustning kan göra så är Atuls checklistor inget mindre än en revolution.

Samtidigt har han mött på enormt motstånd från läkarkåren och skrämmande få sjukhus har infört hans checklistor. Orsaken är prestige och status inom yrkeskåren. En högutbildad läkare behöver baske mig inga checklistor, tycks folk tänka. Men Atul Gawande hävdar motsatsen -- ju mer komplext ett yrke är, desto större kvalitetsvinst med checklistor. Därav kopplingen till IT och säkerhet.

Bild från The New Yorker-artikeln om Atuls checklistor (se länk nedan).

Diskussionen på Secure Coding mailinglist handlade om checklistor och mjukvarusäkerhet. Men frågan handlar förstås om kvalitet generellt vid systemutveckling. "Definition of Done" inom agil utveckling är ett exempel på en (liten) checklista. Security Development Lifecycle har andra checklistor inför release.

Verktyg för statisk analys är en sorts automatiserade checklistor. Men är det så att vi som utvecklar och säkerhetstestar mjukvara också behöver checklistor för att ta nästa kvalitetskliv? Hur skulle såna listor se ut? Kommer de användas på daglig basis, vid sprint-slut eller vid produktionssättning/leverans? Många intressanta frågor.

Det finns hur som helst en radiointervju med Atul Gawande på nätet. Jag började faktiskt gråta när han berättar om hur ett operationsteam för första gången lyckades rädda ett barn från en svår typ av olycka. Skillnaden var att man systematiskt gått igenom alla tidigare, misslyckade case och gjort ... en checklista. Lyssna här.

Atul Gawande är också kolumnist i The New Yorker och en bra aritkel om hans Checklist Manifesto finns här.

2 kommentarer:

Dan Bergh Johnsson sa...

Gawandes metod för checklistor bygger ju till stor del på att fånga "självklarheter", dvs saker som borde sitta i ryggmärgen (t ex använda viss sorts tvål), men lätt tappas när uppmärksamheten behövs på annat (t ex att patienten håller på att dö).
Så, det handlar inte om att göra checklistor för de mest intressanta sakerna, utan för de minst intressanta sakerna.
Här tror jag vårt område ligger ganska bra till ändå. Vi automatiserar och gör skript för bygg och deploy, så vi inte råkar skicka fel version till driftning. Men Gawande visar på vilken hävstångseffekt man kan få av det och varför det är därmed är viktigt.

John Wilander sa...

Du har rätt, Dan. Jag har de senaste dagarna funderat vidare och kommit fram till att man borde skriva upp varje sån där sak som man glömmer göra.

Att "hitta på" den perfekta checklistan är helt enkelt inte möjligt. Det ligger i fenomenets natur att checklistan måste växa fram i takt med att man inser vad man typiskt brukar glömma.

Om man blir ett 10-tal som samlar såna erfarenheter så kan man nog reducera ner det till något riktigt krispigt och lansera en "Software Quality Checklist".