{"id":24481200,"url":"https://github.com/mrsimonemms/post-mortems","last_synced_at":"2025-04-13T15:36:43.631Z","repository":{"id":249641775,"uuid":"830972691","full_name":"mrsimonemms/post-mortems","owner":"mrsimonemms","description":"How to run effective incident post-morterms","archived":false,"fork":false,"pushed_at":"2024-07-22T15:20:39.000Z","size":48,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T14:41:09.540Z","etag":null,"topics":["incident-management","incidents","post-mortem"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrsimonemms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-19T11:18:56.000Z","updated_at":"2024-07-23T05:13:06.000Z","dependencies_parsed_at":"2024-07-22T12:56:17.989Z","dependency_job_id":null,"html_url":"https://github.com/mrsimonemms/post-mortems","commit_stats":null,"previous_names":["mrsimonemms/post-mortems"],"tags_count":0,"template":false,"template_full_name":"mrsimonemms/new","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrsimonemms%2Fpost-mortems","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrsimonemms%2Fpost-mortems/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrsimonemms%2Fpost-mortems/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrsimonemms%2Fpost-mortems/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrsimonemms","download_url":"https://codeload.github.com/mrsimonemms/post-mortems/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248737703,"owners_count":21153832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["incident-management","incidents","post-mortem"],"created_at":"2025-01-21T11:19:49.662Z","updated_at":"2025-04-13T15:36:43.612Z","avatar_url":"https://github.com/mrsimonemms.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Post-mortems\n\nPost-mortem documents to learn lessons from our incidents\n\n\u003c!-- toc --\u003e\n\n* [What is a post-mortem?](#what-is-a-post-mortem)\n  * [Guiding principles](#guiding-principles)\n    * [Open](#open)\n    * [Blameless](#blameless)\n    * [Constructive](#constructive)\n* [Creating a new incident](#creating-a-new-incident)\n  * [Open in a container](#open-in-a-container)\n  * [Commit style](#commit-style)\n\n\u003c!-- Regenerate with \"pre-commit run -a markdown-toc\" --\u003e\n\n\u003c!-- tocstop --\u003e\n\n## What is a post-mortem?\n\nOur software will break. The only way to write truly secure and reliable applications\nis to write [no code](https://github.com/kelseyhightower/nocode/).\n\nWe must learn from our mistakes so that these issues don't cascade.\n\n### Guiding principles\n\n\u003e For more information on the subject, see the [Google SRE book](https://sre.google/sre-book/postmortem-culture/)\n\nIn order to be effective, our post-mortems must be:\n\n* open\n* blameless\n* constructive\n\n#### Open\n\nThe software we make for our customers is not built in isolation. No one person\nknows everything about everything we build, so we cannot expect to solve all problems\nby working in isolation.\n\nTrust is fostered by honesty. This repository is open to all.\n\n#### Blameless\n\nAn atmosphere of blame leads to a culture where problems are ignored.\n\nIf we feel like we're blamed for a problem, we get fearful for our jobs. Problems\nthat are easily solvable become magnified because we will be blamed. Oftentimes,\nby apportioning blame we miss the root cause and the opportunity of preventing the\nproblem from recurring.\n\nIn its simplest form, Person A may have done something wrong, but they were only\nable to make that mistake because of the systems in place that led to them being\nable to make a mistake. By punishing Person A, it doesn't solve the root cause\nand failure to solve the root cause means that the identity of Person A becomes\npot luck.\n\n\u003e If we have a bad pit stop, it's not because the mechanic has just underperformed,\n\u003e it's because his equipment is not up to the job or the training hasn't been good\n\u003e enough or our wheel nuts are not how they should be.\n\u003e\n\u003e [Toto Wolff, Team Principal, Mercedes F1](https://www.planetf1.com/news/toto-wolff-mercedes-no-blame-culture-status/)\n\nWhen looked at like this, we achieve nothing when we blame the person. We are still\nrelying on luck to avoid a repetition of the problem.\n\n#### Constructive\n\nWe commit that our post-mortems have actions and that we will complete them. Our\nactions will be assigned an owner who is responsible for ensuring that the action\nis completed with a set time.\n\n## Creating a new incident\n\nTo create a new incident, run `make new-incident` and follow the instructions.\n\n### Open in a container\n\n* [Open in a container](https://code.visualstudio.com/docs/devcontainers/containers)\n\n### Commit style\n\nAll commits must be done in the [Conventional Commit](https://www.conventionalcommits.org)\nformat.\n\n```git\n\u003ctype\u003e[optional scope]: \u003cdescription\u003e\n\n[optional body]\n\n[optional footer(s)]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrsimonemms%2Fpost-mortems","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrsimonemms%2Fpost-mortems","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrsimonemms%2Fpost-mortems/lists"}