Привет, хабр! Меня зовут Полина. Я несколько лет занималась настройкой и развитием инцидент-менеджмента для eLama.

Благодаря работе нашей команды управление инцидентами с уровня «сообщения техдиру в мессенджере» поднялось до регламентированного и прозрачного процесса, который учитывает особенности поддерживаемого продукта и отвечает потребностям бизнеса.

В этой статье я размышляю над некоторыми вопросами, которые занимали меня саму на разных этапах работы над процессом. Например, могло ли введение регламента [работы с инцидентами] быть менее болезненным для всех сторон? О чем можно было позаботиться раньше? Возможно, кому-то будут полезны выводы, к которым я пришла.

Приоритет – всему голова

На мой взгляд, приоритет – одна из самых важных категорий в контексте работы с инцидентами. Пожалуй, даже самая важная.

В нашем случае приоритизация начала зарождаться на стороне поддержки. Менеджеры отдела стали разделять проблемы на срочные и несрочные. Это учитывалось специалистом, который передавал информацию о некорректной работе системы в разработку – срочные репорты обрабатывались в первую очередь. Но что с ними происходило на стороне разработки, для саппорта оставалось загадкой.

На этом этапе не были учтены, как мне кажется, наиболее важные аспекты работы с приоритетами. Во-первых, определение приоритета не должно выполняться «на глаз». Во-вторых, в приоритетах должны мыслить все участвующие стороны, как минимум, разработка и поддержка.

О критериях

Критерии определения приоритета проблемы в каком-то смысле первичнее списка возможных приоритетов. На начальном этапе работать можно даже с двумя приоритетами. Например, критичным и нормальным. Гораздо важнее прописать, как определить, к какому из них отнести конкретный инцидент.

В части критериев, как мне кажется, нет универсальных решений, потому что должны быть учтены особенности продукта и потребности бизнеса. Вот два простейших примера.

У вас B2C-сервис, которым пользуется множество небольших клиентов. В этом случае показательным может быть количество заафекченных пользователей.

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

С течением времени и список приоритетов, и их критерии могут меняться. Например, в первой итерации процесса у нас было 5 приоритетов – highest, high, medium, low и lowest. Последний отпал в ходе эволюции, потому что для него не нашлось применения на практике.

Приоритет конкретной проблемы тоже изменчив. Он может стать выше или ниже по мере наблюдения за количеством ошибок, обращений от пользователей, потенциальным риском и так далее. 

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

Второй важный плюс такого подхода – мы перестали отвлекать своих разработчиков на каждую мелочь. Если проблема не критичная, значит, ее обсуждение можно отложить до ближайшей планерки, PBR или передать на проработку продакт-менеджеру. 

О синхронности

Таблица приоритетов, с которой мы работаем сейчас, является общей для всех отделов, при этом в регламенте есть четко описанный флоу для каждого уровня критичности. Поэтому когда инциденту присваивается определенный приоритет, все стороны знают, что будет происходить дальше и какие есть ожидания относительно их работы. 

До введения таблицы приоритетов в моей практике был кейс, когда реакция на крайне серьезную проблему со стороны программистов была долгой. Это случилось потому, что изначально разработка не поняла, насколько критична ситуация. Поддержка в то же время была уверена, что всё под контролем и из-за загруженности входящими обращениями не запрашивала апдейта по текущему статусу. Если работать в рамках понятных для всех сторон приоритетов, такого недопонимания не возникнет.

Я думаю, что попробовать работу по четко прописанным приоритетам можно и нужно, даже если вы еще не работаете с багтрекинговыми системами и даже не регистрируете инциденты. Да, у вас не будет наглядной иконки на тикете, но настройка бизнес-процессов — это, в первую очередь, про мышление и коммуникацию. Инструментальные решения на этом этапе могут быть самыми разнообразными в зависимости от ваших вводных.

Программистский для начинающих

В идеальном мире все инциденты предупреждаются до того, как о них узнали внешние пользователи: системы мониторинга и алертов работают бесперебойно, а дежурные разработчики реагируют молниеносно. Безусловно, это то, к чему стоит стремиться. Но, к сожалению, в действительности так работает далеко не всегда, и бывает, что команды узнают о проблемах от поддержки, а те, в свою очередь, от пользователей. 

Здесь важно отметить, что наши продукты поддерживает клиентская служба, которая помимо обработки обращений о багах и проблемах в работе сервиса, решает еще огромное количество различных вопросов. Работа с инцидентами составляет лишь часть их текущих задач. Подобный формат – особый, но не редкий случай.

Изначально вся коммуникация между саппортом и разработкой велась через чат. Как я уже упоминала выше, за передачу информации о проблемах, отрепорченных пользователями, отвечал один конкретный сотрудник поддержки. Его основная суперсила была в том, что он мог сформулировать проблему на понятном для разработчиков языке и перевести менеджерам обратную связь от команды. А еще, в допандемийные времена, добежать до отдела разработки, если на проде возникла серьезная проблема, чтобы обсудить детали голосом. 

Такой подход имеет право на существование, но, на мой взгляд, только как временное решение. Во-первых, чат, хоть и сохраняет историческую информацию, не может рассматриваться как способ регистрации проблем. Но об этом мы поговорим в другой части статьи. Во-вторых, наличие отдельного человека на такой роли создает серьезный bus-фактор. 

О поиске общего языка

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

Вместе с ребятами из технического отдела мы определилили, какие данные нужны для первичной диагностики. На основе этой информации и личного опыта общения с разработчиками я составила программу и провела очные встречи для сотрудников саппорта. Такая же встреча есть в онбординге всех новичков. 

Чтобы держать ребят в форме, у нас есть подробная инструкция, к которой можно обратиться, чтобы освежить знания, а также дополнительная встреча для более опытных сотрудников. На ней мы разбираем конкретные примеры тикетов, составленных саппортом, и отмечаем, что было описано хорошо, а что можно улучшить.

Анализируя свой опыт, я поняла, что изначально, до внедрения процесса, подходила к этому не совсем правильно. Когда ко мне обращались с проблемой, я предлагала объяснить «как умеешь», а еще лучше просто показать проблему в интерфейсе и после уже сама переводила информацию в нужный формат для разработчиков. Это рабочий, но недальновидный способ решения проблемы. 

Позже мы перешли к формату, где поддержка составляла тикет, а я его корректировала и давала автору обратную связь. Благодаря этому, ребята постепенно освоилили азы языка разработчиков и начали не только лучше формулировать проблемы, но и сами понимать программистов.

Безусловно, это не избавило нас от bus-фактора. Процесс работы с инцидентами по-прежнему координируется и, если честно, я не могу с уверенность сказать, может ли быть иначе. Но процент времени, которое затрачивает инцидент-менеджер непосредственно на переписывание тикетов, значительно сократился.

Опять же – здорово, если у вас уже есть инструменты для упрощения и автоматизации процесса. Например, мы, пользуясь возможностями багтрекинговой системы, кастомизировали форму создания инцидента и для наглядности добавили разные типы тикетов в зависимости от содержания проблемы. Однако это произошло далеко не в первую итерацию процесса. Даже сообщения в чат с разработкой можно и нужно составлять по уму.

Тестировщик в беде не бросит

Выше я уже писала о том, что на некоторых этапах работа с инцидентами замыкается на том, кто ее координирует, в нашем случае – на инцидент-менеджере. Это плохо для компании, потому что важнейший бизнес-процесс завязан, по сути, на одном конкретном человеке. Да и сам сотрудник быстро понимает, насколько такая «незаменимость» может быть неудобна.

О скрытых ресурсах

В самом начале предполагалось, что проблема bus-фактора будет решена назначением второго инцидент-менеджера. Позже стало понятно, что в нашем случае два человека на этой роли – решение не совсем целесообразное.

В какой-то момент ребята из команды тестирования сами предложили свою помощь. И это было хорошей идеей по многим причинам.

Во-первых, работа с инцидентами тесно связана с отлавливанием некорректного поведения систем, локализацией проблем и написанием багрепортов. Никто не знает об этом больше, чем QA-специалисты.

Во-вторых, находясь на периферии обращений о некорректной работе продукта, тестировщики могут быстрее узнавать об ошибках на бою.

Ну и в-третьих, тестеры в курсе многих багов, которые уже были обнаружены в функционале, но еще не исправлены, и могут фильтровать входящие обращения, чтобы избежать дублирования и лишней работы.

О форматах взаимодействия

Традиционно в нашей команде тестировщиков есть специалист, который полностью берет на себя координацию процесса на случай отсутствия инцидент-менеджера. Этот тестировщик обладает не только специальными знаниями, но и глубоко погружен в сам процесс. Кроме этого, на обычной неделе выделяется день, когда он дежурит в роли инцидент-менеджера, что позволяет оставаться в контексте и высвобождает для основного координатора процесса немного времени на работу по другим задачам.

Остальные тестировщики тоже участвуют в процессе – подхватывают часть входящих обращений по своей функциональности и снимают таким образом некоторую нагрузку с дежурного инцидент-менеджера.

Безусловно, работа с инцидентами не является основным фокусом команды QA, да и не всем подошел такой формат. Но даже то участие, которое по мере своих возможностей принимают в процессе заинтересованные тестировщики, в нашем случае обеспечивает достаточную поддержку процесса и ослабляет bus-фактор.

С чего начинается инцидент-менеджмент

Ранее я упоминала, что какое-то время коммуникация между представителями поддержки и разработкой велась только через чат. В самом общении в чате нет ничего плохого, зачастую при помощи него удается решить вопрос быстрее, чем, например, через комментарии в тикете.

Но мой опыт подсказывает, что именно с систематической регистрации инцидентов начинается настройка полноценного бизнес-процесса. Того, что с регламентами, автоматизацией и агрегированными статистическими данными, на которые бизнес сможет опираться при принятии решений. Можно, конечно, регистрировать инциденты, имея совершенно не налаженный процесс. Но наладить процесс, не фиксируя инциденты хоть в каком-то виде, представляется мне сложно выполнимой задачей.

До того, как мы стали решать этот вопрос на уровне всей команды, я предложила решение для поддержки – не писать о проблемах мне напрямую, а заносить их в таблицу. Даже это, возможно, не самое изящное решение причинило много добра.

Во-первых, занесение проблемы в табличку означало, что оно не потеряется, в отличие от личного сообщения.

Во-вторых, у таблицы была шапка и названия столбцов подсказывали заполняющему, какие данные нужны, чтобы репорт можно было взять в работу для первичной диагностики. Именно тогда у проблем впервые появился такой атрибут, как приоритет.

При этом, на тот момент мы воспользовались теми ресурсами, которые уже были в команде, то есть не потратили никаких дополнительных средств.

Спустя достаточно продолжительное время данные, которые сохранились в табличке, понадобились нескольким отделам. Мы не предполагали, что такая необходимость появится, но оказались к ней готовы.

Признаюсь честно, что это произошло непреднамеренно, но та табличка, в том числе, подготовила почву для перехода на автоматизированный процесс работы с инцидентами через багтрекинговую систему. Менеджеры на личном опыте узнали, насколько удобно видеть в одном месте все отрепорченные инциденты и как упрощает жизнь наличие полей-подсказок. Поэтому когда я пришла к ребятам из саппорта с очередными, более радикальными нововведениями, у меня уже был некоторый кредит доверия.

Заключение

Вот, пожалуй, и все.

Ретроспективно оценивая свой опыт работы над incident management process, я сформулировала для себя, на каких трех слонах и черепахе он базируется. Для меня это:

  • приоритизация проблем; 

  • общий язык для обмена информацией между командами; 

  • люди, готовые поддерживать процесс;

  • регистрация инцидентов в любом виде.

Позже мы с командой проделали много работы в других направлениях. Это и автоматизация операций, и категоризация проблем, и составление различных отчетов для разработки и бизнеса и многое другое. Но всё это – сюжеты для совсем других статей. 

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

Ну и последнее, о чем я хочу сказать. Мне кажется важным не относиться к регламенту как к чему-то железобетонному. Регламент – это инструмент, который должен работать во благо компании, а не существовать где-то в параллельной вселенной. Если в процессе появились узкие места или какие-то договоренности стали приносить больше вреда, чем пользы, нужно это подсвечивать и пытаться найти решение. 

Для поддержания актуальности регламента мы применяем итеративный подход. Вводим небольшие изменения и оцениваем их эффективность. И только после этого принимаем решение о дальнейших шагах.

Спасибо за внимание!

Комментарии (0)