Как-то раз в светлые головы разработчиков одного департамента ЛАНИТ закралась мысль: “А не провести ли нам хакатон?”. Казалось бы, уже тысячу раз было. Но мы преследовали коварные корпоративные цели, а значит, отступать было некуда - позади HR.
Во-первых, планировалось сделать хакатон межрегиональным, то бишь собрать команды со всех офисов и дать им тимбилдинг в полный рост. Во-вторых, реально запустить в жизнь продукт, который покажется рецензентам наиболее жизнеспособным и перспективным. А поскольку в то время только ленивый (или ярый пользователь WhatsApp) не писал собственных ботов, мы подумали: “Ок, так тому и быть. Пусть будет бот, но пусть он приносит много пользы”.
В итоге было предложено аж пять почти готовых ботов для Telegram, в каждом из которых было свое рациональное зерно. Но, как водится, ни один из них не получил какого-либо бурного развития. И тогда за дело взялись два рыцаря джедая…
Зачем нам еще один бот?
“Так в чем же миссия, может быть, вы откроете?”
А. Смит
На первом этапе мы преследовали две цели.
Создать помощника для HR-специалистов, который мог бы отвечать на бесконечный поток однотипных вопросов, реагируя на ключевые слова. Например, на те самые вопросы: как оформить отпуск, когда приходит аванс, как получить корпоративные скидки и где вкусно поесть/поспать/далее по списку.
Получить песочницу для начинающих разработчиков, где они погружались бы в удивительный мир java, сразу вникая в принципы и правила корпоративной разработки, которые применяются на большинстве наших проектов (работа с тикетами в таск-трекере, код-ревью, мерж-реквесты, работа с БД, фронт-бек etc).
Исходя из этого, на начальном этапе мы пришли к следующему:
была написана обвязка, основные классы, модули;
прикручена простая админка для наполнения базы знаний;
придуман механизм аутентификации;
добавлена возможность получения обратной связи прямо из бота в тикеты таск-трекера.
Под капотом наш бот выглядит примерно так:
И понеслась
“Почему, мистер Андерсон, почему?
Во имя чего?
Что вы делаете?
Зачем, зачем встаете?
Зачем продолжаете драться?”
А. Смит
Реализовав базовые функции, мы выдохнули и стали изучать статистику. Оказалось, что ботом не пользуется почти никто. Пришлось оперативно собирать фокус-группу и устраивать мозговой штурм в лучших традициях фильмов про всех умных людей. Ведь так решаются все проблемы - от качества кода до наличия чая на корпоративной кухне, верно?
И вот что решили.
Пользователю нужно ненавязчиво предложить воспользоваться ботом.
Пользователю нужно дать больше социальных функций, чтобы он не просто спрашивал что-то у бота, но и мог использовать его как ежедневного помощника во всех сферах жизни.
Некоторые из бизнес-процессов компании должны быть завязаны исключительно на использовании бота, тогда каждому сотруднику хотя бы раз в месяц придется обращаться к виртуальному помощнику, и он поймет, насколько удобно им пользоваться и как же раньше ошибался.
Итак, к чему мы пришли в итоге?
Теперь для сотрудников:
создана рассылка актуальный мероприятий, которую, конечно, можно отключить;
добавлена функция опросов;
создан движок для проведения онлайн-квизов, викторин и полноценных квестов с поддержкой разделения на команды;
реализован процесс быстрого согласования отпусков, что весьма удобно для распределенной компании;
реализован функционал отправки больничных листов, что стало особенно актуально в связи с удаленным форматом работы;
добавлены функции рекомендации фильмов на базе рейтингов сторонних сервисов и книг как образовательно-технических, так и художественных;
анекдоты и мемы по запросу… фьють-ха;
открыт календарь мероприятий с возможностью подписки на события и получения видеозаписей прошедших вебинаров,
загружены бланки заявлений на все случаи жизни;
появилась возможность добавления информации сотрудниками об изменении личных данных для специалистов отдела кадров;
реализована функция прямой линии с руководством департамента для решения наболевших вопросов;
подключена возможность открытия заявок на ремонт оборудования, его замену, настройку ПО и помощь во внештатных ситуациях;
информирование о корпоративных скидках, программах страхования;
расписание корпоративных маршруток до офиса и обратно;
помощь в бронировании переговорной комнаты;
напоминание о важном событии, в том числе ближайшем дне рождении коллеги;
предоставление любых справок и копии трудовой книжки по одному клику;
проверка списания времени в Project за период и выгрузка расхождения прямо на устройство;
помощь в поиске контактов коллеги: ссылки для связи, почты, ФИО, указания рабочего места.
Кроме этого, мы перестроили бизнес-процесс адаптации сотрудников таким образом, что уже на этапе получения явок и паролей новичок регистрируется в боте, а виртуальный помощник выдает всю первичную информацию.
Коварно? А как же! Зато явка - 120%.
Чуть подробнее
“Иллюзии, мистер Андерсон, причуды восприятия.
Хрупкие логические теории слабого человека,
который отчаянно пытается оправдать
свое существование — бесцельное и бессмысленное! <…>
Вам пора это увидеть, мистер Андерсон, увидеть и понять!”
А. Смит
Например, разглядим под лупой подачу сотрудниками заявления на отпуск. Этот процесс было решено полностью перенести в бота - раньше он был реализован через тикеты в таск-трекере.
Забегая вперед, там он и остался… Но пользователю больше нет необходимости отдельно заходить на сайт, что-то там колдовать с паролем и многочисленными типами заявок…
Во-первых, мы увязали пользователей бота с их карточками в таск-трекере. Это было долго, муторно, не все сразу получалось, но в итоге мы достигли единства и нирваны. Во-вторых, мы научили бота вести несколько диалогов: отвечать в зависимости от типа отпуска и других факторов.
Как итог - на выходе из диалога мы получаем готовый тикет в таск-трекере, связанный с карточкой пользователя и другими тикетами, которые уходят на согласование руководителям сотрудников. Но и этим милым людям нет нужды идти на какой-то сайт - бот сам потревожит их покой и сообщит, что у них есть заявка на согласование. Которую, кстати, можно подтвердить или отклонить прямо в боте.
Сотрудник, в свою очередь, может там же отслеживать все этапы жизни своей заявки (а может и не отслеживать). В любом случае бот напомнит ему, что отпуск согласован, и осталось только подписать заявление и загрузить скан прямо в бота, который любезно положит его в тикет и отправит заявку в отдел кадров и бухгалтерию.
Сколько зайцев мы убили приголубили?
“Вам пора это увидеть, мистер Андерсон, увидеть и понять!”
А. Смит
Сотруднику нет необходимости заходить на корпоративный портал, вся рабочая “вселенная” прямо у него в телефоне/Telegram.
Беспокойство самых важных и всегда занятых руководителей берет на себя бот - теперь не надо собираться с духом и дрожащими руками писать в личку напрямую.
Сотрудник всегда знает, кто задерживает согласование его отпуска, и может связаться с этим человеком.
Все отпуска таким образом посчитаны и привязаны к карточке сотрудника, и он может в любой момент узнать остаток своих отпускных дней (а это, на секунду, второй по повторяемости вопрос от сотрудников в сторону отдела кадров).
Что в планах
“Вы не можете победить, продолжать борьбу бессмысленно.
Почему, мистер Андерсон, почему вы упорствуете?”
А. Смит
Очень хочется переработать дизайн админки, сделать его более user-friendly, UX, material design, вот это вот все…
Поработать над тормозами в некоторых запросах.
Добавить боту такой функционал, как сбор документов при трудоустройстве, а также адаптацию/онбординг/хлеб-соль для нового сотрудника.
Реализовать многомерную структуру департамента в связке с карточками сотрудников для формирования групп рассылок.
Сделать робота более гибким в плане общения - не зря же у него человеческое имя.
Так что двухгодичная история, которая началась с очередного хакатона, еще далеко не закончена. Бот, который изначально выполнял несколько базовых функций и в целом не особо отличался от других шаблонных существ, вырос в полноразмерного помощника.
Ну а после всех доработок он, наверное, вообще заговорит голосом и потребует у нас должность сотрудника HR и соответствующую зарплату. Но до этого мы пока не дошли, хотя все впереди.
Комментарии (4)
vassabi
06.12.2022 16:49+1а у вас там есть ответы на аварии ?
типа:
- а чтойта почта\жира\гитлаб не работает- извините, плановые работы с А до Б часов, вам напомнить, когда закончатся?
и т.д.
SidneyXP Автор
07.12.2022 20:27+1Добрый день, спасибо за интерес к статье!
Вообще такой функционал для плановых уведомлений предусмотрен, нужно только слегка подпилить. А для внеплановых настроить интеграцию со всякими заббиксами и прочими прометеусами. Но тут нужно аккуратно, не хочется чтобы бот превращался в спам-бота. Опять же кому то важен один сервис, кому-то другой, возможно это стоит сделать по типу подписок... Так что,тут нужна проработка с привлечением фокус группы. В общем спасибо за идею, мы подумаем)
DmitryI
Вопрос из области психологии. Я так понял, что реально многие задачи у вас реализованы в таск-трекере, а бот - это просто интерфейс. В результате разработчики предпочитают использовать привычную Jira или Телеграм? Какой интерфейс победил в мозгах у программистов?
SidneyXP Автор
Добрый день! Спасибо за вопрос.
Скажем так, не для всех задач есть Jira как бэк, у бота под ногами есть и своя база.
Процесс принятия проходит не так быстро как хотелось бы, но мы видим по статистике запросов, что пользуются Ботом все чаще.
На самом деле, многие диалоги в корпоративных чатах теперь заканчиваются так:
Ну, прямо сейчас я не могу это завести в Jira!
Можно же через Бота...
Точно! Спасибо!