Квалифицированные гражданские разработчики (citizen developers) не появляются сами по себе. Они нуждаются в обучении и поощрении, отмечают опрошенные порталом InformationWeek эксперты.
Идея звучит замечательно — позволить сотрудникам, не обладающим техническими знаниями, создавать приложения для себя или других людей с помощью заранее одобренных инструментов. Однако на практике создание команды гражданских разработчиков требует всестороннего обучения, мощной поддержки и тщательного надзора.
Гражданские разработчики используют low-code/no-code для создания удивительно разнообразных приложений, говорит Ори Бендет, вице-президент по управлению продуктами компании Checkmarx, занимающейся тестированием корпоративной безопасности. «Приложения, создаваемые гражданскими разработчиками, варьируются от полноценных мобильных приложений до приложений для организации рабочего процесса, основных бизнес-приложений и т. д., — отмечает он. — Благодаря более низкому барьеру для входа, возможности разработки low-code/no-code безграничны».
Гражданская разработка может помочь предприятиям преодолеть текущий дефицит ИТ-кадров и одновременно обеспечить инновации в масштабе. «Выгода на самом деле двойная, — говорит Бендет. — Для существующих сотрудников, которые хотят освоить новые области разработки, также открывается новый карьерный путь».
Ключевые преимущества
Гражданская разработка демократизирует создание приложений, открывая нетехническим пользователям возможность создавать важные для них решения, ускоряя инновации и снижая нагрузку на ИТ-отдел, объясняет Динеш Варадхараджан, директор по продуктам компании Kissflow, поставщика платформы для разработки приложений low-code. Гражданская разработка также может улучшить сотрудничество между ИТ-отделом и другими подразделениями, устраняя разрывы в понимании и приоритетах. «Используя знания бизнес-пользователей, гражданская разработка может привести к созданию более ориентированных на пользователя решений», — полагает Варадхараджан.
Гражданские разработчики, как правило, ближе к бизнес-процессам, чем профессиональные разработчики. «Фактически, они уже являются экспертами в предметной области», — отмечает Уэйн Баттерфилд, партнер консалтинговой компании ISG. Кроме того, расходы на обучение гражданского разработчика обычно уже учтены в бюджете, так что дополнительные затраты — по крайней мере, в отношении ресурсов — очень незначительны, если рассматривать пул гражданских разработчиков в качестве ресурса.
По прогнозам Варадхараджана, по мере развития генеративного ИИ уровень абстрагирования программирования будет значительно повышаться, позволяя все большему числу бизнес-пользователей с минимальными знаниями в области кодирования создавать все более сложные приложения. «Традиционное кодирование может стать более ориентированным на системный уровень и высокосложные решения, в то время как разработка пользовательских приложений будет преимущественно в руках гражданских разработчиков».
С другой стороны, гражданская разработка открывает двери для нескольких серьезных проблем, включая возможность нарушения безопасности, раскрытия конфиденциальной информации, ошибки в конфигурации и множество других. «Начинающие кодеры, как правило, технически не подкованы и часто ошибочно полагают, что безопасность заложена в их инструментах», — предупреждает Бендет.
С чего начать
По словам Варадхараджана, первым шагом в создании команды гражданских разработчиков должна стать подготовка официальной программы разработки. «Она включает в себя предоставление командам подходящих инструментов разработки, четкое определение и разъяснение проблем, которые они могут решать, а также внедрение моделей управления, позволяющих проводить эксперименты без риска нарушить работу системы», — поясняет он.
Обучение — ключ к успеху гражданских разработчиков, говорит Баттерфилд. «Сохранение знаний — это проблема, поэтому убедитесь, что за обучением следует практика», — советует он. Лучше всего, если разработчик выучит несколько базовых методов и сразу же начнет их использовать, а наставники смогут разъяснить ему недостающие знания, «которых, несомненно, будет много на первых порах».
Конечный успех любой инициативы по развитию гражданской разработки зависит от выбора подходящих инструментов и фреймворков. «Вместо того чтобы концентрироваться исключительно на теоретических занятиях, полезно давать возможность проводить практические эксперименты, — говорит Варадхараджан. — Решая небольшие практические задачи, участники не только знакомятся со своими инструментами, но и получают представление об управлении создаваемыми ими приложениями».
Достижение баланса
По словам Баттерфилда, гражданские разработчики должны иметь возможность использовать не менее 50% своего рабочего времени для применения своих новых навыков, и в идеале этот уровень должен оставаться постоянным. «Многие неудачные программы связаны с тем, что не удается снизить нагрузку на гражданского разработчика, поэтому разработка должна быть дополнением, а не заменой его текущей нагрузки», — добавляет он.
По словам Варадхараджана, первоначально гражданским разработчикам следует сосредоточиться на разработке приложений, что, хотя и отнимет много времени, приведет к оптимизации их обычных задач. «По мере того как эти инструменты будут интегрироваться в их ежедневный рабочий процесс, сэкономленное время можно будет реинвестировать в дальнейшие разработки, создавая цикл повышения эффективности и инноваций», — считает он.
Заключительные размышления
Варадхараджан отмечает, что гражданские разработчики не обязательно должны обладать знаниями в области программирования, но они должны быть успешными в решении проблем. «Инструменты, разработанные для гражданских разработчиков, устраняют семантический разрыв, избавляя от необходимости глубокого знания систем, но при этом делая акцент на умении искусно решать бизнес-вопросы, — говорит он. — Хотя гражданские разработчики могут и не уметь владеть резцом, они должны иметь четкое представление о скульптуре, которую хотят создать».
Тем не менее, есть много видов кодирования, для которых гражданские разработчики просто не подходят, предупреждает Баттерфилд. «Традиционная разработка ПО и все, что не является „drag and drop“, обычно является табу для многих гражданских разработчиков — а также все, что является сверхсложным с точки зрения процесса, — объясняет он. — Сложность обычно измеряется временем и необходимыми знаниями, а значит, обычно не подходит для гражданских разработчиков».