Domaine : Logistique

Produits JetBrains utilisés : Qodana, IntelliJ IDEA

Taille de l'organisation : 16 000 salariés

Taille de l'équipe : 800 développeurs, 1 600 projets dans GitLab

Pile technologique : Java, PHP, Swift, Typescript, Jenkins

Transformation de l'expérience des développeurs : comment Evri a pu appliquer des normes de qualité de code élevées avec Qodana

Evri est la plus grande entreprise de livraison de colis du Royaume-Uni, avec plus de 720 millions de colis par an. L'entreprise a pour mission d'être le moyen le plus pratique d'envoyer, de recevoir et de retourner des colis, sans coûter très cher. Evri travaille avec la plupart des plus grands détaillants, marchés et sites d'occasion d'Europe. Les racines d'Evri remontent au Yorkshire en 1974, mais l'entreprise s'est développée au fil des décennies et compte désormais une équipe de plus de 8 000 employés, plus de 26 000 coursiers, plus de 14 000 sites hors domicile et un réseau croissant de centres et dépôts de pointe.

Le défi : maintenir des workflows d'analyse de code cohérents tout en accélérant les publications de produits

En tant que fournisseur logistique majeur, Evri gère un volume élevé de colis à travers le Royaume-Uni pour les distribuer aux clients finaux. Leur logiciel couvre les sites web de commerce électronique pour la réservation de colis, les API qui permettent aux clients internationaux et de vente au détail de gérer les données de colis, ainsi que les outils internes pour les opérations d'infrastructure physique.

Pour garantir que le déploiement et la maintenance de cette large gamme de logiciels soient aussi fluides et efficaces que possible, Evri a créé une équipe dédiée à l'expérience développeur (DevEx) axée sur l'amélioration des workflows de développement et sur l'amélioration des performances et de la satisfaction des développeurs.

L'équipe DevEx a cherché à automatiser l'analyse de la qualité du code pour maintenir des normes cohérentes, favoriser la collaboration, accélérer les publications de produits et résoudre les problèmes rapidement.

Sélection d'outils : migration de SonarQube vers Qodana

Evri utilisait auparavant SonarQube pour l'analyse de la qualité, mais a commencé à chercher des alternatives. L'équipe remettait en question sa rentabilité et s'inquiétait du trop grand nombre de problèmes hérités dans sa configuration. Comme l'a mentionné Luke Morton, architecte technique principal chez Evri : « (…) les gens pouvaient créer leurs propres règles d'analyse pour que leur code passe les murs qualité. Notre contrôle de qualité sur nos normes de codage était limité. »

L'entreprise a décidé de migrer vers Qodana pour plusieurs raisons :

  • Contrôle amélioré. Gestion centralisée des règles de qualité à l'aide d'un fichier YAML configuré globalement lors de l'exécution via Jenkins. De cette façon, si les développeurs souhaitent apporter des modifications, ils doivent soumettre des requêtes de fusion pour le fichier YAML à l'équipe DevEx.
  • Aperçu amélioré du projet. Un état clair et unifié du projet avec le diagramme sunburst de Qodana.
  • Retours immédiats. Commentaires intégrés sur les requêtes de fusion dans Jenkins pour une meilleure gestion de la qualité du code.

« Obtenir des retours directement devant les développeurs dans le cadre d'un commentaire sur une requête de fusion est un essentiel pour prioriser leurs actions. »

— Luke Morton, architecte technique principal chez Evri

  • Intégration avec IntelliJ IDEA. Accès direct aux rapports et fichiers dans IntelliJ IDEA, ainsi que la possibilité d'ouvrir les tickets trouvés par Qodana directement dans l'IDE.
  • Un nouveau départ. L'opportunité de redéfinir les normes et d'implémenter une solution plus moderne.

« C'était la bonne décision d'opter pour une nouvelle solution. Et cela nous a permis de définir nos attentes dès le départ. »

— James Hattersley-Dykes, ingénieur principal chez Evri

Résultats : une analyse de code 6 fois plus rapide permet des publications plus fréquentes et plus rapides

Le principal avantage de Qodana pour Evri était qu'une fois installé dans leur pipeline, ils pouvaient s'y fier sans avoir besoin d'une supervision constante.

Dans le pipeline d'Evri, le processus commence par la compilation du code et l'exécution de tests unitaires et d'intégration. Par la suite, plusieurs murs qualité, dont Qodana et Snyk, fonctionnent en parallèle. Chaque outil fournit des commentaires sur la requête de fusion. Si un mur qualité échoue, le build est interrompu, ce qui empêche l'intégration de la requête de fusion dans la branche principale. Le code peut toutefois toujours être déployé dans un environnement de fonctionnalités pour des tests supplémentaires.

Délai de publication réduit et analyse du code 6 fois plus rapide

Qodana a contribué de manière significative à raccourcir les délais de publication chez Evri. L'intégration de l'outil dans leurs pipelines a permis de publier des versions plus souvent et plus rapidement. Plus précisément, Qodana fournit un « retour rapide » dans les requêtes de fusion, ce qui permet aux développeurs de résoudre rapidement les problèmes, et accélère le processus de publication.

« Qodana a considérablement réduit les délais de publication chez Evri en fournissant un retour rapide sur les requêtes de fusion, ce qui permet d'accélérer la résolution des problèmes. Ses temps d'analyse rapides, aussi courts que trois à cinq minutes, ont remplacé les durées fastidieuses de 20 minutes. »

— Luke Morton, architecte technique principal chez Evri

Une qualité de code élevée avec peu de maintenance

Qodana fonctionne avec un minimum de bruit et nécessite moins de gestion continue, ce qui le rend plus facile à utiliser.

« Nous n'utilisons pas Qodana au quotidien dans DevEx ; nous ne faisons que l'administrer. Le simple fait que nous n'ayons pas besoin d'y penser nous montre que cela fonctionne bien. Je n'ai pas pensé à Qodana depuis des semaines, ce qui prouve qu'il fait son travail. »

— Louis Jones, ingénieur principal de l'expérience développeur chez Evri

Opportunité éducative

Qodana sert de source d'apprentissage supplémentaire pour les développeurs.

« Qodana fournit une opportunité de microapprentissage à nos développeurs, car si Qodana ajoute un commentaire sur une requête de fusion, ils peuvent cliquer dessus, voir le problème et comprendre comment le résoudre. »

— Luke Morton, architecte technique principal chez Evri

Témoignages de clients similaires

Moovit

Amit Weinblum, chef d'équipe infrastructure chez Moovit

Qodana a stabilisé notre système de production et permis aux développeurs d'éviter de résoudre les problèmes trop tard dans le pipeline. Nous assistons à un changement de paradigme, dans lequel les équipes de développement suivent les politiques et s'épargnent quelques nuits blanches grâce à Qodana. 

Zynex

Daniel Larson, architecte logiciel, Zynex Monitoring Solutions.

Nous pensons que Qodana peut aider tous nos développeurs à améliorer la qualité du code qu'ils écrivent. Qodana permet aux développeurs juniors d'écrire du code de niveau senior et aux développeurs seniors de maintenir la niveau de qualité de leur code. Avec ses différents types d'inspection, Qodana peut jouer un rôle de coach pour nos développeurs en plus de nous aider à maintenir les normes de qualité du code que nous nous sommes fixées pour nos produits.

Plus de témoignages