Сфера деятельности: логистика

Используемые продукты JetBrains: Qodana, IntelliJ IDEA

Число сотрудников: 16 000 сотрудников

Размер команды: 800 разработчиков, 1600 проектов в GitLab

Технологии: Java, PHP, Swift, Typescript, Jenkins

Новый подход к разработке: как в Evri повысили качество кода с помощью Qodana

Evri — крупнейшая в Великобритании компания по доставке посылок, которая ежегодно обрабатывает более 720 миллионов отправлений, сотрудничая с крупнейшими европейскими ритейлерами, маркетплейсами и платформами для продажи подержанных вещей. Основанная в Йоркшире в 1974 году, компания значительно выросла: сегодня у нее более 8 000 сотрудников, 26 000 курьеров, 14 000 пунктов выдачи и постоянно растущая сеть современных складов и сортировочных центров. Evri стремится сделать отправку, получение и возврат посылок максимально удобным и экологичным.

Задача: поддерживать стабильный процесс анализа кода, ускоряя релизы

Evri обрабатывает огромные объемы посылок по всей Великобритании, опираясь на сложную экосистему ПО: от сайтов для оформления доставки и API для ритейлеров до внутренних инструментов управления физической инфраструктурой.

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

Одной из ключевых задач команды стала автоматизация проверок качества кода, чтобы обеспечить соблюдение единых стандартов, удобное взаимодействие и своевременное устранение проблем.

Выбор инструмента: переход с SonarQube на Qodana

Раньше для анализа кода в компании использовали SonarQube, но со временем начали возникать вопросы к его эффективности. Он оказался дорогим, а конфигурация содержала множество устаревших правил. Старший технический архитектор компании Люк Мортон объясняет: «...разработчики могли создавать свои правила, чтобы их код проходил проверки. В итоге мы не могли полностью контролировать собственные стандарты качества кода».

Переход на Qodana давал сразу несколько преимуществ:

  • Больше контроля: теперь критерии качества централизованно управляются через YAML-файл, который настраивается в среде выполнения с помощью Jenkins. Чтобы изменить правила, разработчики должны отправить merge-реквест в команду DevEx.
  • Удобный обзор проекта: диаграмма «солнечные лучи» в Qodana дает четкую и единообразную информацию о статусе проекта.
  • Мгновенная обратная связь: интеграция с Jenkins позволяет разработчикам получать комментарии к merge-реквестам, чтобы сразу видеть проблемы с кодом.

«Когда разработчики сразу же получают обратную связь в комментариях к merge-реквестам, это помогает им приоритизировать задачи»,

— Люк Мортон, старший технический архитектор в Evri

  • Интеграция с IntelliJ IDEA: разработчики могут открывать отчеты и просматривать проблемы, найденные Qodana, прямо в своей IDE.
  • Свежий подход: переход на Qodana позволил обновить стандарты и внедрить более современное решение.

«Перейти на новый инструмент было правильным решением. Мы смогли сразу установить нужную планку»,

— Джеймс Хэттерсли-Дайкс, ведущий инженер в Evri

Результаты: анализ кода в 6 раз быстрее и более частые релизы

Главным преимуществом Qodana с точки зрения Evri стало то, что после встраивания в пайплайн решение просто работает, не требуя постоянного контроля.

В пайплайне Evri процесс начинается с компиляции кода и выполнения юнит- и интеграционных тестов. Затем параллельно запускаются различные проверки качества, в том числе с помощью Qodana и Snyk. Каждый инструмент дает обратную связь по merge-реквестам. Если одна из проверок не пройдена, сборка останавливается, и merge-реквест не интегрируется в основную ветку. Однако код можно развернуть в тестовой среде для дополнительных проверок.

Сокращение времени подготовки релиза и шестикратное ускорение анализа кода

Qodana помогла Evri существенно сократить время подготовки релиза. Интеграция инструмента в пайплайн позволила выпускать обновления чаще и быстрее. Особенно полезна быстрая обратная связь по merge-реквестам, благодаря которой разработчики могут быстро исправить ошибки и ускорить процесс релиза.

«Благодаря Qodana разработчики Evri резко сократили время подготовки релизов, поскольку теперь они сразу получают обратную связь по merge-реквестам и могут быстрее исправить ошибки. Время анализа сократилось до 3-5 минут вместо прежних двадцати»,

— Люк Мортон, старший технический архитектор в Evri

Высокое качество кода и минимальная потребность в обслуживании

Qodana создает минимум помех и требует меньше человеческого вмешательства, поэтому она так удобна в работе.

«Команда DevEx не использует Qodana в повседневной работе, мы занимаемся только администрированием. Судя по тому, что нам не приходится о ней думать, все работает как надо. Я лично не вспоминаю о Qodana неделями, значит, она делает свое дело»,

— Луи Джонс, ведущий специалист по Developer Experience в Evri

Повышение квалификации

Qodana стала для разработчиков дополнительным источником знаний.

«Qodana дала разработчикам отличную возможность для микрообучения: когда она оставляет комментарий к merge-реквесту, можно кликнуть по нему, увидеть проблему и сразу понять, как ее исправить»,

— Люк Мортон, старший технический архитектор в Evri

Похожие истории клиентов

Moovit

Амит Вайнблум, руководитель команды инфраструктуры в Moovit

Qodana помогает стабилизировать систему и избежать исправлений в последний момент. Мы видим, как меняется подход: команды начинают следовать правилам и спасают себя от бессонных ночей благодаря Qodana.

Zynex

Дэниел Ларсон, архитектор ПО, Zynex Monitoring Solutions.

Мы видим, что Qodana помогает нашим разработчикам писать наилучший код, независимо от их опыта работы. С помощью Qodana даже начинающие программисты пишут код не хуже опытных, а опытным разработчикам проще поддерживать высокое качество кода. Qodana предлагает множество разных инспекций, и мы рассчитываем, что это решение может не только обеспечить соответствие кода нашим высоким требованиям, но и сыграть роль тренера для наших разработчиков.

Другие истории клиентов