Domaine : Transport
Produits JetBrains utilisés : Qodana, IntelliJ IDEA
Taille de l'organisation : Plus de 200 employés
Taille de l'équipe : 6 équipes, 60 développeurs au total
Pile technologique : Java, Spring, Jenkins
Moovit est le créateur de l'application de transport en commun n°1. Les applications iOS, Android et web de Moovit offrent aux utilisateurs une expérience de mobilité intelligente pour se rendre facilement à destination en utilisant n'importe quel mode de transport public et partagé. Les usagers des transports en commun peuvent bénéficier de la billetterie mobile pour planifier, payer et utiliser les services de transport en commun. Lancé en 2012, Moovit dessert désormais plus de 1,5 milliard d'utilisateurs dans plus de 3 500 villes à travers 112 pays, dans 45 langues.
Les transports publics sont une bouée de sauvetage pour l'emploi, l'éducation, les soins de santé et bien plus, mais ils peuvent s'avérer complexes et stressants à l'usage. Moovit, le créateur de l'application de transport public n°1, disponible sur iOS, Android et le web, offre aux utilisateurs une expérience de mobilité intelligente pour planifier et naviguer facilement vers leur destination en utilisant les transports publics et partagés. Moovit a guidé plus de 1,5 milliard d'utilisateurs dans plus de 3 500 villes à travers 112 pays.
Avec autant de personnes qui dépendent des informations et des conseils sur les transports en commun, notamment des informations en temps réel, la stabilité du système est essentielle. L'équipe d'infrastructure de Moovit est chargée de maintenir la stabilité de l'ensemble du système de Moovit pour les projets B2C et B2B. L'équipe a été confrontée à un défi de taille, consistant à identifier les problèmes qui se posaient en production et perturbaient les services de l'entreprise. L'une de leurs principales préoccupations était la détection des NullPointerExceptions
, qui sont des causes courantes de pannes et qui auraient joué un rôle dans l'incident CrowdStrike.
Pour réduire les risques liés aux opérations de service et maintenir une qualité élevée du code, Moovit a commencé à rechercher un outil d'analyse de code statique répondant aux critères suivants :
Actuellement, Qodana est utilisé par six équipes chez Moovit, soit un total de 60 développeurs. Étant donné que Qodana est basé sur le même moteur d'analyse qu'IntelliJ IDEA, les développeurs Moovit ont synchronisé leurs profils d'inspection entre IntelliJ IDEA et Qodana.
Le processus qui en résulte implique les étapes suivantes :
« Le principal avantage était que nous n'avions pas besoin de prédéfinir une liste d'inspections, car Qodana surveille un large éventail de problèmes de haute gravité. Nous avons simplement passé en revue sa liste des problèmes critiques par défaut ; nous n'avons supprimé que ceux qui ne correspondaient pas à nos besoins. »
— Amit Weinblum, chef d'équipe infrastructure chez Moovit
L'équipe d'infrastructure a signalé moins de problèmes de production, en particulier ceux qui auraient pu être détectés pendant le développement, grâce à une détection et une résolution proactives, plus tôt dans le processus.
« Nous sommes encore relativement novices avec Qodana, mais déjà deux cas majeurs se sont présentés, où je me suis dit : « Ils ont évité à mon équipe de rester travailler tard le soir ». Cela a eu un impact positif sur mon travail, car j'ai maintenant davantage confiance dans le fait que nous serons alertés des problèmes critiques. »
— Dor Rud, chef d'équipe backend chez Moovit
Moovit a apprécié la possibilité de créer ses propres règles personnalisées (différentes des inspections Qodana standard), de personnaliser la gravité des problèmes et d'ajouter ou de supprimer facilement des inspections de son profil, ce qui a permis de surveiller les modifications de code vraiment importantes.
Les développeurs ont apprécié la précision de l'analyse et l'intégration avec IntelliJ IDEA, qui leur ont permis de résoudre les problèmes plus rapidement et avec moins de perturbations dans leur workflow.
Un autre facteur important a joué un rôle : la puissance de la marque JetBrains, qui a contribué à convaincre les développeurs d'adopter Qodana comme étape supplémentaire d'analyse de code. Ils faisaient confiance à ses résultats, car ils étaient déjà fans d'IntelliJ IDEA et d'autres produits JetBrains. En fin de compte, sa rapidité et sa fiabilité ont renforcé la perception positive de l'analyse statique au sein de l'organisation.
« Franchement, nous étions inquiets des réactions négatives que nous aurions à gérer lorsque nous avons introduit Qodana. Il est généralement très difficile d'obliger les développeurs à respecter une politique d'entreprise. Grâce à la bonne réputation de JetBrains et au fait que Qodana signale des problèmes véritablement critiques, les développeurs n'ignorent pas Qodana et ne recherchent pas de solutions de contournement ; ils résolvent les problèmes. »
— Dor Rud, chef d'équipe backend chez Moovit
« Comme tout outil d'analyse de code, Qodana ajoute une étape de pipeline supplémentaire et ralentit le cycle de développement, mais c'est un inconvénient à court terme. Sur le long terme, il 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. »
— Amit Weinblum, chef d'équipe infrastructure chez Moovit