2. Dezember 2020 | 6 min lesezeit

Success Story: Ingenico Marketing Solutions GmbH

„OPEN KNOWLEDGE hat mit seiner großen Expertise im Bereich Softwarearchitektur unser Entwicklungsteam sehr schnell in die Lage gebracht, die Microservice-Architektur nach den DomainDriven-Design (DDD) Konzept für den Loyalty Harbor zu designen und umzusetzen.”
Reiner Berg, Head of Developement

Wer war der Kunde?

Ingenico Marketing Solutions (IMS) ist ein führendes europäisches Marketing-Tech-Unternehmen. Zum Angebotsportfolio gehört die Entwicklung und Betreuung von Loyalty- und Giftcard-Programmen, integrierte Payment- und Data-Analytics-Services sowie die intelligente Steuerung und Implementierung verschiedener Kunden-Touchpoints. Aktuell betreut das Team aus rund 100 Beratern, Softwareentwicklern, Datenanalysten und Kreativen als Handels- und Marketingexperte mehr als 100 Programme in neun europäischen Ländern mit rund 140 Millionen Kundenkontakten. Auf der Kundenliste von IMS finden sich Marken wie REWE, Douglas, Rossmann, A.T.U oder ARAL.

Wie hat sich das Team bei OPEN KNOWLEDGE zusammengesetzt?

Das Ziel eines initialen Kick-off Workshops war, gemeinsam mit dem Kunden Architekturansätze und Entwicklungsvorgehen für das geplante Projekt zu erarbeiten und entscheiden. Auf Grund der geforderten Erfahrung setzte sich das Team von open knowledge während dieser Phase aus einem Senior Softwarearchitect und einem Senior Consultant zusammen. Nach der Erarbeitung eines gemeinsamen Verständnisses mit dem Kunden, wurde die Entwicklungsstrategie sowie weiterführende Aufgaben festgelegt.

Mit den Erkenntnissen des Kick-off Workshops wurde der Senior Consultant der open knowledge GmbH in der anschließenden Umsetzungsphase des Projektes in das Entwicklungsteam auf Kundenseite integriert.

Dabei fungierte unser Mitarbeiter als Sparringspartner für die verantwortliche Entwicklungsleitung, um die angestrebte Gesamtarchitektur und den geplanten fachlichen Schnitt während der Umsetzung strategisch im Überblick zu halten. Gegenüber dem Entwicklungsteam fungierte der Senior Consultant als Ansprechpartner zum neu definierten Entwicklungsvorgehen. Darüber hinaus gab er bedarfsorientierte Schulungen zum entsprechenden Aufgabenspektrum.

Projektdauer?

Nach dem Projekt-Kickoff im September 2019 wurde das Team unseres Kunden knapp zehn Monate bis zum Juni 2020 begleitet. Nach einer Projektlaufzeit von drei Monaten wurde im Dezember 2019 das erste Minimum Viable Product (MVP) erreicht. Das Ergebnis war eine größtenteils funktionsfähige Loyalty Plattform, die mit wenig Aufwand aufgesetzt werden konnte. Zum Funktionsumfang gehörten u.a. die Endkundenregistrierung, die Demonstration von Einkäufen, mit denen unter Berücksichtigung von Bonusregeln Punkte gesammelt werden konnten. Mit der Bereitstellung dieses MVP konnte eine Demoumgebung des Produkts ersten Kunden der Ingenico Marketing Solutions GmbH im Zuge der Projektakquise vorgestellt werden. Sechs Monate später wurde im Juni 2020 der zweite Meilenstein erreicht. Alle für einen minimalen Produktstart spezifiziert Anforderungen wurden umgesetzt. Erste erfolgreiche Projektakquisen hätten auf diesem Wege bereits bedient werden können. Seitdem werden kontinuierlich weitere Features entwickelt und integriert.

Was beinhaltete das Projektbriefing (Ausgangslage, Kernanforderungen)?

Die Ingenico Marketing Solution GmbH wünschte sich eine moderne, einfach erweiterbare und wartbare B2B-Onlineplattform für den Bereich Kundenbindungen. Die Plattform soll den Händlern und Dienstleistern – Kunden der Ingenico Marketing Solutions GmbH – über verschiedene Verkaufskanäle (z.B. Onlineshop oder Kassensystem des stationären Handels) die Möglichkeit bieten, die eigenen Endkunden besser kennenzulernen. Mit diesen gesammelten und optimierten Erkenntnissen kann die Kundschaft im Nachgang über personalisierte Vorteilsaktionen oder Bonuspunkten besser an den Händler oder die Marke gebunden werden.

Ingenico Marketing Solutions - Bonusprämie

Ingenico Marketing Solutions – Erfassung Bonusprämien

Gut strukturierte und dokumentierte Schnittstellen der Plattform sollen den Händlern und Dienstleistern einfache und klar definierte Integrationsmöglichkeiten bieten, um die Plattform zu mit wenig Aufwand in die eigene Systemlandschaft (z.B. Webshop, Warenwirtschafts- oder Kassensystem) anbinden zu können.

Mitarbeiter im Handelsunternehmen soll dabei das Kundenbindungsprogramm durch eine einfach zu bedienende administrative Oberfläche steuern und verwalten können.

Ingenico Marketing Solutions - Mitgliederdaten

Ingenico Marketing Solutions – Erfassung Mitgliederdaten

Zusätzlich sollte die Plattform auch über Schnittstellen verfügen, über die ein Customer-Self-Service im Webauftritt des Händlers integriert werden kann, so dass Endkunden jederzeit dem Programm beitreten, die eigenen auf der Plattform gesammelten Daten ansehen und verwalten können.

Eine weitere Anforderung war die flexible Weiterentwicklung und leichte Individualisierung der Plattform, um auf Kundenanpassungen schnell und unabhängig reagieren zu können. Durch die kontinuierliche Lieferung von Softwarekomponenten sollte diese schnelle Reaktion erreicht und einfache Wartungsarbeiten erleichtert werden.

Die bisher eingesetzten Systeme umfassten entweder nicht den gewünschten Funktionsumfang oder ließen sich nur noch schwer oder langsam individualisieren, bzw. erweitern.

Wie wurden diese Anforderungen im konkreten Konzept aufgegriffen?

Die genannten Anforderungen an das Produkt wurden als Neuentwicklung einer cloudbasierten Onlineplattform umgesetzt. Das Projekt dient als Vorlage für eine neue Art der Entwicklung bei der Ingenico Marketing Solutions GmbH.

Nach Beratung der open knowledge GmbH wurde vom Kunden entschieden, für die Umsetzung der Kernanforderungen an das neu zu entwickelnde System, eine Microservice-Architektur nach den Domain-Driven-Design (DDD) Konzepten einzusetzen. Darüber sollten die Plattform-Komponenten kontinuierlich geliefert werden, um neue Anforderungen, Erweiterungen bestehender Funktionalitäten und individuelle Kundenanpassungen schneller bereitzustellt. Langfristige Wartung und ein Betrieb der Plattform, auch mit vielen Kundeninstanzen, ist mit diesen Konzepten sichergestellt.

Um diese neuen Konzepte (z.B. Microservices, DDD, Continous Delivery) zu Testen wurde auf unser Anraten entschieden, erste MVP für die Kernfunktionen zu entwickeln. In den ersten Iterationen wurde dabei der Fokus auf eine Servicevorlage gelegt, die um entsprechende Dokumentation der getroffenen Entscheidungen und Techniken ergänzt wurde. Die Aufteilung in kleinere, in sich geschlossene Funktionen brachten Flexibilität für Anforderer und Entwickler. Darüber hinaus wurde dadurch der Wissenstransfer erleichtert. Durch die höhere Transparenz konnten Entscheidungen einfacher und schneller getroffen werden.

Dieses Vorgehen verkürzte die Umsetzungszeit der ersten Anforderungen, so dass der erhöhte Aufwand für die neuen Konzepte und den damit verbundenen Wissenstransfer sehr gut ausgeglichen werden konnte.

Welche (Web-)Technologien kamen bei dem Projekt zum Einsatz und warum?

Die Plattform besteht aus einer administrativen Single-Page-Application (SPA) basierend auf React, die via HTTP (RESTful) über ein API-Gateway mit einzelnen Microservices (MicroProfile 3 und Java EE 8) kommuniziert. Zusätzlich wurde für zur Demonstration eine weitere SPA (ebenfalls React) eingesetzt, die eine Händler Customer-Self-Service-Integration simuliert. Sie kommuniziert mit den Microservices über ein separates API-Gateway, um die Veröffentlichung der nötigen Schnittstellen besser zu steuern.

Die gewählte Architektur für das Backend (Microservices) wurde nicht auf das Frontend übertragen, da der Funktionsumfang der Anwendung ebenfalls sehr gut durch einen monolithischen Ansatz erreicht werden konnte. Ein verteilter Ansatz hätte sich eher kontraproduktiv verhalten, da die Mehrwerte nicht im Verhältnis zum nötigen Kostenaufwand für erarbeiten oder einkaufen des Expertenwissens stand.

Da das Team bereits vertraut mit Applicationservern war, wurden die ersten Services in Container mit Payara-Micro-Servern bereitgestellt. So wurden die neuen Technologien begrenzt, um mehr Geschwindigkeit bei der Entwicklung zu gewinnen. Im Verlauf des Projektes wurde auf Quarkus mit GraalVM migriert, durch die MicroProfile Konformität gelang dieses sehr einfach. Dadurch wurden die langfristigen Betriebskosten der AWS-Umgebung reduziert.

Die Anwendung wurde nach DDD entwickelt, um technologieunabhängig eine nachhaltige Anwendung bereitzustellen. Das hilft auch bei der evt. Integrationen von Bestandssystemen z.B. (Payment) in die neue Plattform.

Durch den Einsatz diverser Tools konnte die Entwicklung modern und nachhaltig aufgesetzt werden. Mit „Dependerbot“ in Verbindung mit der CI/CD Pipeline werden alle Abhängigkeiten der Anwendung aktuell gehalten. Dies ist aus zwei Gründen besonders wichtig: erstens werden Fehlerkorrekturen (z.B. sicherheitsrelevant) berücksichtigt und zweitens evolutionäre Entwicklungen kontinuierlich in die Plattform integriert, wodurch ein durchaltern vermieden wird.

Um die Konsistenz der diversen Schnittstellen auch über mehrere Teams hinweg sicherzustellen wurde Consumer-Driven-Contract (CDC) angewandt. Neben Tests der Schnittstellen wird dank CI/CD Pipeline auch die Kompatibilität zu veröffentlichten Schnittstellen geprüft und eine Inkompatibilität der Plattform vermieden. Ein weiterer Nebeneffekt ist die Vermeidung von unnötigen Schnittstellen, getreu dem Motto: „Wo kein Konsument, da keine Schnittstelle“.

Welche Projektmanagement-Tools kamen zum Einsatz?

User-Storys, Epics und Bugs wurden in der Jira-Cloud festgehalten, in Sprints geplant und im Team als Aufgaben verteilt. Generelle Informationen, technische Entscheidungsfindungen, sowie fachliche Konzepte und gemeinsame Dokumentationen der Arbeit wurden in der Confluence-Cloud abgelegt. Auf Kundenseite wurde durch den Einsatz der Atlassian-Cloud-Suite die nachhaltige Dokumentation des Produktes sichergestellt. Neue Team-Mitglieder wurde so in die Lage versetzt sich deutlich schneller einarbeiten und getroffene Entscheidungen besser nachvollziehen. Zusätzlich wurden die Parameter zum Entwicklungsvorgehen dokumentiert, Teams können sich so über ihren Entscheidungsspielraum auf die Gesamtplattform, eingesetzte Tools oder Technologien übersichtlich informieren.

Der tägliche Austausch zwischen einzelnen Teambereiche oder dem gesamten Team wurde durch Slack unterstützt, so konnte die Remote-Verfügbarkeit und Sichtbarkeit einzelner Teammitglieder deutlich erhöht werden.

Was waren eure größten Herausforderungen?

Zu den großen Herausforderungen gehörte der fachliche Schnitt der Services, die Konzepte der Microservice-Architektur (z.B. asynchrone Kommunikation oder redundante Datenhalten) und die Einführung der DDD-Konzepte. Diese Themen waren für das Entwicklungsteam teils völlig neu und wurden durch das eingesetzte Team der open knowledge GmbH im laufenden Projekt zielgerichtet geschult. Das zusätzliche Mitwirken im Projektteam konnte den Wissensaufbau gut begleiten, so dass schon nach kurzer Zeit erste Erfolge im Entwicklungsteam gefeiert wurden.

Eine weitere Herausforderung waren die vielen modernen Technologien und Tools, die zum Einsatz kamen. Durch eine schrittweise Einführung neuer Tools und Technologien und die in den Sprints eingeplanten Zeiten für Vorführungen und Erklärungen, insbesondere in der Startphase des Projektes, konnte das Wissen gut im Team verankert werden.

Auch die fassettenreiche Fachlichkeit war anspruchsvoll, doch durch die Fokussierung auf das sinnvolle Minimum einzelner Anwendungsfälle, die iterativ erweitert werden konnte, wurde erreicht, dass die Fachlichkeit handhabbar blieb.

Was sind die wichtigsten Erkenntnisse für den Kunden und für uns?

Produkte als MVP umzusetzen, um schneller am Markt agieren zu können, lohnt sich, insbesondere durch Fokussierung auf erste demonstrationsfähige Anforderungen.

Beim Einsatz neuer Technologien ist es uns wichtig, in kleinen Schritten vorzugehen, um das Team auf Kundenseite stets mitzunehmen. Bei unserer Zusammenarbeit mit Kunden hat die Wissensvermittlung immer eine hohe Priorität. Aus diesem Grund war in diesem Projekt die Startphase besonders wichtig für alle Beteiligten. Gemeinsam mit dem Kunden haben wir bewusst auf intensive Workshops und Schulungen gesetzt, um den Erfolg der gemeinsamen Entwicklungsarbeit im Anschluss sicherzustellen.


Keine Kommentare

Kontakt

OPEN KNOWLEDGE GmbH

Standort Oldenburg:
Poststraße 1, 26122 Oldenburg

Standort Essen:
II. Hagen 7, 45127 Essen