Industrie: Logistik
Verwendete JetBrains-Produkte: Qodana, IntelliJ IDEA
Organisationsgröße: 16.000 Beschäftigte
Teamgröße: 800 Entwickler*innen, 1.600 Projekte in GitLab
Technologiestack: Java, PHP, Swift, Typescript, Jenkins
Als größtes spezialisiertes Paketzustellunternehmen Großbritanniens liefert Evri jedes Jahr mehr als 720 Millionen Pakete aus. Das Unternehmen hat sich zum Ziel gesetzt, den unkompliziertesten Weg anzubieten, Pakete zu versenden, zu empfangen und zurückzusenden – und das zu moderaten Kosten. Evri arbeitet mit den meisten großen europäischen Einzelhändlern, Marktplattformen und Gebrauchtwarenbörsen zusammen. Die Wurzeln von Evri liegen im Yorkshire des Jahres 1974, aber das Unternehmen ist im Laufe der Jahrzehnte gewachsen und hat heute mehr als 8.000 Mitarbeitende, mehr als 26.000 Kurierfahrer*innen, über 14.000 Paketablageorte und ein wachsendes Netzwerk von hochmodernen Drehkreuzen und Depots.
Als einer der großen Logistikdienstleister verwaltet Evri ein enormes Paketvolumen in ganz Großbritannien und liefert die Sendungen an Endkund*innen aus. Die Softwareinfrastruktur des Unternehmens umfasst E-Commerce-Websites für Paketbuchungen, APIs zur Verwaltung von Paketdaten durch Einzelhändler und internationale Kund*innen sowie interne Tools für physische Infrastrukturaktivitäten.
Um eine möglichst reibungslose und effiziente Bereitstellung und Wartung dieser umfassenden Softwareinfrastruktur zu gewährleisten, hat Evri ein spezielles Developer-Experience-Team (DevEx) gegründet, das sich der Verbesserung der Entwicklungsabläufe und der Leistung und Zufriedenheit der Entwickler*innen verschrieben hat.
Das DevEx-Team wollte die Codequalitätsprüfungen automatisieren, um einheitliche Standards durchzusetzen, die Zusammenarbeit zu fördern, Produktreleases zu beschleunigen und Probleme frühzeitig anzugehen.
Evri verwendete früher SonarQube für Qualitätsanalysen, aber das Unternehmen war auf der Suche nach Alternativen. Die Kosteneffizienz war fraglich, und eine Vielzahl von Legacy-Problemen im Setup machte dem Unternehmen Sorgen. Luke Morton, Senior Technical Architect bei Evri, sagte dazu: „... die Leute konnten eigene Analyseregeln erstellen, damit ihr Code die Quality Gates passiert. Wir hatten nur eine begrenzte Qualitätskontrolle über unsere Programmierstandards.“
Das Unternehmen hat sich aus mehreren Gründen für die Migration zu Qodana entschieden:
„Dass die Entwickler*innen das Feedback direkt als Teil eines Kommentars zu einem Merge-Request vorgesetzt bekommen, ist eine wichtige Triebfeder für die Priorisierung der erforderlichen Maßnahmen.“
— Luke Morton, Senior Technical Architect bei Evri
„Etwas Neues einzuführen war der richtige Schritt. So konnten wir im Grunde die Erwartungen von Anfang an vorgeben.“
— James Hattersley-Dykes, Principal Engineer bei Evri
Für Evri lag der Hauptvorteil von Qodana darin, dass man sich nach der einmaligen Einrichtung in der Pipeline auf Qodana verlassen konnte, ohne dass eine ständige Überwachung erforderlich war.
Die Pipeline von Evri beginnt mit der Kompilierung des Codes und der Durchführung von Unit- und Integrationstests. Im Anschluss werden unter anderem in Qodana und Snyk Tests für verschiedene Quality Gates parallel ausgeführt. Jedes Tool gibt sein Feedback zum Merge-Request. Wenn ein Quality Gate fehlschlägt, wird der Build angehalten, und der Merge-Request wird nicht in den Hauptbranch übernommen. Der Code kann jedoch für zusätzliche Tests in einer Feature-Umgebung bereitgestellt werden.
Qodana hat bei Evri erheblich zur Verkürzung der Releasezeiten beigetragen. Durch die Integration des Tools in die Pipelines des Unternehmens können häufigere und schnellere Releases veröffentlicht werden. Qodana stellt insbesondere „schnelles Feedback“ für MRs bereit, sodass Entwickler*innen Probleme zügig angehen können, um den Releaseprozess zu beschleunigen.
„Qodana hat die Releasezeiten bei Evri drastisch verkürzt, da es schnelles Feedback zu MRs liefert, wodurch Probleme zügiger behoben werden können. Schnelle Analysezeiten von drei bis fünf Minuten haben die bisherigen mühsamen 20-Minuten-Wartezeiten ersetzt.“
— Luke Morton, Senior Technical Architect bei Evri
Qodana arbeitet mit minimalem Rauschen und erfordert weniger laufendes Management, was die Nutzung erleichtert.
„Wir verwenden Qodana nicht täglich in DevEx, wir verwalten es nur. Dass wir nicht darüber nachdenken müssen, bedeutet, dass es gut funktioniert. Ich habe seit Wochen kein einziges Mal an Qodana gedacht – das zeigt, dass es seine Aufgabe erfüllt.“
— Louis Jones, Lead Developer Experience Engineer bei Evri
Qodana dient als zusätzliche Lernquelle für Entwickler*innen.
„Qodana bietet unseren Entwickler*innen kleine Gelegenheiten zum Lernen, denn wenn Qodana einen Kommentar zu einem Merge-Request zurückgibt, kann man diesen anklicken, das Problem ansehen und den Lösungsweg erkennen.“
— Luke Morton, Senior Technical Architect bei Evri
Amit Weinblum, Leiter des Infrastrukturteams bei Moovit
Qodana hat 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.
Daniel Larson, Softwarearchitekt, Zynex Monitoring Solutions.
Unser Eindruck ist, dass Qodana alle unsere Entwickler*innen unabhängig von ihrer Erfahrung dabei unterstützt, den bestmöglichen Code zu schreiben. Qodana hilft unseren Junior-Entwickler*innen, Code auf Senior-Niveau zu schreiben, und es hilft unseren Senior-Entwickler*innen, ihre erwartete Codequalität beizubehalten. Angesichts der Vielfalt der verfügbaren Inspektionen hoffen wir, dass Qodana uns nicht nur bei der Sicherstellung der Codequalität in unseren Produkten helfen wird, sondern auch als Coach für unsere Entwickler*innen fungieren kann.