В эпоху цифровых технологий возможность выпускать код быстрее, чем конкуренты, является практически неоценимым преимуществом. Это позволяет компаниям внедрять новые и улучшенные функции, быстрее реагировать на потребности клиентов и тенденции рынка, а также снижать требования к ресурсам для каждого проекта. Неудивительно, что перспектива того, что помощники по программированию на основе генеративного ИИ возьмут на себя большую часть работы по программированию, вызывает такой ажиотаж. При эффективном использовании эти инструменты могут вдвое сократить время, необходимое для среднего проекта разработки программного обеспечения.
Однако при неосторожном использовании ИИ-помощники могут создать больше, а не меньше работы для перегруженных команд разработчиков. Каждая строка кода должна быть тщательно протестирована, защищена и исправлена, прежде чем она будет запущена в производство. Таким образом, внезапное и резкое увеличение объема создаваемого кода ложится неуправляемым бременем на разработчиков, особенно с учетом того, что исследования показали, что около 40% кода, созданного вторыми пилотами, содержит ошибки. В результате плохая реализация генеративного ИИ может фактически увеличить рабочую нагрузку разработчиков, что может привести к снижению производительности и выгоранию.
Проверяйте, тестируйте, проверяйте
Проблема для компаний, пытающихся ускорить разработку программного обеспечения, заключается в том, что работа разработчиков на последующих этапах развертывания уже выходит из-под контроля, даже если не принимать во внимание возросший объем кода. Более двух пятых (42%) говорят, что их процессы развертывания кода в рабочей среде не являются ни быстрыми, ни эффективными. Основная причина этого — трудоемкая задача проверки, тестирования и проверки кода. Две трети разработчиков (67%) говорят, что такие проверки занимают больше недели. Кроме того, разработчики постоянно сталкиваются с ручным откатом неудачных развертываний, недостаточным охватом тестов и дополнительными задержками в области кибербезопасности.
Последствия этой перегрузки значительны. Согласно исследованиям, только в США некачественное программное обеспечение обходится примерно в 2,4 триллиона долларов в год, что способствует росту киберпреступности и появлению таких мега-уязвимостей, как MOVEit. В этом контексте, если ИИ-помощники удвоят или даже утроят количество проверок кода, которые должны выполнять разработчики, эти затраты и проблемы безопасности станут гораздо более распространенными и серьезными. В результате компании потенциально могут столкнуться с серьезными экономическими, репутационными и нормативными последствиями.
Пять ключевых вопросов
Однако код, сгенерированный ИИ, может по-настоящему преобразовать бизнес, если будут приняты правильные меры предосторожности. Таким образом, задача состоит в том, чтобы найти способ свести усилия разработчиков к абсолютному минимуму, чтобы команды могли безопасно и эффективно управлять возросшим объемом кода. Поэтому, прежде чем начать такой проект внедрения, есть пять ключевых вопросов, на которые должна ответить каждая компания:
Была ли автоматизированная безопасность интегрирована на каждом этапе развертывания? Приняв безопасные, хорошо управляемые конвейеры, которые автоматизируют процесс тестирования, проверки и проверки, компании могут сократить большую часть работы по проверке кода вручную, которую в настоящее время приходится выполнять командам разработчиков.
Разработаны ли подходы к разработке для поддержки автоматического создания и проверки кода? Чтобы получить максимальную отдачу от автоматизированных конвейеров, компаниям также следует использовать эффективные гибкие подходы к разработке. Например, использование подходов парного или группового программирования может помочь значительно снизить потребность в ручных проверках кода на более поздних этапах развертывания, тем самым оптимизируя процессы автоматического тестирования, проверки и исправления.
Эффективен ли контроль? Политики безопасности эффективны настолько, насколько эффективны их соответствие требованиям. Из-за давления на команды разработчиков, требующего быстрого запуска кода в производство, часто возникает искушение срезать углы и пропустить или поторопиться с проверками безопасности. Поэтому организациям следует принять подход «политика как код», чтобы предотвратить выпуск нового кода до тех пор, пока он не будет соответствовать строгим требованиям доступности, производительности и безопасности.
Как аутентифицируется сторонний код? Такие инциденты, как SolarWinds и MOVEit, продемонстрировали важность мер безопасности, выходящих за пределы собственных четырех стен компании. Однако мониторинг и проверка компонентов программного обеспечения с открытым исходным кодом и сторонних артефактов — невероятно трудоемкая практика. Поэтому компаниям следует попытаться автоматизировать как можно больше процессов, на которые они полагаются для мониторинга и контроля этих активов, таких как: B. Создание списков частей программного обеспечения и внедрение сертификации SLSA.
Где генеративный ИИ может помочь решить проблемы безопасности? Генеративный искусственный интеллект не только позволяет командам разработчиков быстрее создавать код, но также помогает им быстро анализировать и устранять уязвимости. Каждая проблема, которая автоматически выявляется и устраняется, — это еще одна задача, которую командам разработчиков больше не приходится выполнять. Генеративный ИИ может быть особенно эффективен при обнаружении крупномасштабных мега-уязвимостей, таких как Log4j, поскольку они могут потребовать тестирования и исправления тысяч компонентов. Эти задачи могут занять сотни часов, если разработчикам придется выполнять их вручную.
Быстрее, лучше, счастливее
Учитывая, что в течение следующего десятилетия рынок инструментов генеративного ИИ-кодирования будет расти в среднем на 22% в год, вполне вероятно, что гибридный подход человека и ИИ к доставке программного обеспечения вскоре станет нормой. Хотя безопасное и эффективное внедрение этих инструментов может оказаться непростой задачей, существует серьезная причина для оптимизма относительно того, что это означает для будущего индустрии разработки программного обеспечения.
При правильном использовании генеративный искусственный интеллект может оказать немедленную поддержку для снижения рабочей нагрузки разработчиков, помогая им решать проблемы, демократизировать процесс кодирования и значительно повысить производительность. Короче говоря, компании, которые правильно управляют переходом, могут рассчитывать на команды разработчиков, которые менее склонны к выгоранию, тратят больше времени на интересную, ценную стратегическую работу и в целом чувствуют себя более счастливыми и здоровыми. Чем дальше они пойдут по этому пути, тем легче компаниям будет стать более гибкими и отзывчивыми как к клиентам, так и к рынку.
Мы перечисляем лучшие IDE для Python.
Эта статья была создана в рамках канала Expert Insights от TechRadarPro, где мы рассказываем о лучших и ярких умах в области технологий сегодня. Мнения, выраженные здесь, принадлежат автору и не обязательно отражают точку зрения TechRadarPro или Future plc. Если вы заинтересованы в участии, узнайте больше здесь: