Компания Thoughtworks опубликовала обзор актуальных тенденций в сфере разработки программного обеспечения, основанный на экспертной оценке специалистов. В документе представлены более 100 ключевых моментов, на которые, по мнению авторов, стоит обратить внимание. Эти пункты разделены на четыре группы: «Технологии», «Платформы», «Инструменты», «Языки и библиотеки». При этом к каждому отдельному тренду эксперты дают рекомендации, стоит ли его внедрить, опробовать, оценить или изучить.
Ключевые технологии:
- подход «данные как продукт» (Data Product Thinking). Компании начинают относиться к данным как к самостоятельному продукту — с полным жизненным циклом, требованиями к качеству и фокусом на потребности конечных пользователей. Это предполагает проектирование данных с учетом бизнес-задач, а также использование современных инструментов управления метаданными (например, DataHub или Atlan). Такой подход способствует масштабированию инициатив в сфере искусственного интеллекта и обеспечивает соответствие нормативным требованиям по безопасности данных;
- фаззинг (Fuzz Testing) — это метод тестирования, при котором программное обеспечение проверяется с помощью случайных или ошибочных входных данных. Такой подход позволяет выявлять непредвиденные ошибки и уязвимости. Он особенно актуален в условиях активного использования кода, сгенерированного искусственным интеллектом, который может содержать незаметные дефекты. Метод уже поддерживается современными инструментами и становится важным элементом стратегии сохранения безопасности программного обеспечения;
- моделирование угроз (Threat Modeling) помогает заранее определить потенциальные риски, включая те, что связаны с генеративным ИИ, еще на этапе проектирования системы. Эксперты рекомендуют проводить такую оценку регулярно, в сочетании с другими инструментами защиты — автоматизированным сканированием, проверками соответствия и внедрением требований безопасности. Это позволяет повысить устойчивость систем без снижения гибкости разработки;
- коллекции API-запросов (API Request Collections). Они позволяют быстрее осваивать интерфейсы взаимодействия с программными системами. Коллекции API-запросов представляют собой примеры с готовыми параметрами и результатами, что облегчает понимание и ускоряет внедрение новых API. Для поддержания их актуальности рекомендуется хранить коллекции в репозиториях и регулярно обновлять;
- процесс архитектурных консультаций (Architecture Advice Process). Вместо традиционных архитектурных комитетов Thoughtworks предлагает использовать модель архитектурных консультаций. В этом подходе любой участник команды может принять архитектурное решение после обсуждения с опытными коллегами. Такая модель упрощает процесс согласования и делает принятие решений более гибким, не снижая уровень технического контроля, даже в организациях с повышенными требованиями к безопасности;
- генерация ответов на основе графа знаний (GraphRAG) — это метод, при котором искусственный интеллект сначала формирует граф связей между понятиями на основе текстов, а затем использует его для более точного поиска информации и построения ответов. Он особенно полезен в ситуациях, требующих глубокого понимания сложной информации, например при анализе устаревшего кода или технической документации;
- временный доступ с повышенными правами (Just-In-Time PAM) — это модель управления доступом, при которой пользователям предоставляются расширенные права только на время выполнения конкретной задачи. По завершении работы доступ автоматически отзывается. Это снижает риски несанкционированного доступа и утечки данных, связанные с постоянными или чрезмерными правами доступа.