В IT-компаниях и банках множество разных процессов. И если разработку софта и создание дизайна еще можно успешно оптимизировать с помощью гибких методологий (если их правильно внедрить и использовать), то некоторые вещи Agile так же быстро ускорить не может. Например, HR-процессы. Со стороны кажется, что все просто, есть у ребят из отдела кадров софтинки для ведения кандидатов и сотрудников, и всё, чего тут сложного.
На самом деле, затыков и тормозов в этих процессах более, чем достаточно. В этом посте мы расскажем, как внедрение HR-роботов помогает нам в работе.
Важно сразу обозначить, что мы говорим не о каких-то роботизированных помощниках, не о натасканном боте в чате приложения и не о роботе-обзвонщике с женским голосом, предлагающем вакансии или кредиты. Мы говорим именно о инфоботах, которые берут на себя большую часть рутины современного HR.
В оперблок Альфа-Банка пришли представители Ernst & Young и предложили нам решение, платформу Blue Prism для создания роботов, и мы решили попробовать. Тогда, во время пилота, первых трёх роботов мы делали вместе с E&Y, а потом приобрели лицензию и начали делать их сами. E&Y провели базовое обучение, да и дело еще в том, что для создания такого робота не нужно каких-то специфических знаний, достаточно понимать, что такое блок-схема и какую последовательность действий нужно в нее вписать. В общем, любой, кто на уроках информатики работал с этими блок-схемами, или же играл с ребенком в LEGO Mindstorm, в состоянии написать робота на этой платформе после небольшого инструктажа.
Что такой робот делает и чем полезен
Полезен он, прежде всего, экономией времени живого сотрудника. Можно сходу перечислить ряд задач, которые смело можно отдать роботу.
Заказ пропусков. Сотруднику требуется проверить календарь, посмотреть, когда с каким кандидатом назначена встреча и где, заказать пропуск в нужный сектор здания, заполнив соответствующую заявку на корпоративном портале. Это если совсем на пальцах, потому что даже в этом процессе достаточно всякого, он один из самых длинных в работе.
Робот же, видя в календаре назначенную встречу, быстро делает все сам.
Family Function. Внутренний атрибут сотрудника, который необходим нам для формирования штатного расписания о локации денег. Сама схема тоже непростая и состояла из семи этапов, суммарно это могло занимать часов 8, с обходом каждой из систем. И надо было делать это ручками примерно раз в неделю. Де-факто один рабочий день в неделю уходил на это. Робот тратит на тот же самый процесс час-полтора.
Робот-табельщик. Как и многие другие, мы работаем со связкой E-staff+SAP. Робот прописывает айдишки для штатных должностей, табельный номер сотрудника и проставляет всё это в e-staff и SAP. Тут уже сложного мало, проблема в том, что это довольно однообразные механические действия и цепочка копипаста. То есть именно то, что можно отдать роботу.
И это притом, что у робота нет отпуска, выходных, мигрени и похмелья.
Суммарно же роботы закрывают сейчас почти десяток подобных процессов, где человеку приходится что-то монотонно заполнять и перепечатывать. Точнее, приходилось раньше. И если сегодня по большей части робот взаимодействует с SAP и E-staff, то в будущем мы планируем уйти от таблиц к базам данных, где будет храниться вся нужная информация для робота. К примеру, там постоянно обновляется информация по HR BP, по каким-то структурным подразделениям. Структура сейчас продолжает меняться, а вы представляете, какую уйму формальностей это всё за собой тащит.
Безопасность
С одной стороны, одним из самых сложных этапов в процессе внедрения таких роботов у нас были наши же собственные безопасники. Но мы смогли им все объяснить. С другой стороны, этот робот на деле представляет собой что-то типа автоматической учетки сотрудника. То есть это не использование API для прямого доступа к важным данным или чего-то подобного, нет, это именно имитация действий живого человека, который под своей учеткой может зайти в определенные разделы и выполнить определенные действия.
Получается, что риски тут такие же, как и в случае реального сотрудника. И не больше. Робот может на входе проверять запросы, которые к нему приходят. Например, запросил некто Иванов выполнить определенное действие в системе, а робот пошел и прочекал, есть ли у Иванова вообще такие полномочия, может ли он запрашивать подобное или нет. Если да, то ОК, работает. Если нет, то присылает отбивку, к кому из вышестоящих сотрудников надо обратиться по такому запросу.
Но безопасники зачастую довольно консервативные ребята. А тут им приходят и говорят, что вот у нас теперь будет такая новая автоматическая сущность, которая сможет и запросы отправлять, и пропуска заказывать, и доступ к финансовым данным определенный иметь. Персональные данные, конфиденциальная информация, а вдруг он как начнет это все сливать налево.
Робот, выполняющий все это, это набор инструкций. А инструкцию пишет человек, определенный сотрудник с определенным уровнем допуска.
Но все равно безопасникам было бы проще, делай мы все по старинке. Поэтому подобные инициативы мы сначала пилотируем на небольших масштабах, а потом, когда все всё проверяют и успокаиваются, раскатываем активнее.
Ограничения
Конечно, повесить на робота вообще все и пойти читать книжку не получится (пока), есть ряд ограничений. И большинство из них это ограничения самой платформы (Blue Prism) и положений конкретных лицензий на ее использование. Например, мы не можем запускать более одного робота на одной виртуальной машине, нельзя. Один робот — одна машина. Один робот может работать только на одном процессе, на двух и более параллельно тоже нельзя. Зато можно расставить приоритеты и прописать для него расписание, когда чего нужно делать. Это всё тоже из-за того, что это не какой-то программный процесс, напрямую работающий в системе, а имитация действий живого сотрудника с учеткой.
Например, с тем же пропуском. У нас в Альфе IBM Lotus, и для робота, заказывающего пропуска, есть соответствующая учетка с именем. Как внештатный сотрудник. Какое-то время мы согласовывали все это еще и с лотусистами, а потом отдельно договаривались с экономическими безопасниками, чтобы их не шокировали заявки на пропуск с этой учетки. И так для каждого робота — проанализировал процессы в работе, выявил те, которые можно отдать роботу, согласовал со всеми и написал робота.
Кстати, пока пишешь роботов для процессов, это помогает по-другому взглянуть на сами процессы. Найти какие-то лишние шаги, что-то сложить в один шаг вместо трех и так далее. В HR легаси ничуть не меньше, чем в IT, и оно может быть куда более бородатым. У нас так было с Family Function — пока писали инструкцию роботу, поняли, что пора сам процесс серьезно переписать.
Пишем робота
У каждого пользователя в системе есть админка Blue Prism, интерфейс создания робота вполне себе дружелюбен (понятное дело, для HR делали), похож на конструктор с рядом предзаполненных форм. Ну и, как мы писали выше, создание робота = создание блок-схемы его действий. Робот умеет считывать текст из полей в разных формах, поэтому прописываешь для него, в какую систему сходить, на какие поля смотреть, какие данные из этих полей выбирать и прочее. Ну и люди, работавшие с Visio, тоже быстро включаются в процесс.
В Blue Prism есть две основные рабочие сущности – процессы и объекты, сущности отвечающие за данные. Процесс запускается путем создания объектов, информация об исполнении записывается и хранится в очередях
Объекты запускаются с помощью визуального интерфейса. Кроме того, объекты могут интерпретировать код C#, J#, VB. Также можно производить insert в страницу браузера javascript. А для решения нестандартных и ресурсоёмких задач мы используем самописные объекты. Мы сделали так, что у нас есть роботы, которые отвечают за определенную работу и выполняют задания, присылаемые роботу на почту. Один робот разбирает письма, наполняет очереди. Следующие роботы начинают исполнять задания по данным из этих очередей.
При возникновении ошибок отправляются уведомления на почту, элементы очередей маркируются как ошибочные. А все падения отражаются в мониторинге.
Рабочее окно
Объект
Исполняемый код
Ребят из IT подключаем уже на последних этапах, когда робота уже запускают в бой. Плюс они его мониторят и тестируют. Потому что бывает, что какой-то робот вдруг начинает проводить какой-то процесс сильно дольше обычного — можно пойти и посмотреть, чего случилось и где затык. А мониторинг позволяет отслеживать, сколько задач и за какое время закрывает робот, чтобы потом представить это в денежном эквиваленте.
Кстати, о деньгах, мы сэкономили благодаря роботам около 2 миллионов рублей в год. По сути цифра небольшая, но это потому, что сами процессы у нас в HR не такие дорогие. А вот когда таких роботов делают для оперблока или Equation, где каждый процесс стоит ощутимо дороже наших, тогда и экономия будет соответствующей.
Самое главное, конечно, время. Если раньше по запросу живому человеку насчет изменения функциональной подчиненности надо было потратить около 6 минут, то сейчас робот, получая такой запрос, укладывается в минуту-полторы. Это на один такой запрос. А их много. Оформление компакета для кандидата занимало минут 10, робот делает за 2. И так везде.
И это не значит, что всё, злобные роботы (и алчные блок-схемы) отнимают работу у людей, что грядут массовые сокращения и прочее, нет. Это значит, что сотрудник вместо копипаста данных из таблички в табличку займётся чем-то куда более полезным, и уж точно более интересным.
Автор: AlfaTeam