LieberLieber entwickelt für ein internationales Logistikunternehmen die plattformunabhängige Software für Zehntausende AußendienstmitarbeiterInnen. Die Software kommt auf Handscannern für die Zustellung spezieller Sendungen zum Einsatz und wird laufend erweitert und angepasst.
Die Auslieferung von Waren ist zwar ein alltäglicher und weniger beachteter Vorgang, bei genauerem Hinsehen zeigt sich aber die hohe Komplexität dieser Logistik-Dienstleistung. Neben klaren rechtlichen Rahmenbedingungen sorgen neu entstehende Formen der Zustellung für eine steigende Zahl von Ablaufprozessen. „Die wachsende Komplexität in der Zustellung hat unseren Kunden dazu veranlasst, sich näher mit modellbasierter Entwicklung auf Basis der UML-Entwicklungsplattform Enterprise Architect zu befassen. So lässt sich jeder neue Zustellprozess einfach und schnell in einem Modell abbilden und kann dort auch jederzeit an neue Anforderungen angepasst werden“, erläutert Daniel Siegl, Geschäftsführer von LieberLieber Software.
Die Lösung basiert auf dem Microsoft .NET Compact Framework und Xamarin, die speziell für die Entwicklung von Anwendungen für mobile Geräte ausgelegt sind. Enterprise Architect wird in der Entwicklung vom Design über die Codegenerierung bis hin zur Dokumentation umfassend eingesetzt. Die entwickelte Software läuft derzeit auf Zehntausenden Handscannern des Logistikunternehmens und wird stetig an neue Anforderungen angepasst.
Eine eigene Sprache für die Zustellung
Zu Beginn des gemeinsamen Projekts galt es, die bereits bestehende Software in das Modell überzuführen und entsprechend zu dokumentieren. Da es bei den hunderten abzubildenden Prozessen viele Ähnlichkeiten gibt, bot es sich an, eigene Elemente zu entwickeln, die immer wieder zum Einsatz kommen können. Dieses Vorgehen stellt einerseits sicher, dass alle Entwickler nach klaren Vorgaben modellieren und Modellteile gleiche Bezeichnungen erhalten. Andererseits beschleunigt es die Entwicklung erheblich, da die einmal entwickelten Elemente für die Abbildung verschiedener Prozesse immer wieder eingesetzt werden können. Die entstehenden Prozesse werden hierarchisch geordnet und in den einzelnen Arbeitsschritten mit einer leicht verständlichen Navigation versehen. „Das Ziel war es, einerseits bestehenden Code in das Modell zu übernehmen und gleichzeitig eine einheitliche Struktur zu schaffen, die den Zusteller bei den einzelnen Schritten in allen Anwendungen klar und einfach unterstützt“, so Siegl.
Software auf Knopfdruck
Nach Fertigstellung des Modells eines neuen Arbeitsablaufes wird daraus auf Knopfdruck fertiger Softwarecode generiert. Dabei kommen die in Enterprise Architect hinterlegten Vorgaben zum Einsatz, in einem weiteren Nachbearbeitungsschritt werden nochmals verbliebene Fehler korrigiert.
Um eine besonders hohe Qualität und Vollständigkeit der Dokumentation garantieren zu können, erstellte das LieberLieber-Team eine Erweiterung für den Enterprise Architect. Das ermöglicht es, nicht nur das Modell zu überprüfen, sondern auch die Prozessschritte im Modell und in der daraus generierten Software zu vergleichen. „Durch diesen Vergleich der Prozesse im Modell und in der Software können wir garantieren, dass die gesamte Software nach höchsten Ansprüchen dokumentiert ist“ erklärt Siegl.
Agile Entwicklung und tägliche Abstimmung
Angetrieben durch die Dynamik der Zustellung werden laufend neue Anforderungen an das Projektteam gestellt, die umzusetzen sind. Die neuen Anforderungen kommen aus den Fachabteilungen des Logistikunternehmens. Daraus entstehen in einem ersten Schritt Charts, die weiter in die Entwicklung gehen und als Software anschließend in den Test kommen. Um bei den laufenden Erweiterungen den Überblick zu bewahren und einen stetigen Arbeitsfortschritt sicherzustellen, entschied man sich für die Einführung agiler Methoden. Bei der vormittäglichen Abstimmung in einer Telefonkonferenz werden auftretende Probleme und Fragen geklärt und genau definierte Entwicklungs-Schritte („Sprints“) festgelegt. „Wir sind sehr stolz darauf, nun schon auf eine langjährige Zusammenarbeit mit unserem Kunden zurückblicken zu können. Auf Basis der gesammelten Erfahrungen optimieren wir unsere Entwicklungsprozesse kontinuierlich und stellen so in enger Zusammenarbeit mit dem kundeneigenen Entwicklerteam die hohe Qualität der ausgelieferten Software sicher“, schließt Siegl.