Открыть меню

Дефекты сервиса и RCA

Создано 5 июн. 2026 г. Обновлено 5 июн. 2026 г. 4 мин чтения

Как описывать сервисные дефекты, связывать их с SJM и искать первопричины.

Сервисный дефект — это расхождение между ожидаемым и фактическим поведением всей цепочки доставки сервиса. Это может быть баг приложения, неверное требование, неполная KB-статья, сломанная маршрутизация, недоступные данные первой линии, неправильный SLA timer, неотправленное уведомление или неработающий recovery.

Идея из SJM Source - Куликов Базовый курс 2023: хороший defect report помогает быстрее устранить проблему и снизить вероятность повторения. Для сервисной модели это означает, что отчёт должен быть полезен не только разработчику, но и владельцу сервиса, поддержке, операционному менеджеру и команде изменений.

Жизненный цикл сервисного дефекта

stateDiagram-v2
    [*] --> Обнаружен
    Обнаружен --> Назначен: triage
    Назначен --> Исправлен: fix/process update
    Исправлен --> Проверен: verification
    Проверен --> Закрыт: accepted
    Исправлен --> Открыт_заново: reproduced again
    Проверен --> Открыт_заново: regression failed
    Обнаружен --> Отклонён: not a defect/duplicate
    Назначен --> Отложен: deferred
    Отложен --> Назначен: resumed
    Закрыт --> Открыт_заново: повторное проявление

Поля сервисного defect report

ПолеЧто писать
Краткое описаниечто произошло, где и при каких условиях
Подробное описаниефактический результат, ожидаемый результат, ссылка на требование/oracle
Шаги воспроизведенияминимальная последовательность действий или событий
Воспроизводимостьвсегда, часто, редко, один раз, зависит от условий
Важностьcustomer harm, финансовый, операционный, регуляторный или репутационный impact
Срочностькогда нужно исправить с учётом SLA, релиза, инцидента, клиента
Симптомкак проблема видна клиенту, поддержке, мониторингу или отчёту
Обходной путьworkaround, ручная операция, fallback, компенсация
Evidenceтикет, лог, trace id, SLA report, скрин, запись звонка, мониторинг
СвязиSJM шаг, BPMN задача, требование, test case, incident, change request
Ownerпродукт, IT, процесс, поддержка, риск/compliance, vendor

Схема RCA

flowchart TD
    A[Наблюдаемое проявление] --> B[Собрать evidence]
    B --> C[Выдвинуть гипотезу]
    C --> D[Проверить гипотезу]
    D --> E{Подтвердилась?}
    E -->|Нет| C
    E -->|Да| F{Это первопричина?}
    F -->|Нет| C
    F -->|Да| G[Рекомендация по устранению]
    G --> H[Change request]
    H --> I[Обновить SJM/BPMN/KB/tests/monitoring]

Как отличать симптом от причины

УровеньПример в сервисеЧто делать
Симптомклиент видит непонятный статусзафиксировать, где и когда статус показан
Поверхностная причинаCRM получила статус unknownнайти источник статуса и событие, которое его создало
Глубжеинтеграция вернула timeout, workflow не обработал retryпроверить retry/fallback и правила исключений
Первопричинав требованиях не описана ветка timeout или нет owner для ручного восстановленияизменить модель, требования, workflow, KB и regression
Условиямониторинг не ловит зависшие заявки, поддержка не видит trace idдобавить observability и support tooling

Шаблон defect report

## Краткое описание

## Фактический результат

## Ожидаемый результат

## Где проявилось
- SJM шаг:
- BPMN задача/статус:
- Система:
- Канал:

## Условия
- Клиент/сегмент:
- Данные:
- Интеграции:
- Время/SLA:

## Шаги воспроизведения
1.
2.
3.

## Evidence
- Тикет:
- Лог / trace id:
- SLA report:
- Скрин / запись:

## Impact
- Клиент:
- Операции:
- Риски/compliance:

## Workaround

## Гипотеза о причине

## Что обновить после исправления
- [ ] SJM
- [ ] BPMN
- [ ] Workflow
- [ ] KB
- [ ] Regression set
- [ ] Monitoring / alert

Практический чек-лист

  • В отчёте один дефект, а не набор несвязанных проблем.
  • Есть ожидаемый и фактический результат.
  • Указан oracle: требование, SLA, KB, регламент, system of record.
  • Есть достаточно деталей для воспроизведения.
  • Severity и urgency объяснены через impact, а не через эмоцию.
  • Перед созданием проверены дубликаты.
  • Evidence приложено или указано ссылкой.
  • После исправления дефект связан с regression check.
  • Повторяющиеся дефекты переведены в problem/RCA и change request.

Советы

  • Не описывать только “клиент жалуется”; описывать, какое ожидание сервиса нарушено.
  • Не использовать reopen для нового дефекта: новый дефект требует нового отчёта, иначе теряются метрики и история.
  • Если дефект не воспроизводится, сохранить условия, evidence и гипотезы: в сервисах редкие дефекты часто зависят от данных, времени, очередей и интеграций.
  • Для incident-review полезнее defect report с traceability, чем длинный свободный рассказ.

Источники

Живой сад

Этот текст можно улучшать вместе

Нашёл опечатку?

Выдели фрагмент в заметке и нажми «Сообщить» — откроется короткая форма с контекстом.

Хочешь обсудить?

Ниже можно оставить комментарий через Telegram, когда заметка связана с публикацией канала.

Telegram-комментарии

Добавь `telegramPostId` в публичную заметку, чтобы здесь появился виджет обсуждения.

Источник: публичный слой Obsidian Vault.