Szablon inżynierskiego postmortem (bez obwiniania, gotowy do działania)
Dlaczego postmortemy zamieniają się w sesje obwiniania
Postmortemy zawodzą w konkretny sposób: sala zaczyna przypisywać przyczynę, zanim sala ma wspólną oś czasu. Ktoś mówi „to wdrożenie to spowodowało", zanim potwierdzono czas wdrożenia. Ktoś inny mówi „alert się nie odpalił", nie wiedząc, czy alert był w ogóle skonfigurowany na ten scenariusz. Rozmowa staje się debatą o przyczynowości, zanim ktokolwiek ustalił, co naprawdę się wydarzyło i w jakiej kolejności.
Rozwiązanie jest strukturalne: zbuduj oś czasu incydentu wspólnie na początku postmortem, zanim ktokolwiek nazwie przyczynę źródłową. Gdy cała sala spojrzy już na ciąg zdarzeń — co się zmieniło i kiedy, kto co zobaczył i o której — przyczynę omawia się dużo łatwiej i dużo mniej prawdopodobne jest, że stoczy się w obwinianie. To błąd w kolejności, który popełnia większość szablonów: stawiają przyczynę źródłową przed osią czasu, bo przyczyna źródłowa jest tym, po co szablon istnieje. Ale to oś czasu sprawia, że przyczyna źródłowa jest uczciwa.
Agenda (do skopiowania)
Czas trwania: 60 minut dla prostego incydentu; 90 minut dla złożonych awarii wielosystemowych
Format: prowadzony; obecni wszyscy reagujący i inżynier dyżurny; przygotowanie asynchroniczne z dokumentem do wcześniejszej lektury
Sekcja 1 — Podsumowanie incydentu (5 min)
- Daty i czas trwania incydentu
- Klasyfikacja dotkliwości i systemy dotknięte awarią
- Kto wykrył i jak (zgłoszenie klienta, alert, inżynier, monitoring)
- Ta sekcja jest wyłącznie faktograficzna; jeszcze bez analizy
Sekcja 2 — Oś czasu (20 min)
- Buduj oś czasu wspólnie na ekranie — nie gotowy wcześniej dokument
- Sekwencja: co się zmieniło, co zaobserwowano, kto zadziałał, co postanowiono
- Każdy znacznik czasu powinien mieć źródło (wpis w logu, PagerDuty, wiadomość na Slacku)
- Gdy oś czasu jest kompletna, zapytaj: czy wszyscy się zgadzają, że tak to wyglądało? Rozwiąż rozbieżności, zanim pójdziecie dalej
Sekcja 3 — Podsumowanie wpływu (5 min)
- Wpływ na klientów: kogo dotknęło, na jak długo, w jaki sposób
- Wpływ biznesowy: przychody, SLA, reputacja
- Wpływ wewnętrzny: godziny dyżuru, zakłócenie pracy zespołu
- Trzymaj to faktograficznie; kotwiczy pytanie „jak źle było" bez komentarzy oceniających
Sekcja 4 — Przyczyna źródłowa i czynniki współprzyczyniające się (20 min)
- Przyczyna źródłowa: najbliższa zmiana lub warunek, który umożliwił incydent
- Czynniki współprzyczyniające się: warunki, które go pogorszyły, utrudniły wykrycie lub spowolniły rozwiązanie
- Najbardziej użyteczne postmortemy identyfikują 3–5 czynników współprzyczyniających się obok przyczyny źródłowej; naprawienie samej przyczyny źródłowej często pomija systemowe warunki
- Dla każdego czynnika zapytaj: czy jakaś osoba lub zespół podjęły decyzję, która wydawała się rozsądna przy dostępnych informacjach? Jeśli tak, czynnik jest systemowy, a nie osobisty
Sekcja 5 — Co poszło dobrze (5 min)
- Które wykrywanie lub reagowanie zadziałało lepiej, niż się spodziewano?
- Który istniejący proces lub narzędzie ograniczyły promień rażenia?
- To praktyki warte sformalizowania — jeśli runbook zaoszczędził 20 minut, odnotuj to, żeby runbook był utrzymywany
Sekcja 6 — Zadania (15 min)
- Każde zadanie odnosi się do przyczyny źródłowej lub czynnika współprzyczyniającego się — nie do ogólnego usprawnienia
- Jeden właściciel na zadanie; termin dostarczenia odzwierciedlający pilność
- Skategoryzuj: wykrywać szybciej / naprawiać szybciej / zapobiegać nawrotom
- Ogranicz się do działań, które zespół realnie ukończy przed kolejnym incydentem, a nie do wyczerpującej roadmapy niezawodności
Co sprawia, że szablony postmortem zawodzą
Kolejność zaczynająca od przyczyny źródłowej to główny problem strukturalny — omówiony już wyżej. Drugi to traktowanie „zadań" jako jednej kategorii. Usprawnienia wykrywania, usprawnienia naprawy i usprawnienia zapobiegania wymagają różnych właścicieli i różnych terminów. Mieszanie ich wytwarza listę rozciągniętą na sześć miesięcy i trzy zespoły, przez co odpowiedzialność się rozmywa i żadne z tych zadań nie zostaje dostarczone.
Trzeci tryb porażki to pomijanie „co poszło dobrze", bo po incydencie sprawia to wrażenie niestosownego optymizmu. Tak nie jest — to jedyny systematyczny sposób, by zidentyfikować i sformalizować praktyki, które zadziałały pod presją. Jeśli monitoring, który wychwycił problem, nie był na niczyjej roadmapie do zbudowania, to dowiedzenie się, że okazał się ważny, warto udokumentować. Inaczej zostaje zdeprecjonowane po tym, jak incydent przygaśnie, a następnym razem będziesz ślepy.
Kumulujący się koszt incydentów, w których czynniki współprzyczyniające się pozostają nieadresowane, a działające runbooki nieutrzymywane, narasta szybko. Podatek od spotkań omawia, jak powracający narzut spotkań i dług przeglądów incydentów wchodzą w interakcję.
Dlaczego przechwytywanie postmortem jest wyjątkowo trudne
Dyskusje na postmortem szybko wytwarzają gęstą, nieustrukturyzowaną treść: odtwarzanie osi czasu, konkurujące interpretacje, przypisywanie zadań wielu osobom, szczegóły techniczne, które w transkrypcji nie będą miały sensu bez kontekstu. Podsumowanie postmortem pisane z pamięci lub z edytowanego dźwięku jest niemal zawsze niekompletne, a niekompletne zapisy postmortem są bezużyteczne do rozpoznawania wzorców w wielu incydentach.
Pavleur przechwytuje pełną dyskusję postmortem i generuje raport automatycznie — oś czasu w postaci, w jakiej ją odtworzono, czynniki współprzyczyniające się w brzmieniu, jakie padło, zadania z właścicielami i kategoriami, tak jak podano na spotkaniu. Jeśli ktoś udostępnił ekran, by pokazać wycinek logu, wykres monitoringu czy konfigurację alertu, który się nie odpalił, ten materiał wizualny jest częścią raportu. Narzędzia oparte tylko na dźwięku całkowicie to gubią; zapis postmortem bez wykresów to zapis bez dowodów. Każdy w zespole — w tym inżynierowie, którzy dołączyli po incydencie — może przeczytać pełny zapis z kontekstem wizualnym bez proszenia kogoś o jego odtworzenie. Bezpośrednie porównanie z innymi narzędziami pod tym kątem: Pavleur na tle alternatyw.
O częstotliwości postmortem
Przeprowadź postmortem w ciągu 48 godzin od rozwiązania incydentu, póki szczegóły są świeże. Im dłużej zwlekasz, tym bardziej odtwarzanie osi czasu opiera się na pamięci zamiast na logach, a pamięć pod stresem jest zawodna. Dla incydentów o wysokiej dotkliwości lepsze są 24 godziny. Dla drobnych incydentów asynchroniczne postmortemy — wspólny dokument z ustrukturyzowanymi pytaniami, przejrzany synchronicznie — bywają wydajniejsze niż pełne spotkanie. Format spotkania jest najbardziej wartościowy, gdy incydent był na tyle niejednoznaczny lub o wysokiej stawce, że wspólna interpretacja ma znaczenie.