DOU Проектор: Hurma — автоматизация HR-процессов и рекрутинга
В рубрике DOU Проектор специалисты рассказывают о том, как создавали свой продукт (как стартап, так и ламповый pet-проект).
Привет всем, я Владимир Федак, CEO компании IT Svit. Хочу рассказать вам историю создания Hurma — HRM системы, которая комбинирует весь базовый функционал для HR, рекрутинга и OKR в одной платформе.
Идея
IT Svit создает удаленные команды для бизнеса, работает с DevOps-технологиями и аналитикой больших данных. Когда количество сотрудников в компании перевалило за 45, справляться с рутинными HR-задачами вручную стало тяжеловато.
Учет больничных и работы из дома, начисление и утверждение отпусков, ведение графика собеседований и встреч с сотрудниками, подготовка отчетности. Все это стало отнимать львиную долю рабочего дня HR-специалистов, практически не оставляя времени на проведение встреч 1:1 и performance review, работы по OKR и других задач.
Наши эйчары получили карт-бланш на выбор подходящей HRIS/HRMS-системы. Рассматривались как популярные на HR-рынке продукты типа Workable, Zoho HR, BambooHR, Workday, так и менее известные системы. К сожалению, некоторые из них отпугнули стоимостью, у некоторых нет русскоязычного интерфейса, а у некоторых чрезмерно сложный функционал. Решили делать систему для себя.
Применяя наработанную в ходе многих проектов экспертизу, мы построили внутренний продукт для автоматизации рутинных задач HR-отдела — Hurma, сокращенно от Human Resource Management.
Разработка началась в конце 2017 года, релиз был в сентябре 2018, сейчас активно ведется дальнейшая разработка функционала системы.
Как работает сервис
Hurma подходит для маленьких стартапов и компаний, в которых нужно управлять большим штатом сотрудников и нанимать новых. Сфера может быть любой — IT-компании, заводы, объекты инфраструктуры, госпредприятия, строительные концерны, ритейлеры, финансы, маркетинг.
На данный момент Hurma System предоставляет такие функции:
- создание и управление вакансиями компании;
- создание и управление профилями кандидатов;
- создание и управление профилями сотрудников;
- визуализация организационной структуры компании в удобном Дереве команд;
- построение иерархии целей компании по системе OKR;
- начисление и управление отпусками сотрудников;
- работа с запросами (1:1, Performance review, больничные, работа из дома и т. д.);
- бронирование помещений под встречи;
- работа с шаблонными сообщениями для оповещения участников встреч и мероприятий;
- обработка статистики по рекрутингу, OKR и HR;
- управление мероприятиями компании (митинги, интервью, встречи с клиентами, корпоративные праздники, обучение сотрудников и т. д.);
- создание и управление опросами;
- построение программ внутреннего обучения и менторства;
- мониторинг настроения сотрудников.
Профиль каждого сотрудника в системе содержит ключевую информацию о нем — контакты, количество отработанных дней и больничных, начисленные дни отпуска и пр. Все профили организованы удобным списком, где можно быстро найти любого сотрудника. Кроме того, можно отсортировать сотрудников по нескольким фильтрам, найти нужных, проверить статусы сотрудников (кто в отпуске, кто на испытательном сроке и т. д.).
Performance review — важный функционал для оценки эффективности работы сотрудников и поиска пути ее улучшения. Hurma system позволяет создавать удобные шаблоны анкет для таких встреч, планировать их и хранить отчеты о всех проведенных встречах, чтобы иметь возможность в любое время проверить прогресс сотрудника.
Одной из ключевых фишек системы является мониторинг настроения. Каждый сотрудник при входе может выбрать один из уровней и, если чем-то недоволен, — сразу указать причину. Это удобно для компаний с сотнями сотрудников, где у HR-менеджеров физически нет возможности за день всех обойти и поинтересоваться, как у кого дела. Мониторинг настроения сотрудников помогает держать руку на пульсе ситуации в компании и оперативно реагировать на проблемы, снижающие продуктивность сотрудников.
Еще одна важная часть функционала Hurma system — работа с иерархией целей по системе OKR (Objectives and Key Results), применяемой в ведущих компаниях мира, например в Google, Twitter и Amazon. OKR помогает создать иерархию целей от самого высокого уровня — всей компании — до целей каждой команды и каждого отдельного сотрудника. Иерархия открытая, таким образом каждый сотрудник видит, чем кто занят и как вклад каждого влияет на работу компании.
Эффективность достижения каждой цели оценивается по нескольким ключевым результатам. Это позволяет комплексно подойти к решению каждой задачи. 50% целей назначается руководством сверху, 50% — предлагается сотрудниками снизу, что повышает вовлеченность и мотивацию команды. Пути достижения каждой цели не регламентируются, что позволяет сотруднику проявить креативность и компетентность в выборе способа решения поставленных задач. Цели должны быть амбициозными и трудновыполнимыми, но не космическими, иначе пропадает смысл и мотивация пытаться достичь их.
Кроме того, Hurma System позволяет автоматизировать расчет, начисление и утверждение отпусков, учет больничных и командировок, запросы на работу из дома, отслеживание процесса адаптации сотрудников, менторство и внутреннее обучение, годовщины важных событий в жизни сотрудника и его семьи и многое другое.
Доступно создание разовых и повторяющихся событий (митинги, Performance review, встречи 1:1, различные виды интервью) с рассылкой напоминаний по электронной почте их участникам. Разрабатывается интеграция с сайтами работы и LinkedIn для публикации вакансий в 1 клик; уже доступен импорт резюме кандидатов из различных форматов и системы CleverStaff, дорабатывается по запросам клиентов и другой функционал системы.
Более подробно о функционале системы можно узнать, посмотрев нашу презентацию на Youtube. Кроме того, вы можете подать заявку на предоставление пробной версии и своими руками посмотреть, что и как работает.
Реализация
В разработке Hurma System заняты ПМ, дизайнер, тимлид/full-stack девелопер, back-end девелоперы, верстальщик, тестировщик и DevOps-инженер.
Команда Hurma System
По состоянию на сегодня стек технологий включает в себя следующие компоненты:
- Фронтенд — HTML/CSS, Javascript.
- Бэкенд — PHP/Python.
- База данных — MariaDB.
- API — Google API для синхронизации с Google-календарем; добавляются другие API.
- OS — Ubuntu.
- Управление инфраструктурой — Kubernetes, Helm, Docker, Nginx Ingress controller, Ansible.
- Деплой — Jenkins Pipeline.
- Мониторинг — Prometheus, Grafana, Sentry.
Проблемы на пути к релизу
На этапе разработки продукт деплоился вручную в течение 3 часов. За это время:
- Под конкретного клиента подготавливался отдельный Docker Image.
- Под конкретного клиента редактировались Kubernetes манифесты.
- Применялись и проверялись изменения. Шло тестирование и отладка.
На стадии бета-тестирования и выдачи триальных версий, нужно было поддерживать 10 серверов. Для ускорения процесса релиза и обеспечения стабильности работы сборки в эксплуатации был разработан план, который состоит из следующих шагов:
- Подготовка Docker образа с актуальной версией приложения. Проводится один раз при новом релизе. Нет специфичных для конкретного клиента настроек.
- Подготовка шаблонов Kubernetes-манифестов. Проводится только если структура приложения изменена за время подготовки релиза. Случается гораздо реже, чем релиз.
- Автоматизация процесса с использованием Jenkins Pipeline.
Благодаря этому мы смогли уменьшить время деплоя с 3 часов до
Оптимизация процесса — с 30 минут до 10 минут
На стадии релиза в сентябре 2018 количество активных серверов стало стремительно расти, так что нам нужно было еще более ускорить процесс деплоя окружений для новых пользователей и конфигурации/обновления существующих. Создание Jenkins Pipeline позволило количественно оценить стадии подготовки и развертывания окружений. Были определены наиболее затратные по времени этапы.
Наиболее длинным оказался этап загрузки библиотек и модулей. Так как зависимости изменяются редко, они стали подготавливаться и храниться отдельно от основного процесса сборки и подключаться только в момент, когда должна была выполняться загрузка этих компонентов. После создания локального кеша библиотек, время подготовки окружения сократилось до 10 минут.
Работа в эксплуатации — с 10 минут до 1 минуты
Система Hurma активно разрабатывается, мы регулярно добавляем новый функционал, и возникла необходимость в более быстрых релизах новых версий. Многие из обновлений затрагивают базы данных, и необходимость применять их в правильном порядке стала следующим bottleneck’ом, который необходимо было исправить.
Использование Jenkins Pipeline позволило определить оптимальный путь решения и для этой задачи. Был применен механизм миграций для обеспечения прозрачности и легкости применения изменений, как для операций по начальной подготовке базы данных при обновлении, так и при изменении схемы базы данных.
Таким образом, мы получили унифицированный подход к обновлениям базы данных. Упростился процесс обновления окружений. Пропала необходимость иметь версию базы данных специфичную для каждой версии приложения. Любую версию окружения стало возможным обновить до любой новой версии. Это позволило сократить время запуска нового окружения до 5 минут, а обновления до 1 минуты.
Устранение рутины и human mistakes
Следующим шагом стала полная автоматизация процесса обновления многих десятков (а потом и сотни) окружений. Процесс обновления занимает 1 минуту, но для сотни окружений, его надо было повторить сотню раз. Задавать вручную все необходимые параметры стало очень долго и скучно. Из-за монотонности процесса могла повыситься вероятность человеческой ошибки.
Выход — автоматизация и Infrastructure as Code.
Так, как Jenkins Pipeline для подготовки одного окружения уже готов и хорошо себя зарекомендовал, оставалось только подготовить решение по запуску этого pipeline для нескольких окружений автоматически. Для этого был создан дополнительный Jenkins Pipeline, который брал информацию о желаемом состоянии из системы контроля версий (Version Control System). Использование Jenkins и Kubernetes позволило не только запускать обновление нескольких окружений за раз, но и делать это параллельно, экономя при этом огромное количество времени.
Планы на будущее
Мы работаем над дальнейшим ускорением и формализацией деплоя системы Hurma. Все компоненты, которые неспецифичны для окружения и остаются неизменными, в течение релиза войдут в состав Docker Image, тем самым ускорив процесс подготовки окружения еще больше.
Для усовершенствования и унификации шаблонов начинаем использовать Helm. Использование инструментов с большим сообществом позволяет гораздо эффективнее масштабировать окружения и облегчает онбординг новых участников в команду.
Каждый новый клиент Hurma system запрашивает функционал, который нужен конкретно им. Наиболее популярные запросы становятся основой для новых функций системы. Например, мы получали много запросов по управлению рабочим временем персонала — учет больничных, автоматизация начисления отпусков, управление работой из дома или предоставление отпусков за свой счет.
К тому же эта тематика была актуальной для IT-шников по результатам опроса DOU для рейтинга украинских IТ-компаний в 2018. Самые яркие комментарии вошли в статью «Глас народа», и эффективность управления больничными и отпусками оказалась острой проблемой. А в Hurma system этот функционал уже реализован и доступен в мартовском релизе системы.
Помимо этого, недавно HurmaSystem тестировала авторитетная компания в сфере HR и рекрутинга — UCG. Первая и вторая части их обзора были опубликованы в ФБ-сообществе «HR и рекрутеры. Украина» и подтвердили необходимость внедрения второго наиболее частого запроса от наших клиентов — расширения возможностей рекрутинга и интеграции с различными порталами работ. Работа над этим сейчас ведется, и этот функционал Hurma System запланирован к релизу на апрель.
Выводы
За полгода, прошедшие с даты релиза, количество наших клиентов превысило 120 и в очереди находится более 700 заявок. У нас появляются первые клиенты и партнеры в других странах — в Республике Беларусь, в Казахстане и Узбекистане. На основании запросов от клиентов и в соответствии с долгосрочной стратегией развития идет доработка системы и внедряются новые функции.
Мы надеемся, что Hurma System станет надежным инструментом для HR-менеджеров и руководителей и в вашей компании. Будем рады замечаниям и предложениям по доработке системы!
26 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.