Skip to content

§8.06 Восстановление после аварии

Время: 45 мин чтение + 30 мин

В одном предложении: Человек думает, что после аварии главное — быстро вернуться к работе, а на самом деле авария без фиксации — потерянный опыт, и следующая авария случится по той же причине, потому что система не выучила урок.

Мем, который снимается. «Главное — не задерживаться на ошибках. Надо быстро вернуться в бой, иначе потеряешь темп.» На самом деле «быстро вернуться» — это ловушка когнитивной экономии. Признать аварию и разобраться в ней требует усилий. Проще «забыть и двигаться дальше». Но без фиксации авария не становится опытом — она остаётся провалом. И если причина не устранена, следующая авария неизбежна. Восстановление — это не просто «починить и ехать», это «починить, понять почему сломалось, и предотвратить повторение».

Понятия. Восстановление — процесс возврата IWE в стабильное состояние после аварии, включающий пять шагов. Превенция — изменение в IWE, предотвращающее повторение аварии. Фиксация — запись в Pack того, что случилось, что делали, что изменили. Пять шагов восстановления: 1) Остановка. Признать аварию: назвать её, зафиксировать время и контекст. 2) Диагностика. Определить тип аварии по классификации §8.05, найти ранние признаки. 3) Коррекция. Конкретное действие, возвращающее систему в рабочее состояние. 4) Превенция. Изменение в IWE: детектор, правило, настройка, протокол. 5) Фиксация в Pack: запись о том, что случилось, как диагностировали, что делали, что изменили. Авария без фиксации — потерянный опыт. Повторяющаяся авария — признак неисправности процесса восстановления.

Объяснение. Восстановление — это не наказание, это инвестиция. Время, потраченное на пять шагов сейчас, экономит часы на будущие аварии. Самый важный шаг — превенция. Коррекция чинит следствие, превенция чинит причину. Пример: авария «потеря фокуса из-за уведомлений». Коррекция: закрыл уведомления, вернулся к задаче. Превенция: настроил фокусный режим, отключил уведомления на уровне ОС, добавил детектор «переключений в час». Без превенции коррекция — латание шин на спущенном колесе. Фиксация в Pack превращает личный опыт в организационный. Когда авария зафиксирована, другой человек может прочитать и избежать. Когда авария не зафиксирована — каждый учится на своих ошибках. Это расточительно. Форма фиксации: дата, тип аварии, ранние признаки, диагностика, коррекция, превенция, статус превенции (внедрена / в процессе). Это не «дневник неудач», это «база знаний о надёжности системы».

На практике. Практика «Восстановление за 30 минут» (30 мин):

  1. Выберите одну аварию за последний месяц. Назовите её и зафиксируйте дату. (5 мин)
  2. Пройдите пять шагов: Остановка — Диагностика — Коррекция — Превенция — Фиксация. Запишите каждый шаг. (20 мин)
  3. Проверьте: есть ли в Pack запись об этой аварии? Если нет — добавьте. Если да — обновите статус превенции. (5 мин)

Типичный кейс. Руководитель проектов тридцати шести лет потерял недельный отчёт из-за конфликта в Git: он и агент одновременно правили один файл, и изменения затёрли друг друга. Он быстро восстановил файл из бэкапа (коррекция) и вернулся к работе. Но через две недели то же самое повторилось. Тогда он прошёл пять шагов. Остановка: авария «потеря данных из-за конфликта». Диагностика: причина — отсутствие правила блокировки файлов, ранний признак — одновременное редактирование. Коррекция: восстановил из бэкапа. Превенция: ввёл правило «перед редактированием — проверить статус в Git», настроил pre-commit hook на проверку конфликтов. Фиксация: запись в Pack с шаблоном проверки. С тех пор конфликтов не было.

Типичная ошибка. «Нет времени на разбор, надо работать.» Ловушка краткосрочной эффективности. Время на разбор — инвестиция. Без неё аварии повторяются, и суммарные потери превышают время на один разбор. Другая ошибка: «Я уже понял, зачем записывать.» Память обманывает. Через месяц вы вспомните, что «было что-то похожее», но не детали. Запись сохраняет детали. Детали — это то, что отличает эффективную превенцию от символического жеста.

Степени мастерства:

  1. Объяснение. Могу назвать пять шагов восстановления и объяснить различие коррекции и превенции. Критерий перехода: прошёл пять шагов для одной аварии и зафиксировал.
  2. Умение. Применяю пять шагов регулярно: после каждой аварии — остановка, диагностика, коррекция, превенция, фиксация. Критерий перехода: три аварии подряд обработаны по протоколу.
  3. Навык. Превенция работает: одна и та же авария не повторяется. Регулярно пересматриваю записи в Pack и обновляю статус. Критерий перехода: коллега заметила, что я «не повторяю одних и тех же ошибок».
  4. Мастерство. В Pack есть база аварий с шаблонами превенции. Новые аварии классифицируются по типу, и превенция применяется из библиотеки. Критерий перехода: другой человек в моей IWE использовал мою базу аварий для предотвращения своей.

Проверка себя.

  • Могу назвать пять шагов восстановления без подсказки
  • У меня есть хотя бы одна зафиксированная авария в Pack
  • Я различаю коррекцию и превенцию: могу назвать пример каждой
  • За последние три месяцы ни одна авария не повторилась по той же причине
  • Я пересматриваю записи об авариях раз в месяц и обновляю статус превенции

На практике. Вспомните последнюю ситуацию, когда работа пошла не так. Не важно, назвали ли вы её аварией. Задайте пять вопросов: Что случилось? Какой тип? Что я сделал, чтобы исправить? Что я изменил, чтобы не повторилось? Где это записано? Если на последний вопрос нет ответа — сделайте запись сейчас. Это и есть восстановление.

См. также: Типы аварий среды — PD.GUIDE.3.S8.SS5, Фильтр знания на входе в пак — PD.GUIDE.3.S8.SS7.

Что дальше. Следующий подраздел — о фильтре знания: как предотвратить превращение Pack в свалку, которая сама становится аварией.