Tak więc wylądowałem na urlopie. Mikry to urlop, zaledwie trzy dni, ale dość czasu aby powspominać o metafizyce.
Tak więc ostatnimi czasy, próbując iść z duchem pewnej książki o SRE postanowiłem wdrożyć ducha SRE w SMOK-u. Na wheel of misfortune wszyscy bawiliśmy się świetnie, nawet praktykanci, a junior SRE śpiewająco poradził sobie z usterką.
Na etap drugi nie trzeba było długo czekać, bo już na następny dzień przydarzyła nam się ustereczka. Nie usterka mająca wpływ na SLA systemu, ale ustereczka. Poleciało około 200 zapytań które skończyły się HTTP 500. Idealna sytuacja żeby junior SRE napisał swojego pierwszego postmortema (dla osób nietechnicznych – analiza incydentu po jego wystąpieniu).
Napisał tego postmortema i technicznie był on śpiewający. Był tylko jeden problem. Junior użył tam takiego sformułowania że “szef musiał wrócić i go oświecić”.
I tutaj mamy problem. Największy problem mam chyba ja ze sobą. W książce o SRE pisano, żeby postmortemy rozpatrywać w ramach blameless culture (tłum. kultury bez winy), znanej również medycynie jako system no-fault. Szybko wyguglałem polską literaturę na ten temat i Google było puste, tak więc postanowiłem skorzystać z przerwy i faktu że jestem na urlopie, tak więc popiszę kilka słów o metafizyce.
Czym jest tak naprawdę blameless culture? To kultura w której traktujemy błędy ludzkie jako codzienność i oczywistą oczywistość. Kultura, w której zawodzą procesy, a nie ludzie. W firmie w której za popełnienie błędu zwalnia się ludzi popełnia się fantastyczną moim zdaniem pomyłkę. Przecież ten człowiek właśnie nauczył się kolejnego sposobu jak czegoś nie robić, i to za Twoje pieniądze! Dlaczego go zwalniasz? Wygląda mi to na klasyczny przykład straconej gotówki.
Jesteśmy inżynierami, nie ukrywajmy tego. Naprawianie ludzi zostawmy psychiatrom (z góry przepraszam wszystkich psychiatrów czytających tego bloga). Ponieważ nie jesteśmy od naprawiania ludzi naprawiajmy procesy – załóżmy że nasi pracownicy podejmowali właściwe decyzje w oparciu o informacje które mieli w tym momencie. Jeśli pracownik czegoś nie wiedział, ustal dlaczego tego nie wiedział? Czy zapomniał sobie o tym, ponieważ Twoje manuale serwisowe są zbyt opasłe i nie mieszczą się ludziom w głowach? Polecam tu klasyczną już metodę “pięciu Why”. Jeśli masz pracownika który wymyka się temu postulatowi, to chyba masz problem który powinieneś zgłosić do kierownika albo do HR-u.
W kulturze, w której ludzie boją się przyznawać do błędów, dochodzi do sytuacji, które dokładnie odzwierciedla poniższy cytat:
W 2005 roku poważna eksplozja w rafinerii BP w Texas City zabiła 15 osób i zraniła 180 innych. Wiceprezes obwinił personel, stwierdzając, że „gdyby [nasi ludzie] postępowali zgodnie z procedurami rozruchowymi, nie mielibyśmy tego wypadku”. Jednak analizy wykazały, że eksplozja wynikła z lat zaniedbań , z powodu niespełniającego norm sprzętu i nieodpowiednich procedur bezpieczeństwa. Winą obarczono następnie urzędników zarządzających za wybór działania w niesprzyjających warunkach. Po tym incydencie warunki bezpieczeństwa nie uległy poprawie. Więcej incydentów miało miejsce po początkowej eksplozji, co spowodowało ponad 100 milionów dolarów grzywien, dziesiątki procesów sądowych i wypłat do 1,6 miliarda dolarów dla ofiar. Pożary nadal pustoszą rafinerie co tydzień. Dane pokazują, że od 2005 roku w amerykańskich rafineriach zginęło co najmniej 58 osób.
Czy sądzicie że gdyby tym osobom łatwiej było się przyznać do błędu, w kulturze w której nie zostaną za to ukarane, wyśmiane, zwolnione czy wykluczone byłoby łatwiej? Myślę, że tak.
Zresztą pewnego układu odniesienia dostarcza nam również kolejny cytat:
Starożytni Grecy […] reagowali na nieszczęścia, takie jak zaraza, głód lub najazd, wybierając osobę, zwykle kalekę, żebraka lub przestępcę. Ta osoba – pharmakos – była bita, kamienowana i wypędzana z miasta… To nie jest zdrowe. To też nie jest skuteczne. W ten sposób nie uczymy się na własnych błędach. Grecy doświadczali plag, bo okazuje się, że bicie żebraka jest mniej skuteczne w zapobieganiu chorobom niż wymyślenie sprawnego systemu sanitarnego.
Analizy pousterkowe (tzw. postmortemy) “bez winy” jako pierwsze wprowadziło bodajże Etsy. Od tego czasu szturmem wzięło branżę, podobne praktyki uprawia chociażby Google i pewna znana i lubiana przeze mnie firma z branży lotniczej. Zresztą cała kultura powstała właśnie w branżach healthcare czy avionics, czyli branżach w których za błędy płaci się krwią ludzi, a każda pomyłka jest tak naprawdę okazją by dalej wzmocnić swoje procesy, a dalej całą instytucję.
Jak możemy uprawiać taką kulturę we własnym zakresie? Przede wszystkim zmieńmy układ odniesienia i zamiast Jacek wdrożył błędną poprawkę na produkcję użyjmy sformułowania Błędna poprawka została wdrożona na produkcję. Sprawmy, aby nasi pracownicy przestali się bać przyznawać do błędów!
Oliwy do ognia dolało jeszcze przeczytanie przeze mnie artykułu informującego o tym że lekarz dokonał aborcji niewłaściwego płodu w zagrożonej ciąży bliźniaczej. W takiej sytuacji wydaje się że wyrok niemalże już zapadł – ale pozwólcie że przekornie zapytam się gdzie był system, który pozwolił lekarzowi popełnić taki błąd? Ludzie są omylni. Jeśli ktoś nie bierze tego pod uwagę w swojej analizie ryzyka, to po prostu jest głupcem.
Świetny artykuł, treściwy, techniczny a przy tym dobrze się go czyta.
Co do samego blameless culture, uważam że jest to bardzo ważny czynnik w procesie rozwoju całej firmy i bez takiego podejścia nigdy nie przekroczymy pewnego pułapu jakości.