Разработка Low-code-платформы по управлению бизнес-процессами для российского системного интегратора в области промышленности
В 2023 году мы разработали систему для комплексной автоматизации крупных промышленных предприятий. Клиент распространяет приложение среди своих пользователей и предоставляет им возможность кастомизации под свои запросы. Проект значим для промышленности, так как служит альтернативой иностранных аналогов.
Клиент
Наш клиент – российский системный интегратор в области промышленности. Компания оказывает широкий спектр услуг и разрабатывает собственные решения для предприятий.
Задача
Разработать Low-code-платформу для управления бизнес-процессами: она должна решать спектр задач по автоматизации, планированию и интеллектуальному управлению предприятием.
Сопутствующие задачи:
- максимально сократить сроки и стоимость разработки,
- снять ограничения по масштабируемости системы.
Решение
Решили начать с MVP и базового набора функций. Хотя в нашем случае слово «базовый» носит весьма условный характер – продукт включает в себя несколько подсистем:
- BPMN-движок – система создания и управления бизнес-процессами,
- UI-конструктор, в котором можно генерировать интерфейс системы.
Разработка
Нам нужно было реализовать систему, которая позволяет конструировать и отображать формы любой сложности. Для этого мы создали собственную библиотеку и компоненты – они обеспечивают гибкий интерфейс для пользователей. Использовали функциональность динамических компонентов Angular.
В процессе у нас возникла проблема с использованием одинаковых библиотек UI-компонентов для разрабатываемой системы и пользовательских элементов. Но мы не стали уходить от этого решения и внедрять отдельные библиотеки, более удобные для нас, разработчиков. Хотя мы и затратили больше времени, это позволило нам создать единообразный стиль для всех пользователей.
Обеспечение качества
Процесс тестирования был выстроен по классическому Waterfall: QA подключались на этапе ревью аналитики. Тестовая документация составлялась в процессе разработки, до передачи задачи в тестирование.
Внедрили систему отчетности о покрытии и качестве тестирования. Далее провели анализ наиболее критичной функциональности и усилили проверки на самые «вредные» сервисы. Также было подключено автоматизированное тестирование для приемочных кейсов по сценариям E2E. Интеграция таск-трекера с системой тест-менеджмента (AIO) позволила проводить первичные проверки по задачам еще на этапе разработки фич.
DevOps
Наш пул задач можно разделить на два больших направления:
- решение стандартных DevOps-задач для обеспечения разработки,
- создание коробочного решения, при помощи которого заказчик сможет самостоятельно разворачивать окружение у конечных клиентов.
В процессе мы обучали специалистов клиента, показывая как мы настраиваем кластер и деплой. Это нужно для того, чтобы в дальнейшем полученный код был использован как шаблон для разворачивания продукта на мощностях клиентов самим заказчиком. По окончании работ мы написали подробную инструкцию по установке кластера и приложения.
20% багофикс
Результаты
Мы выпустили уже несколько стабильных версий продукта: микросервисы позволяют создавать на базе библиотеки Camunda различные бизнес-процессы и конструировать для этого любые экранные формы. В системе реализована ролевая модель, отправка уведомлений, а также интеграция с мессенджерами и смс-провайдером.
Нам удалось снизить количество ошибок на стендах до минимальных значений и обеспечить высокую скорость выкатки фич. Также заказчик получил коробочное решение для Kubernetes, при помощи которого быстро и легко сможет развернуть окружение у клиентов.
Что еще сделали:
- выстроили процесс тестирования и адаптации требований под особенности системы,
- оптимизировали затраты на автотесты, чтобы в минимально короткие сроки проверять наиболее важные сценарии,
- сделали продукт стабильным и отказоустойчивым,
- внедрили процесс нагрузочного тестирования, чтобы оценить отказоустойчивость системы и определить требования к оборудованию,
- сняли ограничения по масштабируемости системы,
- настроили мониторинг работы системы,
- обучили сотрудников заказчика и оставили подробные материалы-инструкции по работе с продуктом.
Проект носил очень творческий характер – было интересно выстраивать бизнес-модель совместно с заказчиком. На каждом этапе и в каждом решении чувствовалась поддержка партнеров.
Подробнее о решении читайте в нашей статье.
Технологии
Angular, Material, Vex, Rancher, Docker, Helm, Zipkin, Gatling, Wiremock