j
 

Обзор Developer Tools 2.0

В 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). По горизонтали инструменты разделены на три группы:
  1. Лидеры (Incumbents). Эталонные инструменты, на которых построено поколение Software 1.0;
  2. Претенденты (Challengers). Инновационные инструменты разработки, которые добавляют AI функции;
  3. Developer Tools 2.0. Направления за пределами Copilot, в которых AI изменит способ создания программного обеспечения.

Для этапа развертывания колонка Developer Tools 2.0 отмечена знаком вопроса: инструменты нового поколения для этих категорий авторы оставили открытым вопросом. Дополнительно на карте выделена вертикальная область AI напарники (AI Teammates) со знаком вопроса, которая проходит через все этапы и категории карты.

Этап подготовки (Setup) включает следующие категории:
  1. Портал разработчика (Developer Portal). Претенденты: Backstage, Cortex.
  2. Среды разработки и окружение (IDEs & Environment). Лидеры: Visual Studio, Eclipse. Претенденты: Release, Coder, Gitpod, Replit. Developer Tools 2.0: Cursor.
  3. Терминал (Terminal). Лидеры: стандартные терминалы операционных систем. Претенденты: iTerm2, Fig, Warp.
  4. Трекер задач (Issue Tracker). Лидеры: Jira, Asana. Претенденты: Linear.

Этап реализации (Implementation) включает следующие категории:
  1. Коммиты и ревью кода (Commit & Review Code). Лидеры: GitHub, GitLab. Претенденты: Graphite, Planar. Developer Tools 2.0: Codeball.
  2. Отладка и получение помощи (Debug & Get Help). Лидеры: Stack Overflow, инструменты разработчика в браузере. Претенденты: Replay. Developer Tools 2.0: Adrenaline, ChatGPT.
  3. Написание документации (Write Docs). Лидеры: люди (Humans), то есть сами инженеры. Претенденты и Developer Tools 2.0: ReadMe, Swimm, Redocly, Stenography, Readable, Mintlify.
  4. Написание и сопровождение кода (Write & Maintain Code). Лидеры: люди (Humans). Developer Tools 2.0 разделены на две группы. Автопилоты (Autopilots): Magic, Grit, Second. Копилоты (Copilots): GitHub Copilot, Tabnine, Sourcegraph, Codeium, Codium, Mutable.ai.

Этап развертывания (Deployment) включает следующие категории:
  1. Наблюдаемость (Observability). Лидеры: Splunk, Datadog, Dynatrace. Претенденты: Grafana, Cribl, Baselime, ctrlstack.
  2. Управление облачными затратами (Cloud Cost Management). Лидеры: CloudHealth by VMware, Spot by NetApp. Претенденты: Infracost, Vantage.
  3. Хостинг (Host). Лидеры: AWS, Azure, Google Cloud, Terraform. Претенденты: Vercel, Netlify, Deno, Temporal, Render, Fly.io, Railway, Seaplane, Akeero, Zeet, Pulumi.
  4. Флаги функциональности (Feature Flags). Лидеры: LaunchDarkly, Optimizely. Претенденты: Statsig, Split.
  5. CI/CD. Лидеры: Jenkins, CircleCI, GitHub, GitLab. Претенденты: Harness, Buildkite.

Авторы статьи выделяют несколько направлений возможностей для AI инструментов разработки:
  1. Развитие сценария помощи прямо в редакторе кода, который популяризировал Copilot, с другими паттернами взаимодействия или другими моделями. Примеры: Ghostwriter от Replit, Cody от Sourcegraph, Tabnine;
  2. Работа инженеров за пределами написания кода, например отладка и документация, а также работа инженерных организаций, например реагирование на инциденты (Incident response);
  3. Ценностные предложения помимо ускорения написания кода, например написание более производительного или более безопасного кода;
  4. Отказ от формата плагина и создание приложения целиком с нуля;
  5. Фокус на других персонах помимо инженера разработки, например на специалистах по данным, которые пишут код в ноутбуках (Hex Magic), или на аналитиках данных, которые пишут SQL запросы.

По мнению авторов, AI трансформирует разработку программного обеспечения, и открытым остается только вопрос, кто это сделает. Ключевыми факторами успеха авторы называют фокус на опыте разработчиков (Developer Experience), создание принципиально новых возможностей и стратегические решения о том, как закрепиться и расширяться в рабочих процессах разработчиков.

Карта Mapping AI in the software development life cycle приведена ниже:
Если вам интересно применение AI инструментов в жизненном цикле разработки в вашей компании или командах, обращайтесь к нам за помощью. Мы работаем с продуктовыми и платформенными командами, архитекторами и техлидами. Помогаем картировать текущий набор инструментов разработки по этапам жизненного цикла, выявить пробелы и дублирование инструментов, оценить влияние AI инструментов на продуктивность и опыт разработчиков, а также сформировать дорожную карту внедрения с метриками прогресса.

Вступайте в сообщество Enabling Community и подписывайтесь на наш канал Enabling.team Insights, чтобы оставаться в курсе технологических трендов.