Jag har den senaste tiden haft förmånen att få jobba en hel del som projektledare inom telekomvärlden. Dessutom i en del av telekomvärlden som är extremt driftkritisk för vårt samhälle. Mer än så kan och får jag inte säga. Det jag däremot kan dela med mig av är att jag verkligen fått upp ögonen för något som jag tidigare tittat lite snett på och tyckt varit tråkigt – nämligen testning! När jag nu sätter mig för att samla tankarna kring detta och lyfta detta till synes oexploaterade område inom infrastrukturområdet ser jag ett oroande problem torna upp sig. Vi bygger alltmer komplexa lösningar och vi designar och bygger för redundans och katastrofhantering – men vi testar det aldrig. Som projektledare är det mitt kvitto på att jag gjort mitt jobb. Faller allt vid en driftsättning har jag bara mina testfall att falla tillbaka på för att visa att vi minsann har gjort jobbet.
Vi förutsätter att det ska funka den dagen Mr Murphy kommer och hälsar på. Det är för övrigt ett uttryck som är alltför vanligt inom vår bransch: ”ska funka”. ”Nu ska det funka”. Vi säger det alltid så för att reservera oss för den eventuella miss vi gjort när vi ”konfigurerat” något. Genom regelbundna tester så vet vi ”att det funkar”.
Det jag upplevt är det självklara behovet av att alltid testa och säkerställa funktion innan något tas i skarp drift, men även under drift. Visst kollar vi att mail går ut från den nya fina mailservern innan vi switchar till den, och visst failar vi över en och en annan vm innan vi lastar ner vårt Hyper-V kluster. Men när vi gjort det har vi testat klart och är nöjda och glada. Hur vet vi då att vår rutin fungerar för att återställa funktion när det gäller? Jo, genom att testa den regelbundet. Detta är varken nytt eller något jag hittat på vilket ni förstår, men likväl behöver det lyftas upp och påminnas om.
Jag har en kund, låt oss kalla dem kund X. Kund X har en separat site för disaster recovery (DR) där de har dubblerat hela sin miljö. En gång per kvartal failar de över hela sin miljö skarpt och kör på DR-siten. Första gången de berättade om det var min reaktion: Shit va jobbigt! Min andra tanke och som jag fortfarande har: Shit va imponerande att de tar sitt jobb på så stort allvar! Till syvende och sist är det dem som kommer sitta där när skiten träffat fläkten och då sitter rutinen i ryggmärgen.
Så mitt budskap med detta är att prioritera testerna även i den dagliga driften. Gå in och ryck en disk i RAID:en, återställ en backup, faila över till DR-siten. Skriv testfall och en kontinuitetsplan där test av rutiner ingår. Skriv inte bara planen, testa den. Regelbundet. Förutsätt inte bara att det ska funka: Assumption is the mother of all fuck-ups.