Steckbrief
Branche: E-Commerce
Leistung: Digitalrenovierung – vollständiger Rewrite eines 20 Jahre gewachsenen Legacy-Systems
Ausgangssituation: Über 20 Jahre gewachsenes Legacy-System (.NET), keine Dokumentation, veraltete Kotlin-App über den PlayStore – und Wachstumsambitionen, die das Setup nicht hergibt
Lösung: Vollständiger Rewrite: Go-Backend, React-Dashboard, native App durch Progressive Web App ersetzt, alle Versanddienstleister über eine einzige Schnittstelle angebunden
Ergebnis: Skalierbares System, fehlerfreier Übergang in den Wirkbetrieb, Basis für weiteres Wachstum gelegt
Ausgangssituation
Das Unternehmen ist über 20 Jahre alt und zählt zu den führenden Online-Händlern in seinem Segment. Aus einem kleinen Fachbetrieb entstanden, wuchsen Sortiment und Kundenbasis über die Jahre erheblich – heute beschäftigt das Unternehmen rund 170 Mitarbeitende.
Das Geschäftsmodell ist komplex: Produkte liegen nicht auf Lager. Stattdessen werden Bestellungen nach Eingang direkt bei einem Netz von Lieferanten abgerufen, zusammengestellt und versandt. Das macht den Prozess anspruchsvoll – Verfügbarkeit und Qualität können zwischen Bestelleingang und Versand variieren.
Das interne System, das diesen Betrieb steuerte, war über viele Jahre gewachsen. Das .NET-Backend stammte von einem ehemaligen Werkstudenten, der längst nicht mehr im Unternehmen war. Es funktionierte gut – aber kaum jemand verstand es noch, und es war schwer bis unmöglich daran etwas zu ändern.
Zusätzlich lief eine veraltete Kotlin-App für die Mitarbeiter, die über den PlayStore auf die Geräter verteilt werden musste. GLS und DPD waren als zwei getrennte Schnittstellen angebunden. Ein erfreuliches Corona-Wachstum hatte alle im Tagesgeschäft aufgerieben – für strategische IT-Entscheidungen fehlte die Zeit.
Challenge
Vom ehemaligen Werkstudenten existierte keine Dokumentation. Das Wissen darüber, wie das System funktionieren sollte, steckte ausschließlich in den Köpfen der Mitarbeitenden. Dazu kam ein historisch gewachsenes Datenbankmodell, das grundlegende Prinzipien des Datenbankdesigns ignorierte – und ein Tech-Stack, in dem wir uns erst einarbeiten mussten.
Der Kunde wollte deutlich wachsen. Mit dem bestehenden Setup und mangelnder Handlungsfähigkeit die Software zu erweitern problematisch.
Umsetzung
Wir arbeiteten uns tief in die Prozesse des Kunden ein, um das Kerngeschäft wirklich zu verstehen. Daraus entstand ein vollständiger Rewrite:
Zunächst bauten wir ein Go-Backend, welches das alte .NET-System funktionsgleich ersetzte. Dann wurde ein webbasiertes Dashboard in React von Grund auf neu gebaut – mit klarer Struktur und durchgängig nutzbaren Komponenten.
Die Kotlin-App wurde ebenfalls ersetzt. Wieder funktionsgleich, aber technologisch anders aufgestellt - eine React Progressive Web Application die auf den Endgeräten im Browser läuft statt als App. Damit entfiel eine gesamte Technologie-Ebene: kein separater App-Store-Prozess, keine aufwendigen Update-Deployments.
Internes Dashboard, Packplatz-Frontends und Handscanner laufen heute technologisch einheitlich – auf Zebra-Handgeräten und großen Touchscreen-Geräten gleichermaßen.
Ein eigenes Kapitel war die Hardware vor Ort – klassische Mittelstands-Technik, wie sie im Lager und am Packplatz steht: Zebra-Handhelds, Zebra-Labeldrucker, Industriewaagen. All das muss zuverlässig an die zentrale Software angebunden werden – mal über saubere APIs, mal sehr hardwarenah bis runter aufs Protokoll. Genau solche Aufgaben schrecken uns nicht ab, daran haben wir Spaß.
Alle Versanddienstleister wurden über Shipcloud angebunden – eine einzige Schnittstelle statt mehrerer separat gepflegter Verbindungen. Neue Dienstleister lassen sich damit ohne Entwicklungsaufwand hinzufügen, die Versandkosten sanken sogar noch.
Konkrete Verbesserungen im Alltag: Ein Planungslauf, der die im Shop eingegangenen Bestellungen den passenden Bestellungen bei den Lieferanten zuordnet, dauerte im alten System teils Stunden – im neuen System läuft derselbe Schritt in unter zehn Sekunden.
Auch kleinere, im Tagesgeschäft aber spürbare Schwachstellen verschwanden: Im alten System konnte ein Versandlabel unbemerkt fehlschlagen – keine Fehlermeldung, der Mitarbeitende musste die Bestellung zur Seite legen und auf Klärung warten. Das neue System meldet Fehler sofort an der Versandstation, zum Beispiel wenn eine Adresse ungültig ist. Da Versand und Lagerhaltung räumlich getrennt liegen, wurden Echtzeit-Benachrichtigungen im Dashboard eingebaut, damit Probleme nicht erst beim nächsten manuellen Abgleich auffallen.
Vor allem aber entstand endlich Raum für Funktionen, die schon lange auf der Wunschliste standen. Der frühere Einzelentwickler hatte nie genug Zeit, um alle Anforderungen umzusetzen – auf der neuen Plattform konnten wir diese Funktionen Schritt für Schritt nachliefern.
Was danach passierte
Der Übergang erfolgte als kontrollierter Testlauf – altes und neues System liefen parallel, der Wechsel war praktisch fehlerfrei. Seitdem läuft der Betrieb vollständig auf der neuen Plattform.
Das System ist so gebaut, dass neue Anforderungen schnell und ohne Umwege eingebaut werden können. Wir arbeiten weiter Feature für Feature mit dem Kunden – angepasst an den Takt des Tagesgeschäfts. Die Basis für das angestrebte Wachstum ist gelegt.
Genau so sieht eine Digitalrenovierung aus: Ein gewachsenes System wird nicht im laufenden Betrieb riskiert, sondern kontrolliert abgelöst – am Ende steht eine moderne Plattform als Basis für das nächste Wachstum.