Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Считается, что крутой разработчик программного обеспечения должен обладать как минимум десятилетним опытом, активно участвовать в проектах и решать задачи абсолютно любого уровня сложности. Так оно и есть, однако демократизация в сфере ИТ, в том числе в разработке, вносит свои коррективы, делая доступнее для конечных потребителей все больше инструментов и сервисов. «Разработчиком» теперь можно стать и без кода.
Я занимаюсь разработкой на платформе ТУРБО (одного из ключевых направлений бизнеса «Консист Бизнес Групп») уже 20 лет. И, как и многие тут, к low-code-решениям относился настороженно. Что заставило меня поменять мнение, попробую рассказать на примере нашей платформы.
Начнем с того, что развитие low-code/no-code технологий можно уже наблюдать и на примере сложных информационных систем управления, в проектировании которых на базе отечественной платформы ТУРБО я принимаю непосредственное участие. Хотя есть и отличия.
Речь идет о тиражных продуктах в категориях ERP, CRM, CPM, EAM – широком спектре задач учета и управления ресурсами, процессами, данными в организациях и на предприятиях.
Такие системы обладают, как правило, встроенными инструментальными средствами или набором интерфейсов для внешних интегрированных сред разработки. Поэтому их можно рассматривать не как черные ящики с конечным набором функций, а как конструкторы с типовыми бизнес-процессами и сущностями в конкретной области управления.
Совокупность серверов и сервисов ядра таких систем поддерживает набор характеристик, важных для высоконагруженных приложений – sustainability, scalability и др. В то же время эта совокупность дает возможность быстрой реализации бизнес-задач на основе готового набора сущностей и типовых процессов. Такая быстрая разработка – не с нуля, а путем переиспользования или расширения готового кода – похожа на подход low-code.
Low-code в системах управления
Тренд на уход от большого объема разработки к механизмам настройки бизнес-приложений получил отражение и в решениях, построенных на нашей платформе. Они позволяют на каждой стадии своего жизненного цикла формировать на лету сложную взаимосвязь объектов системы (измерения, формы, расчеты, отчеты) и гибко менять эту взаимосвязь без программирования. Целенаправленное развитие концепции low-code продолжается в новых релизах платформы и ее приложений.
В качестве примера разберем работу с некоторыми типовыми бизнес-приложениями ТУРБО.
В решении “ТУРБО Учет и финансы” подход low-code применяется в большом количестве объектов, определяющих базовые принципы формирования балансов по объектам учета и управления. К ним относятся:
учетная политика и план счетов;
аналитические признаки для учетных операций (тип операции);
типовые операции;
параметрические отчеты;
регламентированные отчеты.
В решении “ТУРБО Управление цепочками поставок” low-code, помимо параметрических настроек, применяется во фреймворке обмена ресурсов, который:
обеспечивает фиксацию количественных и качественных изменений состояния процессов;
формирует оценку ресурсов в накопленной стоимости и распределенной ценности;
создает ссылочные связи внутри системы, формирует временные ряды информации и выстраивает аналитические in-memory OLAP-кубы.
В “ТУРБО Бюджетировании” low-code применяется в настройке объектов:
измерения (справочники) – в виде набора преднастроенных перечней, смысловую нагрузку по которым можно задать перед началом формирования бюджетной модели;
формы ввода (ввод по аналогии Excel, ячейки и формулы) – развернутая система настроек, определяющая не только расположение объектов по страницам, строкам, столбцам, но и управление внешним отображением, включая цветовое, и группировку различных данных по сегментам вывода;
расчеты – формирование «легких» скриптов по бюджетной модели, объединяет измерения и данные, введенные в формах, для автоматизированного формирования расчетных значений ячеек, параллельно отражает схему расчета бюджетных показателей;
отчеты (табличные, графические, презентационные) – получение итоговых результатов процесса бюджетирования и преобразование их под различные цели (просмотр, отражение в виде графиков и диаграмм, подготовка презентации полученных результатов).
В “ТУРБО BI” (аналитика и отчеты) low-code используется в следующих объектах и настройках:
интеграционная шина – инструментарий интеграции в существующую экосистему;
отчеты – через визуальное задание наборов параметров вывода и группировки;
интерактивные панели – группировка элементов (отчеты, таблицы, графики, перечни) с указанием взаимодействия и детализацией.
Модель имеет значение
В сфере управления ресурсами, процессами и данными предприятий концепция low-code связана с воплощением в информационной системе модели деятельности организации – графического и алгоритмического цифрового двойника ее процессов. И здесь low-code – это, по сути, параметрическая донастройка деятельности и ее визуального отражения на рабочих местах непосредственных пользователей системы управления. Причем пользователей разного уровня, от исполнителей до бизнес-аналитиков и разработчиков.
Важно следующее. Если модель создания цифровых двойников деятельности поддерживается информационной системой управления, как в нашем случае ТУРБО, то есть если архитектура моделирования деятельности задана, то для запуска в промышленную эксплуатацию или перенастройки такой системы функциональные архитекторы и программисты не потребуются – квалифицированного пользователя и бизнес-аналитика будет достаточно.
Современная информационная система управления должна реализовывать модель деятельности предприятия на различных ее уровнях.
Реляционная модель – табличное представление данных и связей, работа с множествами.
Учетная модель – «проводка» по бухгалтерским счетам с отражением структуры изменения и формированием баланса.
Процессная модель – обмен ресурсами (деньги, сотрудники, ТМЦ) в процессе под контролем его участников.
Событийная модель – отражает основные качественные или количественные параметры у каждого события, возникающего в организации или системе.
Финансовая модель – моделирование ключевых показателей деятельности с учетом различных параметров и сценариев.
Развитие подобного рода моделей смещает фокус компетенций от ИТ в предметную область управления и тем самым концентрирует бизнес не на обеспечивающих, а на ключевых бизнес-задачах.
Как ТУРБО делал low-code в 90-е
Многие технологические подходы и нововведения, реализованные в ранних версиях ТУРБО, впоследствии были реализованы и стали массовым явлением в ИТ. На заре появления персональных компьютеров в бизнесе их использовали для простейших задач – распечатки документов. Для более сложных задач просто не существовало ПО, а даже самым компетентным сотрудникам тотально недоставало «компьютерной грамотности».
Эта ситуация не могла не привести к мысли о создании программных продуктов, которые позволяли бы пользователям в понятной им форме использовать программы для решения прикладных задач. Такой программой в начале 1990-х и стал «Турбо Бухгалтер». Для запуска продукта в эксплуатацию в текстовых файлах надо было заполнить несколько списков – счета, ТМЦ, сотрудники, контрагенты, проводки. Программа обрабатывала эти данные и позволяла стразу получить все нужные бухгалтерские отчеты – оборотные и аналитические ведомости, карточки счетов.
С такой задачей мог справиться любой бухгалтер с высшим образованием и профильным опытом работы. Три простых перечня и многодневная кропотливая работа стала укладываться в несколько часов, высвободив время на основную деятельность. Концепция «Турбо Бухгалтера» не имела отдельного названия, но полностью укладывалась в идеологию low-code.
Ок, что завтра?
Low-code существует не только в виде инструментов для нарезки сайтов и не очень сложных workflow над таблицами google. Его все больше и внутри сложных информационных систем, как мы и увидели на примере нашей платформы. Очевидно, что внешний инструментарий и встроенные фреймворки будут взаимно влиять друг на друга, встраиваясь, реализуя коннекторы и воспроизводя лучшие практики. Уже сегодня любой внешний low-code/no-code инструмент – это совокупность коннекторов с разными внешними системами и сервисами.
Информационные системы управления характеризуются большими объемами отслеживаемых событий и объектов, в них одновременно работает много пользователей. Дальше – больше. Плотность событий, количество пользователей и устройств, объем обрабатываемой информации растет лавинообразно. Поэтому ближайший фокус развития low-code – в отработке повышения плотности информации, со всеми механизмами упрощения восприятия, интеллектуальными помощниками и одновременным использованием устройств разных форматов для разных целей.
Следующее перспективное направление – принятие решения и реализация ответной реакции программного или аппаратного робота (в растущих объемах такая реакция становится чрезмерной для человека, но вполне подлежит алгоритмизации для исполнителя). Типичный пример – интерпретация совокупности сигналов о режиме работы оборудования и автоматическое создание тикета на сервисное обслуживание.
Нужно ли на фоне всего происходящего создавать сложные информационные системы с нуля или стоит попробовать промышленную платформу с элементами low-code? Это зависит от многих факторов и, в первую очередь, от компетенций команды-исполнителя. Поэтому в разработке ПО гиганты в виде компетентной команды, гарантирующей реализацию замысла, либо мощной платформы разработки лишними точно не будут.
А что думаете вы? Готов к обсуждению в комментариях.