This case study is also available in English

TL;DR

Die Challenge

HeRo, das größte interne Softwareentwicklungsprojekt von Hellmann Worldwide Logistics, wurde aufgrund eines schnell wachsendes Teams und neuer Features immer komplexer. Darunter litt die Effizienz der Produktteams.

Unser Lösungsansatz

INNOQ unterstützte Hellmann bei der Implementierung klarer Schnittstellen, um die Komplexität der Plattform zu reduzieren.

Das Ergebnis

Durch die gemeinsame Arbeit wurden die Entwicklungsprozesse beschleunigt und die Plattformstruktur optimiert. Hellmann erreichte eine signifikante Vereinfachung der internen Prozesse und eine verbesserte Zusammenarbeit der Produktteams.

Mit dem Transportmanagementsystem HeRo (Hellmann Road) hat Hellmann das größte interne Software-Entwicklungsprojekt der Firmengeschichte gestartet. Dabei handelt es sich um eine Plattform für den kompletten Landverkehr. Ziel ist es, für sämtliche Niederlassungen in Deutschland und Europa digitale Prozesse einzuführen, zu vereinheitlichen und so die Effizienz und Effektivität zu steigern – z.B. durch die optimale Auslastung von Frachtraum im europaweiten Direktverkehr. INNOQ hat das hauseigene Entwicklungsteam für 6 Wochen unterstützt, um gemeinsam die immer komplexer werdende Plattform durch die Einführung klarer Schnittstellen beherrschbar zu machen.

Mit Unterstützung zu mehr Selbstständigkeit

Das HeRo-Entwicklungsteam hat sich bewusst für Event Sourcing in Kombination mit CQRS (Command Query Responsibility Segregation) als Architekturstil entschieden. Beim Event Sourcing wird nicht nur der aktuelle Stand der Daten gespeichert, sondern alle Änderungen (Events), die zu diesem Stand geführt haben. Da man so alle fachlichen Ereignisse erfassen und nachvollziehen kann, eignet sich Event Sourcing besonders gut für die Anwendung in der Logistikbranche bzw. für Transportmanagementsysteme.

Auszug aus dem HeRo Schnittstellenkatalog
Auszug aus dem HeRo Schnittstellenkatalog

Doch durch das schnelle Wachstum des Teams und die Entwicklung neuer Features stieg die Komplexität der Plattform. So kam man mit HeRo irgendwann an einen Punkt, an dem das System aufgrund zu vieler technischer Schulden nicht mehr zu beherrschen war. Events wurden z.B. auch als Austauschformat zwischen einzelnen Services genutzt, was die Handlungsfähigkeit der Plattform einschränkte. Es entstand eine Art „gordischer Knoten“, der mit einem externen Anbieter gelöst werden sollte. Nach mehreren Gesprächen fiel die Entscheidung schließlich auf INNOQ.

Die Problemstellung

INNOQ durfte Hellmann konkret bei der Lösung dieser Fragen unterstützen:

  1. Wie können wir unsere Schnittstellen fachlich und technisch so spezifizieren, dass wir mit mehreren Produktteams effizient entwickeln können?
  2. Und wie können wir unsere Technologien und Architekturen so nutzen, dass sie uns den gewünschten Nutzen bringen und uns bei unseren fachlichen Zielen unterstützen?

INNOQ hat uns mit einem kurzen, aber starken Impuls auf den Weg Richtung klarer Schnittstellen geführt. Wir spüren bereits erste Auswirkungen, wie eine schnellere Entwicklungs­geschwindigkeit.

Roman SachseIT-Teamleiter/Solution Manager, Hellmann Worldwide Logistics

Es ging also nicht darum, noch einmal ganz von vorn anzufangen. Dafür war schon zu viel Zeit und Geld in die bestehende Plattform investiert worden. Vielmehr wollte sich Hellmann für 6 Wochen externe Unterstützung holen, um vor allem das Thema Schnittstellen anzugehen. In dieser Zeit sollte eine Lösung entstehen und idealerweise auch schon zum Einsatz kommen – mit Fachleuten, die das Problem verstehen, die einen machbaren Weg aus den Schnittstellen-Abhängigkeiten aufzeigen und die „hands on“ mit den Teams ein Lösungskonzept erarbeiten und verschriftlichen, sodass die Teams intern diesen „gordischen Knoten“ selbstständig entwirren können.

Radikale Vereinfachung am Beispiel des HellScan Softwareprojekts: Anstatt 27 interne Domain Events, die von sehr vielen anderen HeRo-Systemen konsumiert wurden, gibt es nun ein Public Domain Event, dass von anderen HeRo-Systemen bewusst konsumiert werden kann.
Radikale Vereinfachung am Beispiel des HellScan Softwareprojekts: Anstatt 27 interne Domain Events, die von sehr vielen anderen HeRo-Systemen konsumiert wurden, gibt es nun ein Public Domain Event, dass von anderen HeRo-Systemen bewusst konsumiert werden kann.

Die wesentlichen technologischen Entscheidungen

  • In einem Gitlab Repository wurden die Schnittstellen für alle sichtbar dokumentiert.
  • Als Spezifikationssprachen kamen AsyncAPI und OpenAPI zum Einsatz. Das sind die bekanntesten und können leicht von allen genutzt werden.
  • Für den Austausch von Nachrichten hat sich das Team an dem CloudEvents-Standard orientiert.
  • Die ersten Schnittstellen, die gemeinsam entworfen wurden, dienen als Blaupause, wie man Schnittstellen gestalten bzw. wie man zusammenarbeiten sollte, um Schnittstellen zu etablieren.
  • Für jede Schnittstellen-Art (Events, Commands und Queries) wurde ein Konzept entwickelt und gemeinsam jeweils Ende-zu-Ende verprobt.

Mit wenig Zeit zu guten Ergebnissen

Die Zusammenarbeit von Hellmann und INNOQ startete mit einem gemeinsamen zweitägigen Kick-Off-Workshop in Osnabrück. Ein Start, der nicht nur aus technologischer, sondern auch aus menschlicher Sicht sinnvoll war. Teilnehmende waren das spätere vierköpfige Kernteam – zwei Senior Consultants von INNOQ, zwei Entwickler von Hellmann – sowie der IT-Teamleiter und die Tech-Leads der drei HeRo Produktteams. Durch das persönliche Kennenlernen entstand von Anfang an eine vertrauensvolle Basis. Auch, weil die folgende Zusammenarbeit ausschließlich Remote war.

Beispiel für eine API mit AsyncAPI
Beispiel für eine API mit AsyncAPI

Die große Herausforderung bestand darin, in der kurzen Zeit zu nachhaltigen Ergebnissen zu kommen. Statt mit einer ausführlichen Planungsphase startete das Kernteam nach dem Workshop deshalb direkt mit Remote Mob Programming und einem intensiven Wissensaustausch. Technologische Entscheidungen wurden nach dem Motto „einfach mal machen“ möglichst schnell getroffen. Nach einem kurzen Brainstorming wurde eine Shortlist definiert und der priorisierte Lösungsvorschlag direkt ausprobiert:

So war schnell klar, welche Entscheidungen sinnvoll waren oder welche revidiert werden sollten. Auch die anderen Teams wurden von Beginn an intensiv einbezogen, die jeweiligen Interessen ausgelotet, Entscheidungen direkt abgestimmt und konsolidiert. Alle haben sehr agil zusammengearbeitet. Von Tag zu Tag wurde neu geplant, neu priorisiert und freie Zeitfenster genutzt.

Mit Offenheit zu mehr Geschlossenheit

Der stets transparente Entwicklungsprozess schuf zusätzlich Vertrauen und trug dazu bei, schnell zu guten Ergebnissen zu kommen. Dank täglicher Statusmeldungen fühlten sich alle Beteiligten inklusive der Produktteams gut informiert und konnten direktes Feedback auf Zwischenergebnisse geben.

Mithilfe von ADRs (Architectural Decision Records) hat das Team von Anfang an sämtliche Entscheidungen und Vorgehensweisen nachvollziehbar und kontinuierlich dokumentiert. Besonders hilfreich war es, mit konkreten Beispielen zu arbeiten und die resultierenden Konsequenzen aufzuzeigen. So bekamen alle, die die ADRs gelesen hatten, einen Eindruck davon, was welche Entscheidung für die tägliche Arbeit in Zukunft bedeuten würde. Durch den gegenseitigen Austausch mit teilweise intensiven Diskussionen wurde zudem sichergestellt, dass diese Entscheidungen vom ganzen Team mitgetragen werden.

Dokumentation aller Entscheidungen und Vorgehensweisen mittels ADRs: hier zum Thema Codegenerierung.
Dokumentation aller Entscheidungen und Vorgehensweisen mittels ADRs: hier zum Thema Codegenerierung.

Auch im Kernteam haben die vier erfahrenen Entwickler viel diskutiert – oft intensiv, immer spannend, manchmal auch kontrovers. Schließlich ging es bei der Zusammenarbeit nicht darum, dass INNOQ fertige Lösungen vorschlägt und Vorgehensweisen oder Technologien bestimmt. Ziel der mehrwöchigen Zusammenarbeit war immer Wissenstransfer und Enablement für Hellmann, damit die Teams rund um HeRo selbstständig alle Herausforderungen angehen und lösen können.

Fazit

Selbstverständlich konnten in 6 Wochen nicht alle Probleme gelöst werden, aber die gesetzten Ziele wurden erreicht. Das Team hat gemeinsam eine Strategie und Struktur für das Thema Schnittstellen entwickelt. Jede Schnittstellen-Art wurde einmal Ende-zu-Ende durchgespielt und prototypisch umgesetzt – plus Migrationsstrategie. Die ersten Schnittstellen sind kurz nach der gemeinsamen Projektphase live gegangen. So wurden beispielsweise 27 interne Events auf ein fachliches Schnittstellen-Event reduziert. Der Plan der radikalen Vereinfachung geht also bereits auf. Außerdem gibt es einen konkreten Plan, welche Schnittstellen nach und nach angegangen werden. Die Roadmap ist klar, die Richtung steht, den Rest des Weges meistert das Logistikunternehmen nun allein.

Avatar of Aminata Sidibe
Principal Consultant

Wir begleiten auch Ihr Digitalisierungsvorhaben in Ihrer Branche über alle Phasen hinweg und freuen uns auf den Austausch mit Ihnen.

Schreiben Sie mir!