В 2023 году венчурный фонд Sequoia Capital опубликовал
статью Developer Tools 2.0 и карту применения AI в жизненном цикле разработки программного обеспечения (Mapping AI in the software development life cycle). В 2017 году Andrej Karpathy предсказал, что нейронные сети создадут новое поколение программного обеспечения (Software 2.0). Авторы статьи предполагают, что такое же переосмысление ждет инструменты, с помощью которых создается программное обеспечение, и называют новое поколение инструментов
Developer Tools 2.0. GitHub Copilot на базе модели Codex от OpenAI авторы рассматривают как первый шаг в трансформации работы инженеров разработки.
Карта применения AI в SDLC строится по двум осям. По вертикали карта разделена на три этапа жизненного цикла разработки: подготовка (Setup), реализация (Implementation) и развертывание (Deployment). По горизонтали инструменты разделены на три группы:
- Лидеры (Incumbents). Эталонные инструменты, на которых построено поколение Software 1.0;
- Претенденты (Challengers). Инновационные инструменты разработки, которые добавляют AI функции;
- Developer Tools 2.0. Направления за пределами Copilot, в которых AI изменит способ создания программного обеспечения.
Для этапа развертывания колонка Developer Tools 2.0 отмечена знаком вопроса: инструменты нового поколения для этих категорий авторы оставили открытым вопросом. Дополнительно на карте выделена вертикальная область AI напарники (AI Teammates) со знаком вопроса, которая проходит через все этапы и категории карты.
Этап подготовки (Setup) включает следующие категории:
- Портал разработчика (Developer Portal). Претенденты: Backstage, Cortex.
- Среды разработки и окружение (IDEs & Environment). Лидеры: Visual Studio, Eclipse. Претенденты: Release, Coder, Gitpod, Replit. Developer Tools 2.0: Cursor.
- Терминал (Terminal). Лидеры: стандартные терминалы операционных систем. Претенденты: iTerm2, Fig, Warp.
- Трекер задач (Issue Tracker). Лидеры: Jira, Asana. Претенденты: Linear.
Этап реализации (Implementation) включает следующие категории:
- Коммиты и ревью кода (Commit & Review Code). Лидеры: GitHub, GitLab. Претенденты: Graphite, Planar. Developer Tools 2.0: Codeball.
- Отладка и получение помощи (Debug & Get Help). Лидеры: Stack Overflow, инструменты разработчика в браузере. Претенденты: Replay. Developer Tools 2.0: Adrenaline, ChatGPT.
- Написание документации (Write Docs). Лидеры: люди (Humans), то есть сами инженеры. Претенденты и Developer Tools 2.0: ReadMe, Swimm, Redocly, Stenography, Readable, Mintlify.
- Написание и сопровождение кода (Write & Maintain Code). Лидеры: люди (Humans). Developer Tools 2.0 разделены на две группы. Автопилоты (Autopilots): Magic, Grit, Second. Копилоты (Copilots): GitHub Copilot, Tabnine, Sourcegraph, Codeium, Codium, Mutable.ai.
Этап развертывания (Deployment) включает следующие категории:
- Наблюдаемость (Observability). Лидеры: Splunk, Datadog, Dynatrace. Претенденты: Grafana, Cribl, Baselime, ctrlstack.
- Управление облачными затратами (Cloud Cost Management). Лидеры: CloudHealth by VMware, Spot by NetApp. Претенденты: Infracost, Vantage.
- Хостинг (Host). Лидеры: AWS, Azure, Google Cloud, Terraform. Претенденты: Vercel, Netlify, Deno, Temporal, Render, Fly.io, Railway, Seaplane, Akeero, Zeet, Pulumi.
- Флаги функциональности (Feature Flags). Лидеры: LaunchDarkly, Optimizely. Претенденты: Statsig, Split.
- CI/CD. Лидеры: Jenkins, CircleCI, GitHub, GitLab. Претенденты: Harness, Buildkite.
Авторы статьи выделяют несколько направлений возможностей для AI инструментов разработки:
- Развитие сценария помощи прямо в редакторе кода, который популяризировал Copilot, с другими паттернами взаимодействия или другими моделями. Примеры: Ghostwriter от Replit, Cody от Sourcegraph, Tabnine;
- Работа инженеров за пределами написания кода, например отладка и документация, а также работа инженерных организаций, например реагирование на инциденты (Incident response);
- Ценностные предложения помимо ускорения написания кода, например написание более производительного или более безопасного кода;
- Отказ от формата плагина и создание приложения целиком с нуля;
- Фокус на других персонах помимо инженера разработки, например на специалистах по данным, которые пишут код в ноутбуках (Hex Magic), или на аналитиках данных, которые пишут SQL запросы.
По мнению авторов, AI трансформирует разработку программного обеспечения, и открытым остается только вопрос, кто это сделает. Ключевыми факторами успеха авторы называют фокус на опыте разработчиков (Developer Experience), создание принципиально новых возможностей и стратегические решения о том, как закрепиться и расширяться в рабочих процессах разработчиков.
Карта Mapping AI in the software development life cycle приведена ниже: