Как управлять разработкой без разработчиков | Большие Идеи

・ Тренды
Статья, опубликованная в журнале «Гарвард Бизнес Ревью Россия»

Как управлять разработкой
без разработчиков

Для каких случаев подходит low-code и no-code-разработка

Авторы: Крис Йоханнессен , Томас Дэвенпорт

Как управлять разработкой без разработчиков
Иллюстрация: Richard Newstead/Getty Images

читайте также

На выход из кризиса: как готовиться к нормальной жизни уже сейчас

Дэвид Лэнсфилд

Три секрета успешной дистанционной работы

Анита Уильямс Вулли,  Кристоф Ридл

Неравный брак

Оксана Шевелькова

Чужими руками

Куэлч Джон,  Макговерн Гейл

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

Однако недавно появился и третий путь, который становится все популярнее. Приложения low code/no code («(почти) без написания программного кода», LC/NC) могут лучше подойти под требования бизнеса, внедряются быстрее и, как правило, обходятся дешевле, чем системы внутренней разработки. Это не волшебство: просто такие приложения передают разработку из рук профессиональных архитекторов и программистов в руки пользователей, которые с помощью простых меню могут за считанные часы разработать и внедрить систему для себя или своего подразделения. В ней также может быть внедрен разговорный или поисковой интерфейс. Для создания системы нужен минимум навыков программирования.

Один из самых быстрорастущих типов систем LC/NC — это роботизированная автоматизация процессов (robotic process automation, RPA). Такие системы вводят простые правила для принятия решений и позволяют пользователям разрабатывать автоматизированные структуры, которые могут брать информацию сразу из нескольких систем. Они отлично подходят для автоматизации вспомогательных административных процессов. Некоторые RPA-инструменты поддерживают также продвинутые функции, которые позволяют выявлять возможности автоматизации или работать с ИИ-инструментами (так называемая умная или дополненная автоматизация). RPA-программы обычно относятся к категории low-code (то есть они все же требуют некоторых технических навыков), но существуют и «легкие» версии, работающие в режиме no-code. Они ближе к plug-and-play-системам, но в то же время предлагают меньше вариантов для персонализации и масштабирования.

Кроме того, с помощью LC/NC-инструментов можно разрабатывать системы управления рабочим потоком или кейсами (современная версия традиционных инструментов для этих целей), виртуальных ассистентов и чат-боты или функциональные инструменты в сфере маркетинга. Интерфейсы таких программ выстроены так, что можно создавать новые приложения и функции, просто выбирая варианты в меню, а не нанимая целую армию разработчиков.

Все это резко увеличивает число сотрудников, которые могут заниматься разработкой ПО. Low-code-программы, которые все же могут требовать некоторых навыков программирования, обычно используются профессиональными разработчиками или сотрудниками, частично связанными с ИТ, для повышения продуктивности. А no-code-программы пригодны и для обычных сотрудников без технических навыков, так называемых citizen developers. Во многих компаниях они помогают цифровизовать и автоматизировать процессы и задачи быстрее, чем если бы пришлось нанимать и вводить в курс дела редкие кадры из сферы разработки. Но здесь есть одна важная деталь: LC/NC-программы все же требуют некоторого участия ИТ-отдела, когда начинают затрагивать общие системы корпорации или важнейшие их участки. Рассматривая LC/NC-решения, руководители должны понимать: хотя эти платформы экономят время, расходы и снижают количество ошибок, а также дают больше возможностей, в то же время для масштабирования, поддержки, интеграции и управления ими нужны некоторые технические навыки.

Распространенные функции LC/NC-программ

LC/NC-подход к разработке ПО позволяет создавать самые разные приложения. Самый популярный тип — это приложения по обработке транзакций для малого бизнеса: управление человеческими ресурсами (например, аттестация), управление бронированиями для ресторанов или других предприятий сферы развлечений, формирование ценовых предложений, управление выездным обслуживание и т. д. Крупный бизнес использует для таких целей дорогие пакеты или специально разрабатывает программы, а компании поменьше создают решения с помощью LC/NC.

Еще одна распространенная функция — это низкомасштабная автоматизация. Автоматизацией крупномасштабных процессов обычно занимаются профессиональные программисты, но во многих компаниях есть и менее масштабные процессы. Как и более технически сложные RPA-приложения, LC/NC-программы тоже могут брать информацию из баз данных, электронной почты и архивов транзакций, а затем выполнять задачи, как живой человек-пользователь компьютера. Иными словами, их можно применять для решения мелких задач, которыми обычно приходится заниматься специалистам, — например, для работы с программами отслеживания продуктивности, таблицами, текстовыми документами и папками. Так, рекламно-маркетинговое агентство Dentsu научило несколько сотен сотрудников работать со средой RPA. Один операционный аналитик настроил в ней систему писем-уведомлений о задержках по табелям учета времени.

Кроме того, LC/NC-программы можно использовать для аналитики, особенно визуальной. Самый динамичный сегмент рынка описательной аналитики связан в основном с LC/NC-программами, которые позволяют получать наглядную и красивую визуальную аналитику, а некоторые системы выражают полученные данные в виде текстов или даже через голосовые чаты. Вендоры также предлагают немного менее продвинутые LC/NC-версии систем предиктивной аналитики и машинного обучения, в которых аналитики или специалисты по данным смогут с помощью нескольких автоматических шагов создать модели, соответствующие обучающей выборке.

LC/NC-программы также могут использоваться для разработки веб-сайтов и мобильных сайтов. Самые продвинутые из них могут даже обрабатывать пользовательские транзакции. Разработчики сайтов часто также занимаются хостингом и могут также предоставить LC/NC-функционал с высокой добавочной стоимостью, который поможет пользователям настроить SEO-оптимизацию и маркетинг в социальных сетях, а также использовать цифровую аналитику. Некоторые инструменты LC/NC также помогают маркетологам автоматизировать такие задачи, как персонализация сайтов, email-маркетинг и настройка и отслеживание цифровой рекламы.

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

Вопросы управления при работе с LC/NC

У LC/NC-разработки есть огромные плюсы, но в то же время она ставит перед менеджерами новые задачи. Без правильного управления широкое использование этих средств может усугубить проблему «теневых ИТ», от которых ИТ-отделы страдают уже не одно десятилетие. Специалисты без технических навыков обычно делают приложения, которые не всегда хорошо работают или плохо масштабируются, а затем передают их ИТ-отделу. Или они могут уволиться из компании, и никто не будет знать, как менять и поддерживать разработанную ими систему.

Но если ИТ-отдел будет контролировать LC/NC-разработку, то сможет решить эту проблему и нормализовать передачу приложений таких разработчиков профессионалам, когда это станет необходимо. ИТ-отделам нужно сохранять контроль над разработкой систем — например, выбирать, какие LC/NC-инструменты организация будет поддерживать. Возможно, лучше всего внедрить гибридную модель пользовательской и профессиональной разработки, где пользователь разрабатывает модель на 80%, а затем отдает ее профессионалу для доработки. Кроме того, пользователь может разработать модель через графический интерфейс, а затем передать разработчику, чтобы тот перенес ее на Python или другой язык с возможностью дальнейшего масштабирования. Так или иначе, разработчик должен зафиксировать существование системы, проверить корректность ее работы и соединить ее с нужной системой данных или транзакций. Мы видели организации, где один системный разработчик поддерживает около десятка непрофильных разработчиков и даже больше.

Однако большая часть ответственности за управление LC/NC-разработкой все же ложится на менеджеров подразделений, ведь большая часть систем будет работать именно на этом уровне. Менеджеры подразделений должны поддерживать разработку LC/NC-систем, понимать, как работает технология, какие инструменты поддерживает организация и каких отношений между разработчиками без специализированных навыков и ИТ-отделом нужно добиваться. Кроме того, они должны рассказывать своим сотрудникам о возможностях LC/NC-разработки и ответственности в этом процессе.

Руководители подразделений и топ-менеджеры, продвигающие LC/NC-разработку на более высоком уровне, тоже должны знать о лучших практиках масштабирования, особенно в больших географических масштабах. Для этого могут потребоваться новые структуры — например, единые центры передового опыта (Center of Excellence, COE) с поддержкой внутренних цифровых порталов («витрин»), где специалисты без технических навыков разработки, системные архитекторы и руководители смогут работать вместе, учиться новому и быстро получать помощь при возникновении проблем. По мере того, как LC/NC-системы составляют и масштабируют свои выборки вокруг бизнес-процессов, для удобства управления могут понадобиться дальнейшие инвестиции в поддерживающую аналитику и инфраструктуру.

Почти всем современным организациям нужно больше системных разработчиков. LC/NC-разработка не панацея, но все же она может решить часть проблем с дефицитом кадров. Скорее всего, строить системы для распространенных практик и кейсов со временем станет еще легче. Как сказал Крис Ванстрат, бывший CEO платформы совместной разработки Github, «будущее программирования — это вовсе не написание кода».

Об авторах

Крис Йоханнессен (Chris Johannessen) — директор по цифровой трансформации в компании Axis Group. Возглавляет команду консультантов, специализирующуюся на внедрении аналитики, автоматизации, ИИ и т. д. Также помогает Axis Group в качестве консультанта по новым венчурным проектам для Helix — платформы облачной аналитики, запуск которой намечен на 2022 год. Основатель и редактор нового ежеквартального журнала The Journal of AI, Robotics and Workplace Automation, первое издание которого выходит осенью 2021 года.

Томас Дэвенпорт (Thomas H. Davenport) — профессор, преподаватель менеджмента и информационных технологий в Колледже Бэбсона, исследователь в Центре цифрового бизнеса MIT, сооснователь Международного института аналитики и старший консультант Deloitte Analytics. Автор новой книги «Big Data at Work» и бестселлера «Competing on Analytics» («Аналитика как конкурентное преимущество. Новая наука побеждать»).