Внедрение цифровых технологий изменяет методы ведения бизнеса, причем темп изменений никогда еще не был таким высоким, как сегодня. Главная задача цифровизации — ускорение бизнеспроцессов. Чтобы повысить эффективность работы и остаться конкурентоспособными на рынке, компании вынуждены осваивать новые инструменты и методы. Всё большую популярность приобретает концепция программирования lowcode (или nocode), предполагающая разработку бизнесприложений с минимальным (или нулевым) использованием кода. Концепция отражает реакцию рынка на сложность и разнообразие современных средств разработки ПО. Согласно исследованию компании Gartner, к 2024 году lowcodeплатформы будут применяться при разработке более чем 65% приложений по всему миру.
Востребованность такой технологии растет изза повышенного спроса на бизнесприложения в условиях динамично меняющегося рынка и нехватки квалифицированных программистов. Lowcodeпрограммирование — вполне естественный этап повышения уровня абстракции при разработке приложений, которые создаются в графической среде с помощью блоков и связей между ними, строящихся по методу перетаскивания (draganddrop). Такой подход позволяет создавать приложения специалистам, не обладающим навыками и знаниями в области программирования, то есть инженерам, бизнесаналитикам или даже продвинутым пользователям, которыми являются ключевые сотрудники, носители информации о процессах компании. Предоставление в их распоряжение инструмента, позволяющего, по сути, создавать/изменять компоненты ITсистемы предприятия, позволяет повысить гибкость и прозрачность бизнеса, снизить затраты и увеличить скорость разработки корпоративной ITсистемы.
Lowcodeпрограммирование помогает сократить разрыв между профессиональными разработчиками и так называемыми гражданскими разработчиками (citizen developer), то есть сотрудниками компании, которые раньше не были связаны с разработкой приложений. Это дает возможность исключить трудности взаимодействия между бизнесзаказчиками и разработчиками внутри компании. Применение lowcodeметодологии допускает создание единой команды для разработки приложений, когда одну часть задач берут на себя гражданские разработчики, а другую — профессиональные программисты. Тем самым lowcodeпрограммирование помогает снизить риски и сократить сроки реализации внутренних задач в корпоративной системе. Руководители разных уровней получают возможность оперативно опробовать новые модели управления, самостоятельно адаптировать интерфейсы к потребностям пользователей, быстро создавать новые формы отчетов, вносить изменения в бизнеспроцессы и т.д.
Следует отметить, что lowcodeразработка не означает отказ от написания кода при создании бизнесприложений. Действительно, есть задачи, которые можно полностью решить посредством lowcodeпрограммирования. Но, как показывает практика, при разработке крупного или сложного приложения без профессиональных разработчиков не обойтись.
Рассмотрим, например, задачу оперативного снятия данных со станка в цехе предприятия для последующего их анализа на компьютере. Можно ли решить ее средствами lowcodeразработки?
Решение этой задачи предполагает несколько аспектов. В первую очередь необходимо получить данные с промышленного оборудования, например станка. Здесь есть два варианта: первый — на предприятии уже развернута ITсистема, которая получает данные с оборудования, а второй — на предприятии такой системы нет, но есть оборудование и нужно разработать специальное приложение, чтобы считывать данные с этого оборудования.
В случае если система развернута, данные с оборудования снимаются и сохраняются этой системой. Возможно, это какаянибудь специализированная система, которая не отображает всех данных или не удовлетворяет пользователей по какимлибо другим параметрам. В этом случае применение lowcodeплатформы действительно оправданно — можно подключиться к существующей системе, которая собирает данные, считать нужную информацию и создать приложение с помощью инструментов lowcodeразработки.
Если рассматривать вариант, когда нужно передать данные с оборудования непосредственно в приложение при отсутствии развернутой системы сбора данных, то для решения такой задачи, кроме применения lowcodeплатформы, возможно, потребуется привлечение программистов, которые должны будут построить связи с протоколами промышленного оборудования и обеспечить преобразование данных в формат, подходящий для lowcodeсреды. Затем, используя эти данные, инженер может самостоятельно создать нужное приложение на lowcodeплатформе. Такую платформу предлагает, например, компания Mendix, которая два года назад стала подразделением концерна Siemens.
Платформа Mendix способна обмениваться данными с большинством индустриальных систем управления предприятием. Одна из ключевых задач позиционирования решений Mendix — создание корпоративной коллаборативной платформы верхнего уровня, на основе которой можно быстро и просто создавать логику интерфейсов. То есть она должна взаимодействовать с различными системами, в том числе наследуемыми (legaсy). Исторически сложилось так, что эта платформа изначально легко интегрировалась с ERPсистемами компании SAP. Что касается решений других вендоров, соответствующих требованиям отраслевых промышленных стандартов, то для подключения к большинству современных систем в состав платформы Mendix включены коннекторы (или APIинтерфейсы). Причем эти интерфейсы разработчики могут бесплатно скачивать онлайн. Mendix предлагает также решения для подключения к другим системам управления предприятием, построенным на стандартных базах данных типа SQL. Это одно из важнейших конкурентных преимуществ платформы. Созданное с помощью lowcodeплатформы приложение автоматически, одним щелчком мыши, отслеживает все изменения и обрабатывает скрипты базы данных, устраняя многие трудоемкие процессы развертывания и функционирования систем. Технология Mendix отличается от других предложений на рынке тем, что обеспечивает многоплатформенность, то есть разработанное приложение можно запускать на компьютере, планшете или смартфоне под управлением различных операционных систем. При этом Mendix поддерживает «нативные» приложения, то есть приложение может работать без подключения к сети (серверу) и использовать такие аппаратные возможности устройства, на котором работает, как, например, средства аутентификации (отпечаток пальца, сканирование лица и другие), видеокамера, GPS и т.п. Кроме разработки приложения какимлибо способом, важным ключевым фактором является его тестирование, сопровождение и весь жизненный цикл. Mendix содержит весь комплекс необходимых инструментов для решения этих задач и поддерживает методологию CI/CD.
Чтобы создать бизнесприложение на платформе Mendix, с помощью которого можно оперативно анализировать какиелибо данные или параметры, не обязательно обращаться к стороннему разработчику или системному интегратору, который внедрил систему управления предприятием. Такое решение можно создать силами сотрудников компании. Это позволяет предприятию отказаться от аутсорсинговых услуг, тем самым обеспечивая дополнительную экономию затрат.
Несмотря на популярность lowcodeпрограммирования в европейских странах, в России эту технологию пока применяют редко. Mendix только недавно вышла на российский рынок, тем не менее, специалисты Siemens Digital Industries Software, отвечающие за внедрение платформы Mendix, уже начали прорабатывать совместные решения со своими российскими коллегами. В частности, для отечественных предприятий предлагается решение, которое обеспечивает подключение платформы Mendix к системе «1C», весьма популярной на российском рынке.
Технические специалисты Siemens Digital Industries Software продемонстрировали некоторым российским заказчикам возможности и функционал платформы Mendix. Например, было показано, как можно быстро и просто передать данные из системы SAP в демоприложение, созданное на платформе Mendix. Программисты, которые занимаются интегрированием различных систем, хорошо понимают сложность получения данных из других систем, их интерпретации и преобразования в требуемый формат. Часто такую задачу решить не удается вовсе. У специалистов, продемонстрировавших возможности решения Mendix, этот процесс занял всего 57 минут.
Возникает вопрос: может ли менеджер, используя lowcodeпрограммирование, справиться с задачей получения сложной и иногда сложно структурированной информации (например, из хранилищ системы SAP) или для этого нужен квалифицированный программист? Однозначно ответить на этот вопрос нельзя. Всё зависит от опыта и знаний конкретного человека. Следует учитывать, что концепция lowcode не означает, что сотрудник компании может вообще не иметь опыта программирования или не обладать знаниями в этой области. Так или иначе, разработчик должен быть знаком с методологией создания приложений, построения моделей данных. Он должен понимать задачу и знать последовательность ее решения, в которую входит ряд этапов. Вначале следует описать модель данных, а затем построить логику работы приложения. В любом случае вряд ли менеджер, впервые скачав инструмент разработки с сайта компании, сможет быстро создать приложение. Siemens Digital Industries Software предлагает бесплатные webкурсы по основам lowcodeразработки, окончив которые инженер или менеджер приобретет знания, достаточные для самостоятельного создания приложений на базе платформы Mendix.
При рассмотрении вопроса о применимости lowcodeпрограммирования следует учитывать специфику поставленной задачи. Например, lowcodeплатформа идеально подходит для написания приложений, обрабатывающих готовые данные. Это наиболее быстрый и эффективный путь создания работающего решения. Однако для таких задач, как, например, разработка компьютерной игры или драйвера оборудования, который должен интерпретировать полученные с аппаратного уровня данные, lowcodeподход не применим.
Преимуществом lowcodeпрограммирования является то, что этот метод обеспечивает преемственность кода. При классическом сценарии создания приложения текст программы состоит из множества строк кода. Причем далеко не всегда программист оставляет комментарии и описания алгоритма в тексте программы. На практике у каждого программиста имеется свое мнение о том, как лучше построить программу. Поэтому если программист, разработавший систему, уходит из компании, то может возникнуть проблема, связанная с тем, что никому не удается разобраться в коде. При применении lowcodeплатформы разработка приложения, по сути, унифицируется, поскольку алгоритмы приложения визуализируются с помощью графических блоков и связей между ними. Тем самым устраняется проблема преемственности, причем в созданном приложении способен разобраться не только квалифицированный программист, но и, например, инженер.
Можно выделить три основных типа решения для ITсистемы предприятия, которые определяют, следует ли заказчику самостоятельно разрабатывать приложение с применением lowcodeпрограммирования или поручить эту работу системному интегратору или другой сторонней организации. Первый тип — это инновационная система, которой на рынке до сих пор не существовало, а компания хочет реализовать какиелибо новые подходы или собственные бизнесмодели. Второй тип системы — это коллаборативная платформа, когда имеется задача получить данные с существующей системы, дополнить их необходимой логикой и создать единое информационное пространство предприятия. И третий вариант — это готовые системы под конкретные задачи компании, такие как ERP, CRM, MOM или MESсистемы. При первом и втором сценарии, то есть когда нужна инновационная система или коллаборативная платформа, заказчику целесообразно самостоятельно создавать приложение на базе lowcodeплатформы. Когда речь идет о готовых системах, то их лучше покупать у вендоров, потому что у них накоплен необходимый опыт, имеются квалифицированные специалисты, которые реализуют ITрешение быстрее и c меньшими издержками, чем при их самостоятельной разработке. Siemens Digital Industries Software охватывает все три варианта — компания как предлагает готовые системные решения для конкретных задач, так и дает возможность заказчикам разрабатывать самостоятельные решения, строить коллаборативные и инновационные системы на базе платформы Mendix.
Как показывает опыт, применение lowcodeплатформы позволяет сократить время разработки на порядок и более, при этом ресурсов тратится на 70% меньше. Это достигается главным образом за счет возможности коллаборативной работы и оптимизации использования ресурсов компании. Платформа Mendix обеспечивает совместную эффективную работу специалистов из различных подразделений компании и программистов из департамента информационных технологий, что значительно ускоряет процесс. В отличие от этого при традиционном подходе вначале подразделение выходит с бизнесидеей, затем разрабатывает и утверждает техническое задание, которое передается непосредственно исполнителям. После этого пишется ПО, выполняется тестирование и, наконец, решение вводится в эксплуатацию. На этот процесс может понадобиться год и более в зависимости от задачи и количества ресурсов. При использовании платформы Mendix создание приложения и его тестирование может занимать от месяца до трех. Это достигается за счет применения на практике популярного сегодня agileподхода при разработке ПО. Когда приложение можно создать всего за месяц и изменить его всего за несколько минут, предприятие способно быстрее адаптироваться к динамичным условиям ведения бизнеса.
Подход lowcode может быть применим в различных отраслях промышленности и практически в любой современной компании, где есть ITотдел. Безусловно, различные компании находятся на разных этапах «цифровой зрелости», и иногда применение lowcode с первого взгляда не очевидно. Но если разобраться в бизнеспроцессах предприятия более детально, то Mendix может оказаться полезным для решения задач различных подразделений — от отдела кадров (приложения по поиску, утверждению кандидатов) до отдела административнохозяйственной деятельности (контроль административных ресурсов, заказов и т.п.).
Сегодня, в эру цифровой трансформации, каждая компания становится, по сути, ITкомпанией, а каждый сотрудник должен обладать навыками программирования, точно так же, как раньше он был просто обязан уметь пользоваться текстовыми процессорами или электронными таблицами. Сейчас подобного рода требованием становится способность инженера или менеджера фиксировать свои знания, навыки и опыт в бизнесприложении. Платформа Mendix предоставляет сотрудникам компании инструмент, с помощью которого они не только смогут самостоятельно создать прототип приложения и готовое решение, но и станут гораздо лучше понимать своих коллег из ITотдела, тем самым ускоряя бизнеспроцессы, экономя время и деньги для своей компании.