«Ашан» и Ensi. Эволюция модели SLA

⟶ О выстраивании процесса SLA, отношениях заказчика и подрядчика и опасности заработка на поддержке

Содержание

Приобрести более 600 тысяч товаров в несколько кликов возможно благодаря IT-системе из десятков взаимосвязанных сервисов. Поддержка их работоспособности и стабильности — ключевые задачи ритейлеров, при этом полностью переданные подрядчикам. Расскажем о совместном опыте SLA в проекте «Ашана»

Введение

SLA (Service Level Agreement или Соглашение об уровне сервиса) обеспечивает беспрерывную поддержку приложения в рабочем состоянии. Главная задача SLA в екоме: быстро устранять препятствующие продажам инциденты. Зон локализации две: ошибки в коде и инфраструктура.

Инциденты разделяются по приоритетам в соответствии с масштабом:
  • 1
    Авария — покупатель не может приобрести товар. Это падение сайта под нагрузкой, отключение сервисов обработки заказов, приема оплаты, каталога и других основных систем.
  • 2
    Критические инцидент — покупка возможна, но пользовательский опыт серьезно нарушен. Например, временная недоступность программы лояльности.
  • 3
    Средний и низкий приоритеты — менее значительные сбои.
☞ В соглашении прописываются время на реакцию и решение инцидентов. Если устранить корневую причину проблему за отведенное время невозможно, вместо этого функциональность восстанавливается альтернативным способом: например, разворачивается резервная конфигурация. Задача же на детальное разбирательство и исправление ошибки переносится в очередь разработки.

Эволюция процесса SLA

  • 2020

    устраняем инциденты по модели аутсорса
  • 1H 2021

    создаем библиотеку функций
  • 2H 2021

    настраиваем понятный мониторинг
  • 1H 2022

    уменьшаем разрыв с техдолгом
  • 2H 2022

    выводим оптимизацию уязвимых зон в постоянный процесс

Результаты

На 96% меньше инцидентов ежемесячно
Прекратились аварии и критические инциденты
Вдвое выросла скорость разработки основного бэклога

Первый год

Команда Ensi начала обеспечивать SLA «Ашану» в 2020-м вместе с запуском интернет-магазина на  Ensi Platform. Начальные условия были обозначены на тендере:
  • 1
    Клиент самостоятельно определяет сроки реагирования и классификацию инцидентов.
  • 2
    Клиент знает о сбоях и получает необходимую обратную связь. Для этого создали общий чат с автоматическими оповещениями.
  • 3
    Коммуникация по аварийным и критическим случаям производится круглосуточно, по неаварийным — в рамках рабочего времени и регламента.
Изначально мы работали по модели аутсорса — ставили задачу и получали результат, а все исполнение происходило на стороне. Получался двусторонний черный ящик:
  • Мы не могли видеть, что происходит внутри команды разработчиков,
  • Подрядчики не имели представления, как думает бизнес и почему мы спускаем те или иные задачи.
Обе стороны понимали, что так работать не эффективно, но в первое время функциональность и в принципе стабильная работа екома была приоритетнее процессов.
Далер Фатыхов, CTO Ecom «Ашан Тех»
В таком режиме поддержка продержалась недолго. Уже к концу года накопился целый ряд сложностей, накладывающихся друг на друга:
  • 1
    Инцидентов возникает много, а ресурсы — на пределе.
  • 2
    Технические оповещения системы мониторинга непонятны клиенту: он беспокоится и просит разобраться с несуществующей проблемой. Менеджеры Ensi вынужденно отвлекаются на разъяснения.
  • 3
    Выделенная группа SLA сильно зависит от разработки: для быстрого решения часто необходимо привлекать ответственных за участок или тимлида. И это создает проблемы:
    • Срочное подключение специалистов в нерабочие часы вызывает стресс,
    • Необходимые разработчики не всегда доступны.

Оптимизируем обработку инцидентов

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

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

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

Функции — это участки программного кода, отвечающие за какое-либо действие: добавление в корзину, нажатие на кнопку, импорт фидов и другое. Каждая функция находится в конкретном сервисе (PIM, OMS, CMS…), имеет оценку критичности и зоны влияния: один пользователь, все или еком в целом. По сочетанию параметров назначается приоритет инцидентам этой функции.
Эта матрица помогла более точно разграничить инциденты по важности и установить оптимальные сроки реагирования. Вместе с этим ослабла нагрузка на команду поддержки: прекратился непрерывный поток срочных инцидентов и появилось дополнительное время на работу.

Библиотека функций и сейчас продолжает развиваться:
  • Появляются новые функции — их все нужно документировать;
  • Структура и описания становятся удобнее и понятнее: повышается эффективность работы.
☞ Поддержка библиотеки функций не должна снижать time-to-market новой функциональности: скорость разработки приносит прибыль, а документация — нет.

Мониторинг

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

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

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

Налаживаем SLA как процесс

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

Следующий важный аспект: назначение ответственных за классификацию инцидентов. В проекте «Ашана» такими стали менеджеры поддержки — они выступают первой линией поддержки, определяют критичность ситуации и организуют работы по устранению.
Ещё следует обратить внимание на коммуникацию с клиентом. Если происходит инцидент — нужно оставаться на связи. Обе стороны заинтересованы в скорейшем восстановлении работоспособности, и при возникновении серьёзных случаев нет места панике и конфликтам. Прямого доступа к разработчикам у заказчика нет: о статусах сообщают менеджеры. При этом обе стороны договорились о достаточно закрытом формате: «Проверяем», «Решаем», «Ответим через 10 минут». Так минимизируется отвлекающая коммуникация, а клиент видит, что команда работает.
Пожарная машина

Эффективный SLA не должен стоить дорого

Финансовую сторону подсветим отдельно. С одной стороны, внешней команде поддержки выгодно работать с большим количеством инцидентов: каждый приносит деньги. Однако, чем они чаще и сложнее, тем больше теряет бизнес — это сказывается на отношении к подрядчику. Возникает конфликт интересов.
В идеальном мире ни инцидентов, ни SLA не должно существовать. В реальности же возможно направить силы поддержки на устранение причин новых инцидентов. Дежурная команда и отлаженные процессы реагирования — важно. Но более важно закрывать уязвимые зоны до того, как происходит сбой. Здесь подходит аналогия с пожарной службой: они выезжают разбираться с локальными возгораниями, а сигнализация, системы тушения и запасные выходы уже выполняют свои задачи.
Пожарная машина
☞ Процессы поддержки не должны являться самоцелью: первоочерёдно нужны процессы предотвращения инцидентов.
Так, ежемесячное количество инцидентов снизилось с пикового значения 100 с частыми авариями до 3−4 низкоприоритетных. Повлияла совокупность причин:
  • 1
    Появились процессы предиктивного мониторинга;
  • 2
    Усилилась команда эксплуатации;
  • 3
    Устранили разрыв с техдолгом — это большой фактор риска, поскольку провоцирует рецидивы;
  • 4
    Появилось время оглянуться назад и оптимизировать то, что было создано в начале.
Всё вышеперечисленное — большие этапы жизни проекта, невозможные без тесного сотрудничества бизнеса и подрядчика. Тяжело убедить бизнес тратить ресурсы на задачи с отложенным эффектом вместо новой потенциально ценной фичи здесь и сейчас. Тяжело, но возможно.
Изменения под капотом уже внедренных сервисов жизненно необходимы. Бизнесу может быть непонятно, зачем нужна замена одних строчек кода на другие, но это важно, когда мы говорим об эволюции сервисов. Если оставлять технологический и архитектурный долг нерешенными, рано или поздно столкнемся с катастрофой. Это обратная сторона гонки за Time-to-Value и нарастающим аппетитом бизнеса. Мы научились с этим работать и уже защитили стратегию, которая включает постоянную работу с техдолгом.
Далер Фатыхов, CTO Ecom «Ашан Тех»
К 2022-му году «Ашан» стал значительно меньше тратить на SLA, а мы — получать. Для Ensi поддержка оставалась дополнительной услугой. Вскоре весь процесс полностью перешел под управление клиента.

Зачем ритейлеру внутренний SLA

Проект сменил модель управления: появился Kanban, окончательно сформировались гибридные проектные команды. В рамках продуктового подхода вопрос SLA особенно интересен, ведь команду нужно жёстко разделить по направлениям: разработка и поддержка. Появляется несколько вариантов:
  • 1
    Оставить SLA услугой вендора. В таком случае люди клиента должны были перейти под наше управление;
  • 2
    Полностью передать контроль внутренней команде.
Второй вариант признали оптимальным с важным компромиссом. Несмотря на ограничения Kanban, команда поддержки работает с инцидентами только в случае их появления, а в остальное время подключается к разработке и выполняет спринты. Если возникает проблема: они переключаются на нее без дополнительных согласований.
☞ Хороший пример адаптации теоретической концепции к реальным бизнес-процессам компании.
Это сказывается и на эффективность работы с основным бэклогом: мы смогли повысить скорость разработки на 45% и релизить на 280% больше задач в квартал.
Что касается работы с внешними подрядчиками SLA, то стоит понимать значимость компетенций в конкретном проекте. Хорошие специалисты и выверенные процессы не всегда гарантируют высокую эффективность. Без знания особенностей каждого участка на решение инцидентов тратится много ресурсов, а разобраться с масштабными авариями и вовсе может быть невозможно.
Сейчас мы развиваем гибридные команды и будем заниматься этим еще несколько лет: хотим выйти на еще более тесный уровень взаимодействия. Нам важно, чтобы все участники проекта — и бизнес, и подрядчики, и сами люди — понимали, что мы делаем, почему, какие требования и задачи стоят перед всеми. Это наш приоритет на ближайшие два-три года.

Если позволят условия, будем формировать новые команды: у бизнеса всегда есть запросы и он всегда хочет больше. Но тут важно соблюдать баланс, ведь не всегда масштабирование приоводит к значительному росту показателей. Проделанные изменения позволили ускориться в полтора раза и значительно сократить инциденты. Но думаю у всего есть предел, и рано или поздно мы встретимся с новым сопротивлением.
Далер Фатыхов, CTO Ecom «Ашан Тех»
25 декабря 2024

Авторы статьи

  • Антон Порохня
    Директор клиентского сервиса
  • Ксения Иншакова
    Руководитель проектов
  • Глеб Гвайта
    Специалист PR
  • Далер Фатыхов
    CTO Ecom «Ашан Тех»

подписывайтесь и будьте в курсе

Факты из жизни электронной коммерции
Новости от разработчиков платформы
Официальный новостной канал платформы
Блог в расширенном формате