Як писати чіткий інцидент Post-Mortem

Практичний посібник з написання ефективних пост-мортемів інциденту англійською мовою — структура, мова, бездоганне оформлення і фрази, які чітко комунікують.

Пост-морт (також називається звітом про інцидент або ретроспективою) є одним з найважливіших документів, які виробляє інженерна команда. Хорошо сделано, оно фиксирует, что произошло, почему это произошло, и что поможет предотвратить повторение. Погано зроблене, це приписує провину, закриває справжні причини і нічого не вчить.

Цей посібник охоплює структуру, мову і конкретні фрази, які роблять пост-мортем ясним, чесним і корисним.


Невідомий англійською мовою

Перед тим, як написати слово, зрозумійте це: хороший пост-морт фокусується на системах і процесах, а не на особистісях. Це називається безвинною пост-мёртвой культурою.

По-англійськи це означає:

Blame language (avoid)Blameless language (use)
“The engineer accidentally deleted the database.""The production database was deleted during a manual migration step."
"DevOps failed to set up monitoring.""Monitoring was not configured for this service at the time of the incident."
"The developer didn’t test this properly.""The change was merged without integration tests covering this code path.”

Пассивний голос - твій друг в пост-мортальних розслідуваннях. Вона описує що сталося без вказівки на хто це зробив.


Стандартна пост-мортальна структура

1. Резюме інциденту

Обзор в 2-4 предложениях того, что произошло, когда и насколько это было серьезно:

“11 червня 2026 року служба автентифікації користувача була недоступна приблизно 47 хвилин, що вплинуло на всіх користувачів, які намагалися увійти. Інцидент розпочався о 14:23 UTC і був вирішений о 15:10 UTC. Було вражено близько 12 000 користувачів. ”

Не перебільшуй. Тут немає інтерпретації — лише факти заголовків.

2. Графік

Хронологічний журнал подій. Використовувати простий і неперервний минулий час:

“14: 23 — Автоматичне попередження про підвищений рівень помилок у службі автентифікації.” “14:31 — Дежурний інженер підтвердив попередження і почав розслідування.”

  • “14: 45 — Виявлено кореневу причину: неправильно налаштована змінна середовища в останньому розгортанні.” * “15:07 — Виправлення впроваджено в виробництво.”
  • “15: 10 — Частота помилок повернута до нормального значення. Інциденту покінчено

3-й. Аналіз причинного зв’язку

Це найважливіший розділ. Поясніть * чому * інцидент стався, а не тільки * що * сталося:

  • “Головною причиною було відсутність змінної середовища у виробничих налаштуваннях. Ця змінна була додана до стадіонарного середовища, але не була включена в контрольний список виробничого розгортання.”*
  • “Причиною цього стала відсутність інтеграційних тестів, що охоплюють взаємодію між шаром кешу і базою даних. Вада була присутня в коді, але не виявлена лише за допомогою тестів одиниць. ”*

Використовуйте фразу ** « основна причина » ** для позначення головної технічної причини, і ** « фактори, що спричинили » ** для позначення другорядних проблем:

“Фактори, що сприяли цьому: відсутність функціональних прапорців для цього випуску, недостатній моніторинг нової служби, і тиск часу від квартального терміну.”

Оцінка впливу

“Вплив на користувачів: входження було недоступним протягом 47 хвилин, що вплинуло на приблизно 12 000 користувачів в регіоні ЄС. Дані не втрачено. Не було вплине на обробку платежу.”

Будьте точні щодо обсягу: скільки користувачів, які регіони, які функції і які дані (якщо такі є) було вплине.

5-й. Все йшло добре

Бездоганний огляд тіла також показує, що працювало:

“Подразнені ротації відповіли протягом 8 хвилин з моменту початкової попередження. Інциденти були чітко і своєчасно повідомлені - сторінку статусу було оновлено протягом 12 хвилин. Процедура відновлення працювала як очікувалося.”

6. Елементи дій

Для кожного елемента дії потрібні власник і термін виконання:

  • “Дія: Додати перевірку змінних виробничого середовища до списку перевірки розгортання. Власник: [Команда розробників платформи]. Дата виходу: 20 червня 2016 року
  • “Дія: Створити інтеграційні тести для взаємодії кешу з базою даних. Власник: [команда сервера]. Дата виходу: 30 червня 2016 року
  • “Дія: Додати попередження щодо порогу частоти помилок у службі автентифікації. Власник: [команда SRE]. Дата виходу: 18 червня 2017 року

Поширені фрагменти для пост-модернізму

Опис хронології:

“Приблизно…” “Незабаром після…” “В течение нескольких минут…” “Ситуація погіршилася, коли…”

Опис причини:

“Інцидент був викликаний…” “Кореневой причиной было определено…” “Це було ускладнено…” “Внесок у це був…”

** Опис роздільної здатності: **

  • “Проблему було вирішено поверненням розгортання.” * “Нормальний сервіс відновлено о… ” “Мониторинг подтвердил выздоровление на… ”

Опис майбутньої профілактики:

“Щоб уникнути повторення, ми будемо…” “Вперед, команда буде…” “Ми виявили наступні прогалини в нашому процесі…”


Тон і довжина

Хорошее вскрытие:

  • ** Факти, а не емоції. ** Притримуйтесь того, що сталося і що зміниться.
  • Стислий, але повний. Охоплюйте кожен розділ, але не заповнюйте його. 600-1000 слів - типово.
  • ** Можливість виконання дії. ** Кожна визначена проблема має мати відповідний елемент дії.
  • ** Вчасно. ** Записати його протягом 48-72 годин, поки пам’ ять свіжа.

Уникайте таких фраз при пост-мортемі:

  • «На жаль» (занадто неформально)
  • «На щастя» (зменшує тяжкість)
  • «Людська помилка» (надто нечітка і часто перекидання вини в замаскованому вигляді)
  • «Ніколи більше» (надмірне зобов’язання без плану)

Написання чітких описів смерті - це ознака інженерної зрілості. Вони показують, що ваша команда сприймає невдачі як можливість навчитися — і що ви спілкуєтеся про проблеми з такою ж суворістю, якою ви спілкуєтеся про написання коду.

Національні мови: мова рідного народу, мова ненаціональних меншин

Написання чіткого пост-морта є ключовим для вивчення інцидентів, але нюанси професійної англійської мови можуть бути особливо викликом для розробників, чия перша мова не є англійською. Це не просто передавання інформації; це про те, щоб зробити це таким чином, що сприяє співпраці і уникнення непорозумінь. Давайте розглянемо деякі поширені пастки і представимо фрази, спеціально розроблені, щоб допомогти не-рідним носіїв ефективно сформулювати свої думки під час цього критичного процесу.

Однією з найчастіших проблем є тенденція перекладати безпосередньо з рідної мови, що призводить до незграбного фразування або надмірно буквальних інтерпретацій технічних термінів. Наприклад, розробник може інстинктивно сказати «Я * спричинив * відключення» при описі ситуації, коли вони зневаджували несправну службу. Хоча намір ясний, ця фраза негайно вводить потенційно негативну конотацію - що означає звинувачення. Замість цього, розгляньте альтернативи, такі як «Я досліджував кореневу причину» або «Я визначив фактор, що сприяв». Сфокусування на діях і спостереженнях, а не на приписуванні відповідальності, значно поліпшить ясність і сприяє культурі безвинності. Аналогічно, використання фраз на кшталт «визначено потенційну проблему» часто краще, ніж «створено помилку», що означає помилку.

Іншою областю, що потребує ретельної уваги, є використання умовної мови. Розробники, природно, схильні описувати події з точним деталюванням, але надмірна покладання на абсолютні висновки може створити тривогу і оборону. Замість того, щоб сказати « Сервер зламався * через * зміну коду, » більш конструктивно сказати « Ми спостерігали нестабільність в сервері після розгортання версії 2.3.1. » Цей підхід підтверджує спостереження без негайного призначення причинності. Крім того, при обговоренні потенційних рішень, такі фрази, як «ми повинні розглянути» або «може бути вигідно дослідити» є кращими за декларативні висловлювання, такі як «ми * повинні * реалізувати»

Нарешті, зверніть увагу на мову, яку використовують у каналах Slack і описах запитів на витягування. У короткому повідомленні може бути написано: « Виправлено помилку у службі X ». Хоча це технічно правильно, у повідомленні не вистачає контексту. Більш гладка фраза буде: «Розв’язана проблема одночасності в службі X, яка періодично викликала періодичні перерви - що вплинуло приблизно на 10% користувачів. Досліджено за допомогою інструментів відстеження і виявлено умову переслідування у модулі розпізнавання». Цей рівень деталізації показує ретельність і бажання зрозуміти вплив проблеми. Пам’ ятайте, чітке спілкування створює довіру і сприяє ефективному вирішенню проблем, незалежно від рівня вашого володіння рідною мовою. Сфокусуйтесь на тому, щоб показати, що ви розумієте що сталося і чому, а не просто стверджуйте, що це сталося.

Поширені запитання

Про що ця стаття "Як писати чіткий інцидент Post-Mortem"?

Практичний посібник з написання ефективних пост-мортемів інциденту англійською мовою — структура, мова, бездоганне оформлення і фрази, які чітко комунікують.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Як писати чіткий інцидент Post-Mortem"?

Приблизно 8 min.