Привет! В департаменте корпоративных систем ЛАНИТ, где я работаю аналитиком, одно из направлений — разработка ИТ-решений и бизнес-приложений на базе систем визуального программирования. Последние два года мы реализовывали проекты с использованием low-code платформы BPMSoft. Хочу поделиться нашим опытом в этой статье. Она будет полезна тем, кто: 

  • рассматривает возможность использовать или уже применяет low-code платформы в автоматизации процессов работы организации;

  • работает с low-code как пользователь или представитель команды разработки;

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

BPMSoft — это система для автоматизации бизнес-процессов, работающая в нотации BPMN 2.0. Для большинства задач написание программного кода не требуется. Платформа содержит инструменты для гибкой настройки и кастомизации процессов, а также готовые бизнес-приложения для управления продажами, маркетингом, сервисом, коннекторы и расширения для адаптации к различной ИТ-инфраструктуре.

Разработчик VS аналитик: как меняется подход к формированию команды при работе с low-code

«Нужно оценить коммерческое предложение и прикинуть команду…» — так начинается работа над каждым проектом. Опытные команды пользуются чем-то вроде калькулятора: знакомятся с вводными от заказчика, а потом планируют, сколько сотрудников и в какой период будут задействованы, какие затраты в человеко-часах и деньгах потребуются.

Однако вендоры low-code платформ предлагают основной рабочей лошадкой назначить аналитиков, а не разработчиков, оставив последним совсем уж специфичные задачи. Если говорить про BPMSoft, то действительно, и инструментарий, и база знаний рассчитаны на пользователя, в большей степени знакомого с продуктом и его возможностями, чем на разработчика с определенным стеком технологий.

Рисунок 1. Схема бизнес-процесса отправки email-сообщений, которая настраивается аналитиком
Рисунок 1. Схема бизнес-процесса отправки email-сообщений, которая настраивается аналитиком

Вот и мы перераспределили силы, оставив кодеров на скамейке запасных: в одном из первых наших проектов на low-code платформе по настройке системы управления запросами пользователей и клиентов с несколькими тысячами обращений в день приоритет был отдан именно работе аналитиков.

В нашей команде у каждого специалиста своя история и различный опыт как по части задач (саппорт, тестирование, аналитика, разработка), так и по части эксплуатируемого ПО. Именно этот винегрет позволил нам выстроить продуктивную работу в low-code. Нельзя сказать, что все шло гладко: если с настройками разделов в платформе проблем практически не возникало, то вот с поиском удобного способа работы в команде, в том числе с настройкой системы управления версиями, вопросов было в разы больше. 

 Чем больше опыта мы накапливали, тем сложнее задачи мы брали на исследование, и здесь уже не обошлось без классической разработки. Можно бесконечно долго пытаться настроить сложные процессы, а потом все равно пойти и написать задание-сценарий на С#.

 

Рисунок 2. Элемент «Задание-сценарий» в настраиваемом бизнес-процессе для реализации расширенной логики программного кода на С#
Рисунок 2. Элемент «Задание-сценарий» в настраиваемом бизнес-процессе для реализации расширенной логики программного кода на С#

В итоге только для двух крупных задач нам потребовалось участие разработки: для модуля учета трудозатрат и для модуля расчета времени на обработку обращений по сервисным договорам, в каждом из которых были нетривиальные требования и сложные вычисления. Причем, в первом случае реализация требований была выполнена путем настройки существующего раздела и добавления бизнес-процесса с несколькими сценариями на С#. Во втором случае был написан отдельный модуль и добавлен новый кастомный раздел в интерфейс пользователя, обеспечивающий настройку и корректировку параметров SLA администратором.

На сегодняшний день в проектах около 80% задач мы выполняем, привлекая только аналитиков. Более того, некоторые свои решения, реализованные первоначально с помощью кода, мы перекладываем в плоскость настройки бизнес-процессов, понимая, что целесообразно передать заказчику и службе сопровождения однородный продукт (только работа в интерфейсе платформы), нежели иметь пачку модулей «сбоку».

Несем low-code в массы, или почему мы используем визуальное программирование

Это быстро. Определенно быстрее, чем классическая разработка.

Если у организации есть потребность оперативно автоматизировать внутренние процессы и самостоятельно их поддерживать и развивать, то решение на low-code платформе оптимально.

При необходимости можно продумать последовательный переезд в единое пространство для всех сотрудников по большинству бизнес-процессов — эта задача вполне реализуема с помощью low-code. Даже базовые возможности коробочного решения обычно позволяют настроить коммуникацию, создать реестры задач (настроить карточку объекта, статусную модель, выполнить импорт/экспорт записей), сформировать отчеты, подготовить печатные формы. Тем не менее для масштабных проектов участие опытной команды разработки и наличие нескольких пользователей из числа сотрудников заказчика, прошедших обучение по разным компетенциям, конечно, предпочтительнее.

Все LCAP-платформы по-разному подходят к содержанию коробки: в одних, покупая лицензию, вы приобретаете только набор инструментов для работы. Другие, напротив, предоставляют различные готовые отраслевые решения, в которых можно “пощупать” продукт с первых минут, а настраивать уже в процессе обучения или эксплуатации.

В BPMSoft пошли по второму пути: приобретаемый продукт в зависимости от предполагаемой области применения будет содержать ряд разделов, готовых к работе. Например, для продукта «Управление продажами» в систему заложены эталонные процессы работы с разными циклами сделки.

Рисунок 3. Интерфейс пользователя для работы с продажами
Рисунок 3. Интерфейс пользователя для работы с продажами

Но типовые решения рано или поздно заканчиваются, и необходимо настраивать процессы, для которых нет стандартного рецепта. Кроме того, в экосистеме могут появиться мелкие процессы, до которых руки у основной массы пользователей пока не дошли. И здесь Конструктор — must have для вашей сборки.

Тиражирование при low-code разработке: почему мы любим Конструктор и используем магазин приложений

BPMSoft Конструктор — это продукт для создания с нуля любого бизнес-процесса, функционирующего в организации. Можно дополнить коробку собственными подпроцессами или разделами, которые отличаются составом параметров, ролевой моделью, статусной моделью, наличием интеграций, сферой применения.

Рисунок 4. Интерфейс BPMSoft от лица администратора – «Дизайнер системы»
Рисунок 4. Интерфейс BPMSoft от лица администратора – «Дизайнер системы»

Мои коллеги любят Конструктор и уважают работу с ним куда больше, чем настройку готовых модулей (добавить поля и связи, переименовать статусы). Разумеется, работы с созданием разделов с нуля в разы больше, чем с настройкой, но и результат, который мы на выходе показываем заказчику, куда ближе к требуемой функциональности.

В нашей практике полностью на базе Конструктора реализован ранее упомянутый проект по работе технической поддержки с клиентскими обращениями (Service Desk). Потребности заказчика во взаимодействии между тремя линиями саппорта требовали глубокой кастомизации, настройки интеграции с различными внешними системами в обе стороны и разработки сложных алгоритмов расчета времени по сервисным договорам. Пример кастомного раздела приведем ниже:

Рисунок 5. Раздел для настройки параметров сервисных договоров, разработанный в Конструкторе
Рисунок 5. Раздел для настройки параметров сервисных договоров, разработанный в Конструкторе

Помимо создания раздела для настройки параметров SLA Конструктор использовался также для создания разделов базы знаний — отдельного рабочего места сотрудников сопровождения.

Рисунок 6. Рабочее место “База знаний”, разработанное в Конструкторе
Рисунок 6. Рабочее место “База знаний”, разработанное в Конструкторе

Не станем умалчивать тот факт, что low-code платформы имеют ограничения в части настройки UI: многое из того, что не относится к основному функционалу и обслуживает работу основных разделов, имеет специфичное, слабо регулируемое представление (например, журналы или системы оповещений/уведомлений). Вот тут на помощь можно «позвать друга» в лице вендора и его партнеров, успешно реализовавших модули для решения таргетных задач, вроде коннекторов или аналитических отчетов, или подготовивших крупный блок для новых отраслевых решений.

Поскольку пользовательский опыт у большинства заказчиков совпадает (речь об использовании продуктов, к которым все привыкли, но которые нужно/желательно заменить), то и ожидания у многих сходятся.

  • «Нам нужно представление в виде канбан-доски…»

  • «Хорошо бы реестр отображать в виде иерархического списка…»

  • «Пусть из проектных задач формируется диаграмма Ганта…»

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

Рисунок 7. Поиск приложений для BPMSoft по функциональным критериям
Рисунок 7. Поиск приложений для BPMSoft по функциональным критериям

«Отказываться нельзя, использовать»

Именно к такой формулировке мы пришли в своей команде.

По стоимости, качеству и скорости разработки low-code платформы однозначно выигрывают у других вариантов реализации бизнес-приложений. Если у вас есть долгосрочные планы по внедрению, развитию и эксплуатации продукта, использование low-code позволит снизить совокупную стоимость ИТ-решения.

Low-code платформы — это:

  • доступность коробочного решения, включающего обобщенный опыт, который можно пощупать с первых минут; 

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

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

Комментарии (0)