Проще всего понять, что система сломалась, когда она выдаёт ошибку. Трудный случай, это система, которая работает неверно без ошибки: на экране всё выглядит хорошо, а результат тихо неверен. В этом уроке разбирается, куда и в каком порядке смотреть в такой ситуации.
Этот урок берётся за момент, когда уже построенная автоматизация перестаёт вести себя как ожидалось. Цель в том, чтобы вы находили неисправность не догадкой, а последовательным сужением, и чтобы найденное исправление держалось. Автоматизация стоит на ногах тогда, когда диагностика перестаёт зависеть от того, кто построил систему, и становится умением самого дела.
К концу урока у вас будет порядок диагностики, заполненный лист неисправности и шаг проверки, показывающий, что исправление сработало. Вмешательства без этих трёх вещей часто рождают вторую неисправность.
Предварительное условие: карта процесса из первого урока. Именно с этой письменной ожидаемой картиной вы сравниваете во время поиска.
Фраза «не работает» покрывает сразу три разные ситуации, и каждая диагностируется с другого места. Если в начале разговора отделить, с каким видом вы имеете дело, область поиска сужается сразу.
Автоматизация не идёт вовсе. Триггер не доходит либо она падает на первом шаге. Это самый лёгкий вид, потому что симптом виден и обычно оставляет след в журнале.
Поток идёт, создаёт записи, не подаёт сигнала, но результат неверен. Это самый дорогой вид, потому что ошибка копится неделями, а уборка, когда её замечают, тянется назад.
Результат верен, но приходит не вовремя. Обычно дело не в одной поломке, а в накопленной нагрузке или недавно добавленном шаге. Без измерения этот вид остаётся спорным.
Общее у всех трёх такое: пока ожидание не записано, неисправность не определить. Фраза «так быть не должно» не превращается в диагноз без записанного «должно было быть так».
Автоматизация редко ломается с шумом. Сообщения об ошибке нет, красным ничего не горит, поток выглядит зелёным. И всё же выход неверен: сообщение уходит не тому человеку, поле остаётся пустым, запись открывается дважды, дата пишется в другом виде.
Источник тихой неисправности обычно в том, что вход поменял форму. В форме открылось новое поле, портал начал присылать номер телефона иначе, сотрудник заполнил поле по своему. Правило осталось прежним, вход изменился, и результат тихо съехал.
Последний пункт важнее прочих. Как только команда начала править выход руками, система уже сломана; поскольку никто не сообщил, неисправность не попала ни в один журнал.
Если то, что вчера работало, сегодня не работает, между этими днями что то изменилось. Это первый вопрос диагностики, и большая часть неисправностей закрывается им. В системах без списка изменений тот же вопрос занимает часы.
Изменение случается не только в системе. Оно бывает и в процессе, и в людях, и во входе. Сотрудник мог уйти, портал мог переименовать поле, поставщик мог обновить формат файла. Начинайте поиск с этого списка, а не изнутри кода.
Диагностика начинается с записи симптома. «Не работает» — это не симптом, а ощущение. Симптом таков: на какой записи, когда, что ожидалось и что случилось вместо этого. Пока эти четыре поля не заполнены, область поиска не сужается.
Записывая симптом, берите ожидаемый результат из карты процесса первого урока. Карты нет — сначала пишется она; диагностика без записанного ожидания превращается в сравнение чьей то памяти с поведением системы.
Последние два вопроса задают направление. Если неисправность на одной записи, дело скорее во входе; если на всех — в правиле; если на части — в условии.
Не чините то, что не можете воспроизвести. Без примера, повторяющего неисправность по вашему желанию, вы не сможете и показать, помогло ли ваше изменение. Многие неисправности, которые считают устранёнными, на деле просто не повторились в тот день.
Воспроизвести значит провести ту же запись в тестовой среде или на безвредном примере. Если пробовать приходится на живой системе, выберите обратимый шаг и предупредите команду заранее.
Самый быстрый способ сузить область поиска — разрезать поток посередине. В точке посередине данные верны или неверны? Верны — неисправность во второй половине, неверны — в первой. Каждое деление оставляет половину поля для разбора.
Метод работает независимо от инструмента. Один и тот же вопрос задаётся при взгляде на карточку записи, промежуточную таблицу, отправленное сообщение или журнал системы: дошли ли данные сюда верными?
После каждого деления записывайте результат. Незаписанные деления повторяются, и диагностика тянется из за повторного разбора одних и тех же мест.
Когда область сузилась, прощупайте по порядку пять частей из первого урока. Шесть источников ниже встречаются в поле чаще всего, и большинство диагнозов закрывается внутри них.
Событие могло вовсе не дойти. Связь могла оборваться, срок доступа мог истечь, адрес мог смениться. Если запись не создалась, неисправность у двери потока, а не внутри него.
Это самый частый источник. Поле могли переименовать, дата может приходить в другом виде, ведущий ноль мог отпасть, пробел или заглавная буква могут отличаться.
Могла появиться новая ситуация, выпавшая из записанных путей. Записи вне условий обычно тихо отпадают, потому что для них не написан путь.
Пароль мог смениться, ключ мог истечь, пользователя могли удалить. Такие неисправности начинаются внезапно в один день и заранее не предупреждают.
Два шага могли пойти в неверном порядке, либо один стартовал, не дождавшись данных другого. Неисправности, выходящие в часы нагрузки и не выходящие в тихие часы, обычно здесь.
Другая сторона могла не принять: поле стало обязательным, лимит заполнился, формат отклонили. Когда возвращённый ответ не читают, эта неисправность остаётся немой.
Не меняйте несколько вещей сразу. Сделаете два изменения и результат станет лучше — неизвестно, какое помогло; станет хуже — неизвестно, какое сломало. В этой точке диагностика возвращается к догадке.
После каждого изменения снова прогоняйте пример из второго шага. Проверка охватывает и уход неисправности, и то, что ничего другого не сломалось. Для этого заранее выпишите, какие записи шли верно.
Убрать неисправность — половина работы. Вторая половина в том, чтобы поставить отметки, мешающие той же неисправности снова возникнуть тихо. Без этого тот же диагноз ставится заново через несколько месяцев.
Стойкость даётся тремя вещами: сигналом там, где неисправность проявилась бы, проверкой границ входа и определённым путём исключения. Все три живут внутри самой автоматизации и не требуют отдельной системы.
Разберём метод на одной неисправности от начала до конца. Пример идёт по потоку продаж, но порядок одинаков в любом потоке.
Симптом: клиенты с новыми заявками не получают письмо с предложением. Первым заметил отдел продаж: за прошлую неделю несколько клиентов ждали ответа. Записи, судя по всему, создались.
Что изменилось: за последние две недели в форму добавили новое поле, и на стороне портала было обновление. Два кандидата.
Воспроизведение: одну из затронутых записей прогоняют снова с тем же входом. Неисправность повторяется, значит измеримый пример есть.
Деление пополам: смотрят таблицу в середине потока. Запись там, но поле почтового адреса пусто. Значит неисправность в первой половине, на стороне входа.
Пять частей: смотрят формат входа. Новое поле формы переименовало почтовое поле. Поток ищет старое имя, не находит, передаёт пустое значение, и шаг письма тихо отпадает.
Одно изменение и проверка: поток правят так, чтобы он читал новое имя поля. Пример неисправности прогоняют снова, письмо уходит. Прогоняют и две записи, которые раньше шли верно, они по прежнему верны.
Закрепление: если почтовое поле пусто, поток теперь останавливается, запись ждёт, а руководителя извещают. Имя поля на карте процесса обновляют. Другой поток с тем же полем прощупывают и правят тоже.
Диагностика не то умение, которое учат в день появления неисправности. Отрепетированное в спокойный день, оно готово в нужный день. Для этого и упражнение ниже.
Каждый поток, проходящий тихо, — это поток, который позже родит тихую неисправность. Это упражнение поднимает на поверхность хотя бы один такой в большинстве дел.
Скачать контрольный список диагностики (xlsx) · лист неисправности, что изменилось, деление потока пополам, проверка пяти частей и шаги стойкого исправления.
Первым смотрят обычно правило, хотя самый частый источник — вход. Если правило со вчера не менялось, изменились скорее данные, доходящие до него.
Сделать два изменения и посмотреть на результат — не закончить диагностику, а размыть её. Какое изменение что сделало, остаётся неизвестным, и исправление становится неповторимым.
Исправление, сделанное на неповторяемой неисправности, нельзя проверить. Неисправность какое то время не видна, потом возвращается с того же места.
Большинство потоков где то записывает, что они сделали. Диагностика без журнала — это догадки без того, чтобы слушать, что говорит система.
Симптом, передаваемый на словах, меняется при каждой передаче. Незаписанный симптом превращается в диагностику, где двое ищут две разные неисправности.
Неисправность, закрытая без сигнала и проверки, возвращается в том же виде. При втором приходе диагностика начинается заново, и доверие снова истончается.
Прежде чем закрыть неисправность, стоит уметь сказать «да» каждому пункту ниже. Если пункта не хватает, неисправность не закрыта, а отложена.
Термины, звучащие в разговорах о диагностике. Когда у команды общий язык, передача неисправности идёт быстрее.
В этом уроке мы разбирали последовательное сужение неисправности и закрепление исправления; вы увидели, что большая часть неисправностей выходит со стороны входа.
Остальные модули программы готовятся. По мере выхода они занимают свои места в программе и появляются на странице обучения.
Журнал исключений, путь оповещения и измерение, которое делает тихий сбой видимым.
Словарь полей и правила вида записи. Большинство неисправностей начинается на этой стороне.
Раздел обучения целиком и добавленные позже модули.
Если подозреваете, что система тихо работает неверно, напишите нам и посмотрим вместе.
Запросить через WhatsApp