К основному содержимому
#DevEx

[2/2] This Year in Uber’s AI-Driven Developer Productivity Revolution (Рубрика DevEx)

#DevEx #Management #Leadership #Software #SoftwareDevelopment #Metrics #Devops #Processes #AI #ML

В продолжении рассказа, я опишу подход ребятк генерации тестов и миграциям

——— Generating tests ———

  • Ребята используют стандартную пирамиду тестирования, где сквозные тесты на вершине, модульные тесты внизу
  • Собственно вот идеи для использования AI в тестировании: -- Сквозное тестирование при помощи AI-агентов. Забавно, что мы у себя пытались лет 5 назад прикрутить crowd тестирование, где e2e проверяли ребята из Klex, нашего внутреннего инструмента типа Я Толоки. А сейчас мможно не крауд привлекать, а AI агентов -- Анализ качества тестов (мутационное тестирование) -- Предиктивный выбор тестов для ускорения прогонов -- А на нижнем уровне можно использовать AI для генерации unit тестов
  • Так ребята сделали Autocover с фокусом на регрессионных тестах, повышения code coverage и оставляя разработчиков в цикле взаимодействия с autocover (keep the developer-in-the-loop). Интересно, что ребята делят этапы работы над тестами на детерменистические, а также на вероятностые

——— Java to Kotlin migration ———

  • В Uber исторически было много Java кода, постепенно ребята подсели на Kotlin и потом решили полностю мигрировать на него
  • Платформенная команда сделала инструмент миграции и предоставила его продуктовым командам в децентрализованном режиме
  • Если это делать это постепенно и в ручном режиме, то это миграция закончится где-то за 10 лет, что не попадало в ожидания
  • Ребята решили это автоматизировать причем с использованием AI
  • Для этого они решили объединить подходы на основе анализа AST (abstract syntax tree) и LLM для улучшения правил работы с AST деревьями
  • Этот подход позволил им ускорить процесс миграции где-то на порядок

Итого, ребята в Uber оптимистично смотрят на применение AI в SDLC, но отмечают, что важно правильно выбирать метрики для оценки эффекта улучшений и их побочных эффектов. Они предлагают использовать метрику времени сэкономленного для разработчиков (saved developer hours). Мне это напомнило метрику на часы просмотренного видео через Youtube. Подробнее в моем обзоре книги "Like, Comment, Subscribe" ("Youtube. Как самый популярный видеохостинг завоевал мир?").

#Management #Leadership #Software #SoftwareDevelopment #Metrics #Devops #Processes #AI #ML #DevEx