Logo of Bellerive Country Club with humorous rhyme: "

aEen post-mortem is een retrospectieve analyse van een incident of storing in een softwaresysteem. Een post-mortem heeft als doel de hoofdoorzaak van het probleem te identificeren, de reactie op het incident te evalueren en een plan te ontwikkelen om soortgelijke incidenten in de toekomst te voorkomen door verbeteringen aan te brengen in het softwaresysteem of de processen.

Post-mortems moeten zo snel mogelijk na het oplossen van het incident worden gehouden, terwijl de details van de gebeurtenis nog vers in het geheugen liggen van de betrokken teamleden. Bij de analyse moeten verschillende belanghebbenden worden betrokken, waaronder ontwikkelaars, operationeel personeel en bedrijfsleiders.

Waarom post-mortems?

Post-mortems zijn om verschillende redenen cruciaal voor het verbeteren van de betrouwbaarheid van softwaresystemen:

  1. Postmortems helpen bij het identificeren van de hoofdoorzaak van een probleem: Door het analyseren van het incident kan het team de hoofdoorzaak van het probleem identificeren, die te wijten kan zijn aan een bug in de code, een verkeerde configuratie van het systeem of een storing van een service van een derde partij. Zodra de hoofdoorzaak is geïdentificeerd, kan het team een plan ontwikkelen om deze aan te pakken.
  2. Postmortems maken continue verbetering mogelijk: Door incidenten te analyseren en plannen te ontwikkelen om soortgelijke incidenten te voorkomen, kan het team de betrouwbaarheid van het systeem continu verbeteren. Dit helpt om ervoor te zorgen dat het systeem beter bestand is tegen toekomstige storingen en dat de uitvaltijd tot een minimum wordt beperkt.
  3. Postmortems bevorderen samenwerking: Post-mortems vereisen input van meerdere belanghebbenden, waaronder ontwikkelaars, operationeel personeel en bedrijfsleiders. Dit stimuleert samenwerking en communicatie tussen teams, wat leidt tot een beter begrip van het systeem en zijn afhankelijkheden.
  4. Post-mortems bevorderen een cultuur van verantwoordelijkheid: Door het uitvoeren van post-mortems neemt het team verantwoordelijkheid voor het probleem en verplicht het zich om het systeem te verbeteren. Dit bevordert een cultuur van verantwoordelijkheid en moedigt teamleden aan om verantwoordelijkheid te nemen voor de betrouwbaarheid van het systeem.

Hoe implementeer je een post-mortemproces?

Om het SRE-concept van een schuldloze postmortem te implementeren, kun je de volgende stappen volgen:

  1. Sticht een cultuur van schuldloosheid: Het is essentieel om een blame-free omgeving te creëren waar teamleden openlijk problemen kunnen bespreken zonder angst om gestraft te worden. Moedig teamleden aan om verantwoordelijkheid te nemen voor hun fouten en hun ervaringen te delen, zodat iedereen ervan kan leren.
  2. Bepaal de reikwijdte en het doel van de postmortem: Bepaal wat je wilt bereiken met de postmortem. Bepaal de reikwijdte van het onderzoek, zoals de tijdlijn van het incident, de betrokken systemen en processen en de impact van het incident op het bedrijf.
  3. Verzamel gegevens en bewijs: Verzamel alle relevante gegevens en bewijzen, zoals logboeken, statistieken en incidentrapporten. Gebruik deze om een tijdlijn van het incident te maken en de hoofdoorzaak te identificeren.
  4. Analyseer de gegevens en identificeer de hoofdoorzaak: Voer een gedetailleerde analyse uit om de hoofdoorzaak van het incident te identificeren. Hierbij moeten de bijdragende factoren worden geïdentificeerd, zoals verkeerd geconfigureerde systemen, onvoldoende monitoring of menselijke fouten.
  5. Ontwikkel een herstelplan: Ontwikkel op basis van de analyse een herstelplan dat de hoofdoorzaak van het incident aanpakt. Dit plan moet gericht zijn op het voorkomen van soortgelijke incidenten in de toekomst.
  6. Mededelen van de bevindingen en het herstelplan: Deel de bevindingen van het onderzoek en het herstelplan met alle relevante belanghebbenden. Dit moeten zowel technische als niet-technische teamleden zijn.
  7. Opvolgen van het saneringsplan: Monitor de implementatie van het saneringsplan en volg de voortgang in de loop van de tijd. Zo kunt u eventuele nieuwe problemen identificeren en ervoor zorgen dat het plan effectief is.

Voordat u begint

Alvorens met de autopsie te beginnen, is het cruciaal om ervoor te zorgen dat aan de volgende voorwaarden is voldaan:

  1. Leadership buy-in: Het topmanagement moet het post-mortem proces ondersteunen en teams aanmoedigen om deel te nemen.
  2. Team buy-in: Teamleden moeten de voordelen van het post-mortem proces begrijpen en bereid zijn om deel te nemen.
  3. Resources: Er moeten voldoende middelen worden toegewezen om het postmortemproces te ondersteunen, zoals hulpmiddelen, technici die zijn opgeleid om de hulpmiddelen te gebruiken en tijd reserveren voor het uitproberen van postmortems.

Hoe zit het met de ontwikkelaars?

Om Operations-teams te overtuigen om na elke productie-uitval een post-mortem uit te voeren, kun je de volgende voordelen benadrukken:

  1. Leren van fouten: Post mortems helpen teams bij het identificeren en leren van hun fouten, waardoor ze hun processen en systemen kunnen verbeteren.
  2. Toekomstige incidenten voorkomen: Door de hoofdoorzaak van een incident te identificeren en aan te pakken, kunnen teams soortgelijke incidenten in de toekomst voorkomen.
  3. Teambuilding: Postmortems stimuleren samenwerking en communicatie tussen verschillende teams, waardoor de teamcohesie en -effectiviteit verbeteren.


Hilleberg logo: "Say nothing, they'll blame the dog

Om ontwikkelaars over te halen om mee te doen aan deze post-mortems, kun je benadrukken dat:

  1. Ontwikkelaars spelen een cruciale rol in het waarborgen van de stabiliteit en betrouwbaarheid van het systeem.
  2. Post-mortems bieden ontwikkelaars de mogelijkheid om te leren van incidenten en hun code te verbeteren.
  3. Ontwikkelaars kunnen bijdragen aan het saneringsplan door verbeteringen aan de code of architectuur voor te stellen.

Conclusie

Post-mortems zijn een cruciaal hulpmiddel om de betrouwbaarheid van softwaresystemen te verbeteren. Door incidenten te analyseren, de hoofdoorzaak van problemen te identificeren en plannen te ontwikkelen om soortgelijke incidenten in de toekomst te voorkomen, kunnen teams de betrouwbaarheid en veerkracht van het systeem continu verbeteren. Door een schuldvrije cultuur te creëren, de reikwijdte en het doel van de post-mortem te definiëren en de voordelen van het proces aan alle belanghebbenden te communiceren, kunt u het SRE-concept (Site Reliability Engineering) van een schuldloze post-mortem met succes implementeren.

Sneller en vaker naar productie!

Snellere en productievere DevOps teams met SRE, Error Budgets en Agile Analytics.

  • Implementeer DevOps met Agile Analytics

  • Implementeer Site Reliability met Agile Analytics

  • Implementeer Service Level Objectives met Agile Analytics

  • Implementeer DORA-metrics met Agile Analytics