Herausforderung
Der Kunde hatte eine Anwendung zur Abwicklung von Verkaufsaufträgen und Angeboten. Die Anwendung war klobig und blockierte den gesamten Workflow. Tatsächlich handelte es sich um eine Excel-Tabelle, die mit Visual Basic-Skripten gekoppelt und mit einer Datenbank verknüpft war. Diese Excel-Tabelle hat uns zunächst verblüfft. Es wimmelte von allen möglichen Entitäten, Formeln, Abhängigkeiten und Zahlen. Die Datenbank wiederum wurde durch ein teures ERP-Tool eines Drittanbieters denormalisiert, das zum Organisieren der Daten verwendet wurde. Das Unternehmen versuchte, das System zu reparieren, indem es Änderungen mit Visual Basic vornahm – und scheiterte daran. Es war höchste Zeit, auf fortschrittlichere Technologie umzusteigen, also bat es um unsere Hilfe, um das System wieder aufzubauen.Lösung
Elinext beauftragte zwei separate Teams mit der Entwicklung des Frontends und Backends für dieses Projekt. Diese Teams haben die Scrum-Methodik befolgt und von Anfang an eng mit dem Kunden zusammengearbeitet. Wir haben jeden Tag über news-Apps gechattet und uns mittwochs per Videolink getroffen. Der Kunde hat auch Tickets für uns in Jira eingereicht. Wir haben Java zusammen mit Spring Cloud verwendet, um die Anwendung zu erstellen. Durch das Projekt entwickelte sich die Architektur von einem Monolithen zu Microservices, die das schwere ERP-Tool nach und nach ersetzten. Das hat die Bewerbung erheblich beschleunigt. Die Benutzer der Anwendung sind die Mitarbeiter, Händler und Vertriebsmitarbeiter unserer Kunden. Wir haben ein Benutzerrollensystem aufgebaut, in dem ein Administrator einem Benutzer mehrere Rollen zuweisen und die ihm zur Verfügung stehenden Funktionen festlegen kann. Werfen wir einen Blick auf diese Funktionen.Angebote und Bestellungen
Abhängig von ihrer Rolle können Benutzer Angebote erstellen und bearbeiten und Details wie Kunden- und Artikeldaten verwalten. So funktioniert das: Ein Verkäufer erstellt ein Angebot und sendet es zur Genehmigung an seinen Vorgesetzten. Der Manager kann das Angebot genehmigen und in einen unveränderlichen Auftrag umwandeln oder es ablehnen und zur Korrektur zurücksenden.Vorlagen
Wir haben Bestell- und Angebotsvorlagen aktiviert, um den Arbeitsablauf zu optimieren. Zur Erstellung eines Dokuments können zwei Sprachen verwendet werden: Deutsch und Französisch.Gewinne und KPIs
Regionale Distributoren und Handelsvertreter können ihre Gewinne im System berechnen. Und Aufsichtsbenutzer können die Leistung der Handelsvertreter basierend auf der Anzahl der pro Monat bearbeiteten Angebote und Bestellungen sehen.Kosten-pro-Seite-Berechnung
Wir haben auch einen Microservice entwickelt, der die Kosten pro Druckseite berechnet. Ein Controller führt über 300 Berechnungen durch und Benutzer können die Ausgabe als CSV-Datei exportieren. Metriken wie diese helfen Vertriebsmitarbeitern, dem Kunden den Wert des Produkts zu zeigen.Fehlerbeseitigung
Ein anderer Microservice importiert Fehlerdaten aus der anderen Quelle des Clients über die API, listet diese Fehler auf und behebt automatisch diejenigen, die nicht kritisch sind. Das Erstellen wurde zu einer eigenen Herausforderung, da der Kunde uns bat, Visual Basic-Code zurückzuentwickeln. Dazu mussten wir einige Dinge mit Visual Basic klären. Wir haben zahlreiche Bugs und Fehler im Backend der ursprünglichen Anwendung auf der Kundenseite gefunden und den Kunden davon überzeugt, uns damit umgehen zu lassen.Ergebnis
Wir haben das Projekt innerhalb des Budgets und der Zeit geliefert. Darüber hinaus haben wir bewiesen, dass kundenspezifische Entwicklung billiger sein kann als die Verwendung einiger Unternehmenstools von Drittanbietern. Die neue Anwendung arbeitet so schnell wie möglich. Anwendungsbenutzer haben neue Funktionen, die ihnen helfen, mehr zu verkaufen und mehr von den Verkäufen zu profitieren, die sie tätigen. Die Arbeiten am Kundenauftrags- und Angebotssystem sind jedoch noch nicht abgeschlossen. Zum jetzigen Zeitpunkt haben wir mehr als zehn neue Versionen in der Entwicklung, und der Kunde bringt immer wieder neue Ideen für das Produkt ein.
Share