Industria: Logística

Productos de JetBrains utilizados: Qodana, IntelliJ IDEA

Tamaño de la organización: 16 000 empleados

Tamaño del equipo: 800 desarrolladores, 1600 proyectos en GitLab

Pila tecnológica: Java, PHP, Swift, Typescript, Jenkins

Transformación de la experiencia del desarrollador: cómo Evri implantó altos estándares de calidad del código con Qodana

Evri es la mayor empresa de paquetería del Reino Unido, con más de 720 millones de envíos al año. La empresa tiene la misión de ser la forma más cómoda de enviar, recibir y devolver paquetes, sin coste para el planeta. Evri trabaja con la mayoría de los principales minoristas, comercios y webs de segunda mano de Europa. Las raíces de Evri se remontan a Yorkshire en 1974, pero el negocio ha crecido a lo largo de las décadas y ahora cuenta con un equipo de más de 8000 empleados, más de 26 000 repartidores, más de 14 000 ubicaciones y una creciente red de centros y almacenes de última generación.

El reto: mantener flujos de trabajo de análisis del código coherentes al tiempo que se aceleran los lanzamientos de productos

Como importante proveedor logístico, Evri gestiona un gran volumen de paquetes en todo el Reino Unido y los distribuye a los clientes finales. Su software abarca sitios web de comercio electrónico para la reserva de paquetes, API que permiten a los clientes minoristas e internacionales gestionar los datos de los paquetes y herramientas internas para las operaciones de infraestructura física.

Para garantizar que la implementación y el mantenimiento de esta amplia gama de software sean lo más fluidos y eficaces posible, Evri creó un equipo dedicado a la experiencia del desarrollador (DevEx) centrado en mejorar los flujos de trabajo de desarrollo y aumentar el rendimiento y la satisfacción de los desarrolladores.

El equipo de DevEx buscaba automatizar el análisis de la calidad del código para mantener unas normas coherentes, fomentar la colaboración, acelerar el lanzamiento de productos y abordar los problemas con prontitud.

Selección de herramientas: migración de SonarQube a Qodana

Evri utilizaba anteriormente SonarQube para el análisis de calidad, pero empezó a buscar alternativas. Cuestionaban su rentabilidad y les preocupaban demasiados problemas heredados en su configuración. Como indicó Luke Morton, arquitecto técnico sénior de Evri, «la gente podía crear sus propias reglas de análisis para hacer que su código pasara las barreras de calidad. Teníamos un control de calidad limitado sobre nuestras normas de codificación».

Decidieron migrar a Qodana por varias razones:

  • Control mejorado. Gestión centralizada de las reglas de calidad mediante un archivo YAML configurado globalmente durante la ejecución a través de Jenkins. De este modo, si los desarrolladores quisieran realizar cambios, tendrían que enviar solicitudes de fusión del archivo YAML al equipo de DevEx.
  • Visión general del proyecto mejorada. Un estado del proyecto claro y unificado con el gráfico de proyección solar de Qodana.
  • Retroalimentación inmediata. Retroalimentación integrada en las solicitudes de fusión en Jenkins para mejorar la gestión de la calidad del código.

«Poner la retroalimentación directamente a la vista de los desarrolladores como parte de un comentario en una solicitud de fusión resulta clave para priorizar que se actúe sobre ella.»

— Luke Morton, arquitecto técnico sénior de Evri

  • Integración con IntelliJ IDEA. Acceso directo a informes y archivos en IntelliJ IDEA, así como la posibilidad de abrir incidencias encontradas por Qodana directamente en el IDE.
  • Un nuevo comienzo. La oportunidad de redefinir las normas y aplicar una solución más moderna.

«Buscar una solución nueva fue lo correcto. Y básicamente nos permitió definir las expectativas desde el principio.»

— James Hattersley-Dykes, ingeniero principal de Evri

Resultados: un análisis del código 6 veces más rápido que da lugar a lanzamientos más frecuentes y rápidos

La principal ventaja de Qodana para Evri ha sido que, una vez instalado en su proceso, podían confiar en él sin necesidad de una supervisión constante.

El proceso de Evri comienza con la compilación del código y la ejecución de pruebas de unidad y de integración. A continuación, varias barreras de calidad, incluidas Qodana y Snyk, se ejecutan en paralelo. Cada herramienta proporciona información sobre la solicitud de fusión. Si falla alguna barrera de calidad, se detiene la compilación, lo que impide que la solicitud de fusión se integre en la rama principal. Sin embargo, el código puede seguir implementándose en un entorno de funcionalidades para realizar pruebas adicionales.

Reducción del plazo de lanzamiento y análisis del código 6 veces más rápido

Qodana ha contribuido significativamente a abreviar el tiempo de los lanzamientos en Evri. La integración de la herramienta en sus procesos ha permitido lanzamientos más frecuentes y rápidos. Concretamente, Qodana proporciona una «retroalimentación rápida» dentro de las solicitudes de fusión, lo que permite a los desarrolladores abordar rápidamente los problemas, acelerando así el proceso de lanzamiento.

«Qodana ha abreviado drásticamente los plazos de publicación en Evri al proporcionar una retroalimentación rápida sobre las solicitudes de fusión, lo que permite una resolución más rápida de los problemas. Sus breves tiempos de análisis, de tan solo tres a cinco minutos, han sustituido a los engorrosos 20 minutos anteriores.»

— Luke Morton, arquitecto técnico sénior de Evri

Alta calidad de código con poco mantenimiento

Qodana funciona con una presencia mínima y requiere menos gestión continua, lo que facilita su uso.

«No utilizamos Qodana a diario en DevEx; solo lo administramos. El hecho de que no necesitemos pensar en ello significa que está funcionando bien. Hace semanas que no pienso en Qodana, lo que demuestra que está haciendo su trabajo.»

— Louis Jones, ingeniero jefe de experiencia del desarrollador de Evri

Oportunidad educativa

Qodana sirve como fuente de aprendizaje adicional para los desarrolladores.

«Qodana proporcionó una oportunidad de microaprendizaje a nuestros desarrolladores, porque si Qodana incluía un comentario en una solicitud de fusión, podían hacer clic en él, ver el problema y entender cómo resolverlo.»

— Luke Morton, arquitecto técnico sénior de Evri

Historias de clientes similares

Moovit

Amit Weinblum, jefe de equipo de infraestructura en Moovit

Qodana ha estabilizado nuestro sistema de producción y ha permitido a los desarrolladores evitar solucionar problemas demasiado tarde. Estamos asistiendo al cambio de paradigma, en el que los equipos de desarrollo siguen las políticas y se ahorran unas cuantas noches de insomnio con Qodana.

Zynex

Daniel Larson, arquitecto de software, Zynex Monitoring Solutions.

Consideramos que Qodana ayuda a todos nuestros desarrolladores a escribir el mejor código posible, independientemente de su experiencia. Qodana ayuda a nuestros desarrolladores júnior a escribir código de nivel sénior, y también permite a nuestros desarrolladores sénior mantener la calidad del código esperada. Dados los diversos tipos de inspecciones que ofrece, esperamos que Qodana pueda actuar como un instructor de desarrolladores, además de ayudar a mantener los estándares de calidad del código en nuestros productos.

Más historias de clientes