Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

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

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

В марте 2020 к нам обратилась нидерландская социальная служба, которая оказывает уход лежачим, тяжелобольным и пожилым людям на дому и в стационаре клиник. Проект под NDA, поэтому название сказать не можем.

С чем пришёл заказчик

На момент обращения у клиента остро стояла задача автоматизировать работу сотрудников. Все данные хранились в Excel-таблицах, это порождало хаос и неразбериху. Поиск данных отнимал вечность у административного персонала. Надбавки к зарплате и прочие коэффициенты приходилось рассчитывать по формулам вручную. Календарём смен в Excel было неудобно пользоваться — постоянно возникали ошибки, чьи-то смены стирались, чьи-то дублировались. Любой человек с доступом к редактированию мог по невнимательности разрушить весь процесс.

С таким запросом к нам пришёл заказчик
С таким запросом к нам пришёл заказчик

Что сделали мы

Мы разработали ERP-систему с корпоративным доступом для разных ролей: администратора, сотрудников и менеджеров. ERP-система — это софт для оптимизации ресурсов компании, управления активами и финансового менеджмента.

В сумме наше решение экономит компании до 1500 человеко-часов в год.

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

Для нашей команды это был не первый подобный проект. Мы уже разрабатывали ERP и CRM-системы, и у нас уже накопились лучшие практики в создании таких сервисов. Мы умеем работать со сложной архитектурой и множеством интеграций.

Александр, Back-end разработчик проекта

Начинка портала: какую функциональность мы разработали

Внутри сервиса мы реализовали:

  • личный кабинет;
  • календарь смен;
  • интеграцию с базой данных клиентов;
  • трекер времени;
  • интеграцию с сервисом бухгалтерского учёта;
  • инструмент для планирования отпусков;
  • возможности для кастомизаций.

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

Одним из главных запросов заказчика была реализация RBAC — управления доступом на основе разных ролей внутри сервиса. Контент ЛК должен был адаптироваться под того, кто авторизовался: сотрудника, менеджера или администратора. Мы продумали решение, которое позволяет админу самостоятельно настраивать доступы другим участникам.

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

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

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

Внедрили список сотрудников и клиентов со всеми контактными данными. Всё можно быстро найти через поиск.

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

Есть отдельная функция для планирования отпусков и трекер времени.

Через приложение менеджеры и сотрудники планируют, кто, к кому и когда пойдёт. В зависимости от времени, потраченного на дорогу, сотрудникам автоматически рассчитывается бонус к зарплате. За то, в какие часы они дежурят, тоже добавляется коэффициент.

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

Как шёл проект

1. Проектирование, прототипирование и техзадание

В создании концепции сервиса нам помогали наши друзья из студии MDH. Все дизайнеры Secreate были заняты на других проектах, поэтому, чтобы не терять в качестве, мы подключили проверенную команду из нашей партнёрской сети.

Их подход к дизайну такой же, как и у нас — MDH не просто молча делают по готовому техзаданию, а анализируют запрос клиента и помогают добиваться поставленных бизнес-целей. Словом, мы могли им довериться.

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

Первым делом сформировали User Stories — это краткая формулировка, которая описывает, что система должна делать для пользователя. «Я как такой-то пользователь в таком-то разделе могу сделать следующие действия». Описывая механики взаимодействия разных типов пользователей с сервисом, команда продумала пользовательский сценарий.

На этом же этапе зафиксировали функциональные требования и критерии приёмки, чтобы во время разработки все участники проекта понимали, как работают фичи. Так формируется единый документ и для разработчиков, и для тестировщиков.

User Stories группировали по сложности технической реализации и приоритетов бизнеса.

На основе этих данных спланировали дорожную карту проекта (roadmap) — последовательность действий с информацией, какая команда в каком спринте и какой объём работы будет делать. Карта также помогает держать заказчика в курсе что происходит с его продуктом — на какой он стадии разработки.

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

Работали по методологии waterfall — это было требованием клиента на старте проекта. Не выделяли MVP, а последовательно отрисовывали и разрабатывали все макеты.

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

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

Александр, Back-end разработчик проекта

После согласования прототипов и всех сценариев уже составили техническое задание. Это описание каждого элемента прототипа — откуда он появляется и что происходит после его нажатия. Также в техзадании описали структуру проекта, интеграции, валидации и принцип работы с оптимизациями и так далее.

Пример одного из наших ТЗ
Пример одного из наших ТЗ

2. Разработка

Как правило, разработка ERP-систем связана со многими сложностями:

— необходимо интегрировать бухгалтерские программы, системы управления производством, системы управления закупками и продажи;

— настроить и адаптировать систему под специфику бизнес-процессов, продуктов и услуг, а также сделать так, чтобы она соответствовала законодательству;

— обеспечить безопасность данных, так как внутри ERP-систем тонна конфиденциальной информации.

На этом проекте мы по просьбе клиента сфокусировались именно на настройке и адаптации системы под бизнес-процессы.

Бэкенд мы разработали на Laravel, фронтенд — на Vue.js. Как протокол общения фронтенда с бэкендом использовали GraphQL. В качестве базы данных внедрили PostgreSQL. Сервис кэширования — Redis. Проект реализовали за один год.

Над сервисом работали: менеджер проектов, два дизайнера, два разработчика, тестировщик, аналитик.

Команда и стек проекта
Команда и стек проекта

Итоги

Сейчас мы завершили разработку всех фичей, необходимых клиенту, так что проект полностью завершён.

В итоге смогли:

— в два раза повысить скорость составления менеджерами соцслужбы расписания сотрудников;

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

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

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

Наши сотрудники также поделились впечатлениями о реализованном решении.

Как мы автоматизировали работу 1000+ сотрудников соцслужбы в Нидерландах: разработка ERP-системы

Не забудьте поставить +1, если вам понравился наш проект.

А если вы ищете надёжного партнёра для разработки ERP-системы или любого другого веб-сервиса, пишите нам в Телеграм или на почту hello@secreate.io — расскажем больше о наших возможностях и преимуществах.

2828
7 комментариев

Жаль, что кейсы на вц читают плохо, если это не продвижение диванов на порнхабе.

5
Ответить

Таких клиентов у нас ещё не было))) Но кейс с удовольствием почитал бы. Есть ссылка?

Ответить

Пишите в комментариях, о каких ИТ-проектах ещё рассказать в следующих статьях)

2
Ответить

У многих стоит выбор между тем чтобы настроить готовое решение и сделать свое. Этот кейс показывает что свое – это сложно, но можно и даже нужно)).

1
Ответить

Да, своя система всегда более гибкая. Она даёт возможность адаптироваться под конкретные потребности бизнеса. С ней можно избежать ограничений, которые зачастую есть у готовых решений.

Ответить

Интересный проект. Спасибо.

1
Ответить