{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Кейс: как мы разработали кастом SLA с помощью ETL

ETL – это наша разработка и наш продукт, мы уже писали о нем. Кроме своего стандартного функционала – сбора и обработки данных – мы нашли ему внутри компании нестандартное, но эффективное применение, с помощью которого сэкономили 80% времени и ресурсов на кастомизацию таск-трекера. Если у вас есть ETL – берите на вооружение.

Предыстория

Наша команда разработки внутри пользуется системой учета задач, таск-трекером,

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

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

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

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

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

Менять всю систему ради нескольких проектов было долго и ресурсозатратно, поэтому наш product owner Александр Чебанов решил организовать систему мониторинга заявок в аналитическом хранилище.

Процесс работы SLA через ETL

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

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

- в работе;

- пауза;

- выполнена.

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

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

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

Задачи ядра были следующие:

· Определить предельное время решения в соответствии с критичностью задачи;

· Рассчитывать затраченное время на задачу в соответствии с производственным календарем и нахождением в статусе «в работе». Например, если задача пришла после 19 часов вечера в рабочий день, то начало отсчета должно начаться в 9 утра следующего рабочего дня.

· Рассчитать время задачи в каждом статусе.

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

Для проектов в подсистеме НСИ определили время решений каждой из заявок, а затем наложили все это на календарь. Результат отправили в виде развернутой денормализованной витрины в слой аналитических витрин, который у нас поднят на ClickHouse.

Обновление витрины настроили один раз в час.

Разработка дашборда учета задач

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

Интерфейс

Весь процесс от идеи до публикации занял 1,5 рабочих дня.

Основные показатели вывели верх и сделали кликабельными (по клику срабатывает фильтрация дашборда):

- задачи в работе;

- задачи в ожидании;

- просроченный задачи;

- задачи без ответа пользователей.

Задачи можно искать по проектам, номерам, датам и темам (дашборд масштабировали для решения задач внутреннего сопровождения).

А для отчетности выводится отдельная таблица, которая содержит список обработанных задач для печати.

Плюсы и минусы доработки

По факту, минимальными усилиями мы сделали полноценную поддержку SLA. Из плюсов:

- потратили 1,5 дня вместо 1,5 недель, если бы дорабатывали нашу систему учета рабочего времени;

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

- значительно снизился риск просрочки задач – сотрудники сразу видят, какие задачи закрыты, а у каких скоро дедлайн;

- мы можем оперативнее выбирать приоритет каждой задачи в зависимости от времени решения;

- квартальная отчетность строится автоматически по настроенному шаблону - нужно только нажать кнопку экспорта в Excel.

Из минусов мы нашли только один, но не критичный – задачи обновляются один раз в час.

0
Комментарии
-3 комментариев
Раскрывать всегда