Industrie: Verkehr
Verwendete JetBrains-Produkte: Qodana, IntelliJ IDEA
Organisationsgröße: 200+ Beschäftigte
Teamgröße: 6 Teams mit insgesamt 60 Entwickler*innen
Technologiestack: Java, Spring, Jenkins
Moovit ist das Unternehmen hinter der führenden Pendler-App. Die iOS-, Android- und Web-Versionen der Moovit-App bieten Benutzer*innen eine intelligente Mobilitätserfahrung, um unkompliziert mit beliebigen öffentlichen und geteilten Verkehrsmitteln an ihr Ziel zu gelangen. Mit mobilen Ticket-Lösungen können ÖPNV-Fahrten geplant, bezahlt und vollzogen werden. Moovit wurde 2012 eingeführt und hat inzwischen in 112 Ländern und mehr als 3500 Städten über 1,5 Milliarden Benutzer*innen, die 45 Sprachen sprechen.
Öffentliche Verkehrssysteme sind eine Lebensader für Arbeitsplätze, Bildung, Gesundheitsversorgung und vieles mehr – sie sind aber auch eine Quelle von Problemen und Stress. Moovit, der Erfinder der führenden Pendler-App, die auf iOS, Android und im Browser verfügbar ist, bietet Benutzer*innen eine intelligente Mobilitätserfahrung, um Fahrten mit beliebigen öffentlichen und geteilten Verkehrsmitteln zu planen und unkompliziert zum Ziel zu gelangen. Moovit hat über 1,5 Milliarden Benutzer*innen in 112 Ländern und mehr als 3500 Städten an ihr Ziel geführt.
Angesichts der Massen an Menschen, die auf Verkehrsinformationen und Orientierungshilfen – darunter auch Echtzeitinformationen – angewiesen sind, ist die Stabilität des Systems von entscheidender Bedeutung. Das Infrastrukturteam von Moovit ist für die Stabilität des gesamten Moovit-Systems sowohl bei B2C- als auch bei B2B-Projekten zuständig. Das Team stand vor der großen Herausforderung, Probleme zu identifizieren, die es in die Produktion schafften und den Servicebetrieb des Unternehmens beeinträchtigten. Ein Hauptanliegen war die Erkennung von NullPointerExceptions
, die eine häufige Ursache für Ausfälle sind und die auch beim CrowdStrike-Vorfall eine Rolle gespielt haben sollen.
Um die Risiken für den Servicebetrieb zu verringern und eine hohe Codequalität zu gewährleisten, suchte Moovit nach einem statischen Codeanalyse-Tool, das die folgenden Kriterien erfüllen sollte:
Derzeit wird Qodana von sechs Moovit-Teams mit insgesamt 60 Entwickler*innen verwendet. Da Qodana auf der gleichen Analyse-Engine wie IntelliJ IDEA basiert, haben die Moovit-Entwickler*innen ihre Inspektionsprofile in IntelliJ IDEA und Qodana synchronisiert.
Der resultierende Prozess umfasst die folgenden Schritte:
„Der entscheidende Vorteil war, dass wir keine Inspektionsliste vorgeben mussten, da Qodana bereits eine Vielzahl von schwerwiegenden Problemen überwacht. Wir haben einfach die Standardliste der kritischen Probleme überprüft und diejenigen entfernt, die für unsere Bedürfnisse nicht relevant waren.“
— Amit Weinblum, Leiter des Infrastrukturteams bei Moovit
Dank der proaktiven Problemerkennung und -behebung in einem früheren Prozessstadium meldet das Infrastrukturteam weniger Produktionsprobleme, insbesondere solche, die während der Entwicklung erkennbar sind.
„Wir verwenden Qodana noch nicht allzu lange, aber es gab bereits zwei Fälle, bei denen ich dachte: ‚Das hat mein Team davor bewahrt, bis spät in die Nacht zu arbeiten.‘ Das hat sich positiv auf meine Arbeit ausgewirkt, denn ich kann mich jetzt stärker darauf verlassen, dass wir auf kritische Probleme aufmerksam gemacht werden.“
— Dor Rud, Leiter des Backend-Teams bei Moovit
Moovit schätzt die Möglichkeit, eigene Regeln zu erstellen, die sich von den Standardinspektionen von Qodana unterscheiden, den Dringlichkeitsgrad von Problemen anzupassen und Inspektionen unkompliziert zu einem Profil hinzuzufügen oder aus diesem zu entfernen. Auf diese Weise können Codeänderungen überwacht werden, die für das Unternehmen tatsächlich wichtig sind.
Die Entwickler*innen schätzen die Treffsicherheit der Analysen und die Integration mit IntelliJ IDEA, die eine schnellere Problembehebung mit weniger Workflow-Unterbrechungen ermöglicht.
Ein weiterer wichtiger Faktor war die Markenstärke von JetBrains, die dazu beitrug, dass die Entwickler*innen Qodana als zusätzlichen Codeanalyseschritt akzeptierten. Sie vertrauten den Ergebnissen, weil sie bereits Fans von IntelliJ IDEA und anderen JetBrains-Produkten waren. Letztendlich hat die Schnelligkeit und Zuverlässigkeit der Lösung zu einer positiven Wahrnehmung der statischen Analyse innerhalb der Organisation beigetragen.
„Ehrlich gesagt waren wir bei der Einführung von Qodana besorgt über die möglichen Abwehrreaktionen. Es ist in der Regel sehr schwer, Firmenrichtlinien bei Entwickler*innen durchzusetzen. Dank des guten Rufs von JetBrains und der Tatsache, dass Qodana wirklich kritische Probleme meldet, beheben die Entwickler*innen jedoch die Probleme, statt Qodana zu ignorieren oder nach Workarounds zu suchen.“
— Dor Rud, Leiter des Backend-Teams bei Moovit
„Wie jedes Codeanalyse-Tool fügt Qodana einen zusätzlichen Pipeline-Schritt hinzu und verlangsamt damit den Entwicklungszyklus – aber das ist nur eine vorübergehende Unannehmlichkeit. Langfristig hat es unser Produktionssystem stabilisiert und den Entwickler*innen die Möglichkeit gegeben, Probleme nicht zu spät in der Pipeline zu beheben. Wir beobachten einen Paradigmenwechsel: Die Entwicklerteams befolgen die Richtlinien und ersparen sich mit Qodana so manche schlaflose Nacht.“
— Amit Weinblum, Leiter des Infrastrukturteams bei Moovit