В Европе существует несколько кардинально отличающихся точек зрения на ближайшее будущее в области развития инструментов искусственного интеллекта (ИИ), используемых в софтверной инженерии. Есть банки, которые запрещают своим разработчикам работать с Copilot и ChatGPT, есть образовательные учреждения, которые уже создали образовательные программы по AI‑augmented Software Engineering, есть сотни компаний, внедряющих элементы ИИ в свои софтверные продукты и есть далекие от IT журналисты и псевдо‑эксперты, которые кричат на страничках LinkedIn о последних днях «живых» разработчиков в профессии, которых вот‑вот заменят Bing, Алиса и no‑code платформы.
Консультанты SSC в июне‑июле 2023 года провели научное исследование, чтобы изучить опыт и обобщить мнения тех, кто действительно отличает ‑push от Bash и создает работающее в реальном мире программное обеспечение. Исследование охватило 35 команд разработки ПО в софтверных вендорах, интеграторах, банках с сильным in‑house development от Казахстана и России до Испании и Великобритании. Цель данного исследования — собрать мнения и опыт старших инженеров и менеджеров в единое видение использования ИИ‑инструментов в 2023 году, что может помочь в будущем управлении практическим внедрением ИИ в ИТ‑бизнесе и в производственных процессах. Основная гипотеза исследования: «Широкое освещение LLMs (больших лингвистических моделей, как ChatGPT) в СМИ со второй половине 2022 года серьезно популяризировало использование ИИ в разработке программного обеспечения. В настоящее время все больше европейских инженеров используют различные ИИ‑инструменты для решения своих повседневных задач в софтверных проектах. ИТ‑организации уже начали централизованную трансформацию производственных процессов, связанную с формализацией использования ИИ‑инструментов». Другими словами, конкурентная гонка в получении преимуществ от использования ИИ‑инструментов уже началась, а промедление (или запреты) организаций (вместо активного внедрения) снижают их конкурентные возможности по всем направлениям инженерной деятельности.
В июле 2023 года были подведены результаты данного исследования, основные моменты будут описаны в данной заметке. Начнем с раздела о текущем использовании (на середину 2023 года) ИИ‑инструментов в софтверных проектах. Исследование показывает, что значительная доля (20%) команд и организаций уже приступила к внедрению ИИ‑инструментов в производство программного обеспечения, а около 43% команд планируют начать этот процесс в ближайшее время. При этом около 23% экспертов лично используют ИИ‑инструменты в своей повседневной деятельности, что оказывает сильное влияние на их задачи в софтверных проектах, а 20% экспертов оценили влияние ИИ‑инструментов на свою профессиональную деятельность как среднее и важное для отдельных задач.
Эксперты выделили основные преимущества использования ИИ, включая LLMs, в практике софтверных проектов:
Автоматизация рутинных операций и экономия времени – 63% специалистов;
Ускорение выполнения операций в команде\организации – 43% специалистов;
Совершенствование программных продуктов, в т.ч. качества ПО, UX\UI и документации — 31% экспертов;
К середине 2023 года ИИ‑инструменты (такие, как Watson или ChatGPT) не востребованы в софтверных проектах для бизнес‑ и системного анализа. Более 70% экспертов вообще не используют их в задачах такого рода, а 14% экспертов подтвердили, что используют ИИ‑инструменты только для задач бизнес‑моделирования и анализа данных. Гораздо более востребованы ИИ‑инструменты при проектировании и разработке ПО. Наиболее популярные типы задач для LLM:
создание программного кода (в т.ч. юнит-тесты, хранимые процедуры и т.п.) – 31% экспертов;
код-ревью (включая оптимизацию кода и рефакторинг) – 23% экспертов;
быстрое прототипирование ПО – 14% экспертов.
В области обеспечения качества ПО востребованность ИИ-инструментов ниже. Около 77% экспертов вообще не используют ИИ-инструменты в управлении качеством программного обеспечения. Наиболее популярные типы задач для LLM в области управления качеством программного обеспечения:
поиск ошибок и уязвимостей в коде – 11% экспертов;
написание авто-тестов – около 9% экспертов;
нефункциональное тестирование (интеграционное, нагрузочное, стрессовое и т.д.) – около 9% экспертов.
Также LLMs могут быть полезны в некоторых других проектных активностях:
создание документации по программному обеспечению (руководства, видео-инструкции и т.п.) – около 29% экспертов;
процессы поддержки эксплуатации программных продуктов (выдача тикетов, помощь пользователям и т.д.) – 11% экспертов;
около 9% команд используют ИИ-инструменты в управлении проектами.
Также эксперты оценили ценность и роль LLMs в обучении и совершенствовании инженерных навыков в разработке программного обеспечения:
влияние использования LLM в профессиональном обучении очень велико – 34% экспертов;
это просто еще один полезный инструмент для обучения – 54% экспертов.
Исследование подтвердило, что внедрение AI-инструментов, включая LLMs, по-прежнему является потенциальной конкурентной возможностью для ИТ-компаний: немногие из них в Европе приступили к централизованному внедрению LLMs в производственные процессы. Только 15% экспертов отметили, что их компании выполняют корпоративный план по внедрению ИИ-инструментов в разработку программного обеспечения. И около 20% команд \ ИТ-организаций находятся в процессе обсуждения подходов к его централизованному внедрению.
Также в исследовании были проанализированы общие проблемы и сложности, сопутствующие внедрению ИИ-инструментов в реальную софтверную разработку. Очевидно, что внедрение LLMs и других ИИ-инструментов имеет свои особенности и риски. Эксперты в исследовании определили основные барьеры на пути внедрения ИИ-инструментов в разработку ПО в своих командах в 2023 году:
недостаток ресурсов (денег, времени, знаний, человеческого капитала) – 43% экспертов;
организационное сопротивление инженеров и руководителей – 34% экспертов.
Около 37% команд находятся в активном процессе внедрения ИИ-инструментов в практику разработки программного обеспечения, а около 20% команд не имеют практической необходимости внедрять его в 2023 году. Более того, в 9% команд наблюдается резкое негативное отношение к ИИ-инструментам разработки программного обеспечения (в том числе его официальный запрет в организации). С другой стороны, у 12% команд есть официальный план внедрения данной инновации и \ или корпоративная политика с официальными рекомендациями по использованию ИИ-инструментов в софтверных проектах. Более того, около 31% команд продолжают использование ИИ-инструментов в тестовом режиме.
В исследовании были собраны личные мнения экспертов об экономической целесообразности централизованных корпоративных инвестиций в улучшение использования ИИ \ LLM в 2023 году:
Инвестиции могут быть полезными, но требуется дополнительная подготовка (НИОКР, экономическая модель и т.д.) – 43% экспертов;
Инвестировать нужно прямо сейчас (обгоняя конкурентов) – 40% экспертов;
Инвестировать рано, лучше начинать с индивидуального и командного использования ИИ-инструментов перед централизованными инвестициями – 17% экспертов.
Перейдем к выводам и заключению по данному исследованию. Исследование подтвердило актуальность использования ИИ-инструментов в разработке программного обеспечения, что соответствует гипотезе исследования. Текущее использование ИИ-инструментов ориентировано на работу с программным кодом (в разных видах) и с документацией софтверного проекта\продукта. Выявлен большой потенциал использования LLMs в разработке программного обеспечения, а отсутствие централизованных усилий на корпоративном уровне может привести такие компании к потере конкурентного преимущества в производстве программного обеспечения. Интересным представляется наблюдение, что внедрение ИИ-инструментов в реальную практику производства программного обеспечения идет согласно классификации Эверетта Роджерса из известной теории «диффузии инноваций»:
сформированы категории с «инноваторами» и «ранними последователями» по Э. Роджерсу и начата формализация использования ИИ-инструментов (проектные команды выполняют корпоративный план по внедрению ИИ в разработку ПО, создают и используют централизованные корпоративные политики и \ или рекомендации);
идет процесс формирования категории «раннее большинство» по Э. Роджерсу – многие команды заинтересованы в дальнейшем изучении ИИ-инструментов разными способами (НИОКР, индивидуальный\командный эксперимент и т.п.).
Исследование подтвердило свою исходную гипотезу: все больше европейских инженеров используют различные ИИ‑инструменты при решении своих задач в программных проектах, а инновационные IT‑компании уже начали централизованную трансформацию производственных процессов, связанную с формализацией использования ИИ‑инструментов.