Technologie- und Prozessberatung für eine E-Commerce-Agentur

Technologie- und Prozessberatung für eine E-Commerce-Agentur

Itransition führte eine umfassende Prüfung der Technologielandschaft und der Geschäftsprozesse des Kunden durch und schlug einen Aktionsplan vor, um die Betriebskosten zu senken, neue Kunden zu gewinnen und den Umsatz zu maximieren.

Inhaltsverzeichnis

Hintergrund

Der Kunde ist eine Full-Cycle-Agentur für digitales Marketing und E-Commerce mit fast 2.000 Mitarbeitern und einem Jahresumsatz von über 1 Mrd. US-Dollar, die Marketingdienstleistungen für Gesundheits- und Wellnessmarken anbietet. Das Team entwickelt Lösungen für E-Commerce, digitales Marketing und Vertriebstechnik, vermarktet unzählige Marken mit bewährten Vertriebsmodellen und betreut komplette Kampagnen, einschließlich der Leistungstests, der Einführung und des Supports.

Der Kunde erkannte, dass die bestehenden Systeme sein Wachstumspotenzial nicht vollumfänglich ausschöpfte und suchte einen Berater, der ihm einen schrittweisen Fahrplan für die Technologie- und Prozessoptimierung geben konnte. Aufgrund der soliden Fachkenntnisse von Itransition im Bereich Ecommerce Entwicklung und der Organisation von Prozessen in komplexen, weit verteilten Teams, wählte er uns als Beratungs- und Technologiepartner für die Zusammenarbeit.

Lösung

Itransition führte eine umfassende Analyse des Kundensystems durch und schlug einen Aktionsplan vor, der Aspekte wie Systemarchitektur, Code, Technologie-Stack, Funktionsentwicklung, Qualitätssicherung und Prozessoptimierung umfasste. Diese Erkenntnisse ermöglichen es dem Kunden, eine Geschäftsvision für die wachsende Lösung zu entwickeln und umzusetzen, die durch die neuesten technischen Fortschritte unterstützt wird.

Architektur

Wir analysierten die Architektur des Systems und befragten das Team des Kunden, um Informationen über das Architekturdesign zu sammeln und so Empfehlungen für die notwendigen architektonischen Verbesserungen geben zu können.

Die größte Herausforderung war die Beibehaltung eines einheitlichen Kerns für das System, um die allgemeine Funktionalität über alle Marken hinweg zu verwalten. Gleichzeitig musste die Systemerweiterung unterstützt werden, um den Geschäftszielen jeder einzelnen Marke gerecht werden zu können.

Itransition schlug vor, ein modulares Design zu implementieren, um das System in einzelne Module oder Schichten zu unterteilen. Dabei sollte der Systemkern in Angular für gemeinsame Funktionen und Themen gehalten, Microservice-Module verwendet und separate NPM-Pakete eingeführt werden, um die einzigartigen Funktionen der einzelnen Marken zu erweitern. Dies würde eine flexible Produktentwicklung, eine kürzere Markteinführungszeit für neue Produkte oder Dienstleistungen, höhere Skalierbarkeit, eine schnelle Anpassung an sich verändernde Märkte, eine verbesserte Wartung und eine Upgrade-Fähigkeit für die Endkunden gewährleisten. Im Gegenzug würde der Kunde mehr neue Nutzer anziehen und die Loyalität der bestehenden Kunden erhöhen.

Um dem Kunden zu helfen, sich auf Marketingaktivitäten zu konzentrieren, erstellte Itransition einfach zu befolgende Entwicklungsempfehlungen. Unser Team erstellte und dokumentierte eine Liste von Best Practices, um einen Aufbau zu erschaffen, der auf die Bedürfnisse und Ziele sowie die Art der Geschäftstätigkeit des Kunden abgestimmt ist:

  1. Definition klarer Projektziele, Anforderungen und Umfänge – Beibehaltung von lediglich notwendigen Architekturkomponenten und -modulen.
  2. Verwendung von Entwurfsmustern und bewährten Verfahren der Softwareentwicklung, um eine gut strukturierte Architektur zu gewährleisten, die den Branchenstandards entspricht.
  3. Aufbau einer zentralen Anlaufstelle für Architekturdokumente, Style Guides, Schritt-für-Schritt-Anleitungen zur Fehlerbehebung, um das Architekturdesign, die Komponenten und die Schnittstellendokumentation auf dem neuesten Stand zu halten.
  4. Durchführung von Code-Reviews und Refactoring des neuen Systems zur Identifizierung und Vereinfachung überkomplizierter Architekturabschnitte und zur Verbesserung der Codequalität.
  5. Implementierung automatisierter Tests sowie einer kontinuierlichen Integration, um die Qualität und Zuverlässigkeit der Architektur zu gewährleisten und alle Probleme frühzeitig in der Entwicklung zu identifizieren und zu beheben.

Als Teil des Beratungsprozesses führte Itransition einige Entwicklungsaktivitäten durch, um die praktische Anwendung unserer Empfehlungen zu demonstrieren. Wir implementierten NPM-Pakete mit wiederverwendbaren Modulen, die von Grund auf neu entwickelt wurden, um die Funktionalität der einzelnen Marken zu erweitern. Außerdem führten wir neue Verfahren ein, darunter CI/CD-Verfahren mit GitHub Actions, um den Entwicklungsprozess zu optimieren. Wir implementierten auch Integrationen mit verschiedenen Zahlungssystemen, um den Verkauf an Endkunden zu beschleunigen, und strukturierten das Frontend des Kunden durch die Implementierung eines wiederverwendbaren FE-Anwendungs-Frameworks um.

Unsere Entwickler schufen einen neuen Ansatz für das Laden von Parametern für Verkaufstrichter in Endkunden-Apps, um Prozesse zu beschleunigen, Fehler zu reduzieren und die Reaktionszeit der App zu verbessern. So konnte das Problem von Tausenden von Codezeilen für jede Ladekonfiguration gelöst werden. Itransition fügte einen Server hinzu, der Daten nur für die jeweilige Marke lädt und zwischenspeichert, die gerade verwendet wird. Dadurch, dass nicht die gesamte Konfiguration für alle Marken und Verkaufstrichter zurückgegeben wurde, konnten wir diesen Engpass beheben und ein stabiles System mit verteilten Anfragen aufbauen.

Code

Das Team von Itransition stellte fest, dass sich der veraltete Code negativ auf das Unternehmen auswirkte, da er das Wachstum behinderte, die Wartungskosten in die Höhe trieb, das Fehlerrisiko erhöhte, die Flexibilität reduzierte, Innovationen hemmte und die Produktivität senkte. Wir zeigten auf, welche Teile refaktorisiert werden konnten und welche Module von Grund auf neu geschrieben werden mussten, um einen reibungslosen Systembetrieb, eine schrittweise Modernisierung und Zukunftssicherheit zu gewährleisten. Während der Analyse überprüften wir die Dokumentation, verfolgten den Code-Ausführungsfluss und identifizierten potenzielle Abhängigkeiten. Wir empfahlen die folgenden Best Practices:

  • Schrittweise Entwicklung von neuem Code für jede Systemkomponente
  • Refaktorierung des Code, um seine Lesbarkeit, Wartbarkeit und Leistung zu verbessern
  • Entfernen von doppelten Codes und Befolgen von Stilrichtlinien
  • Schreiben von Unit-Tests für kritische Funktionen, um sicherzustellen, dass die Änderungen keine neuen Fehler oder Regressionen einführen und der Code sich wie erwartet verhält und belastbar ist
  • Vornehmen von inkrementellen Änderungen, anstatt die gesamte Codebasis auf einmal zu überarbeiten, um die Risiken zu minimieren und den Prozess überschaubarer zu machen
  • Dokumentation aller Änderungen, um zukünftige Entwicklungsarbeiten zu rationalisieren und anderen Entwicklern das Verständnis der Codebasis zu erleichtern

Technischer Stapel

Die Berater von Transition analysierten den Technologie-Stack des Kunden und stellten folgende Ineffizienzen fest:

  • Das Backend mit Java und NodeJS litt unter einer unübersichtlichen, unlesbaren Struktur
  • Das Frontend wurde in einer veralteten Version von Angular geschrieben
  • Das Ionic UI-Toolkit wurde ineffizient eingesetzt

Das fragmentierte Frontend, das aus mehreren separaten Anwendungen und veralteten technischen Lösungen bestand, führte zu Einschränkungen bei der Verbesserung der Plattform, was das Erreichen des Hauptziels des Kunden, nämlich kontinuierliches Wachstum, behinderte.

Um dieses Problem zu lösen, schlugen wir vor:

  • Den Code NodeJS-Frameworks zur Systematisierung des Backends hinzuzufügen
  • Die Einstellungen für den Verkaufstrichter des Kunden zu optimieren, die Pakete durch Hinzufügen von APIs anzupassen und Salesforce TouchCR-Plugins zu optimieren
  • Neue Angular-Bibliotheken hinzuzufügen und den gesamten Tech-Stack aktualisieren
  • Die Systemteile mit Ionic neuschreiben und Ionic durch andere Bibliotheken ersetzen

QA

Das Team von Itransition schlug dem Kunden vor, den Split-Testing-Ansatz für Verkaufstrichter zu verwenden, die auf Apps mit unterschiedlichen Inhalten und mit verschiedenen Technologien wie Angular (SPA), WordPress und reinem HTML geschrieben wurden. Die Testergebnisse sollten zur Entwicklung von Marketingstrategien und zur Planung von Anwendungsverbesserungen verwendet werden.

Die QA-Spezialisten von Itransition rieten außerdem dazu, neue Funktionen zu testen, Leistungstests durchzuführen und den gesamten neuen Code mit Unit-Tests abzudecken. Das folgende Toolset wurde vorgeschlagen:

  • Jest für Unit-Tests, ausgewählt wegen seiner Einfachheit und Benutzerfreundlichkeit, schnellen Ausführung, eingebauten Mocking- und Test-Doubles und Snapshot-Testmöglichkeiten
  • BrowserStack für Cross-Browser-Tests, Tests auf verschiedenen Geräten und Betriebssystemversionen, ausgewählt aufgrund seiner umfangreichen Geräte- und Browser-Bibliothek, KI-gestützten Tests und einfachen Integrationen
  • Postman für REST-API-Tests, ausgewählt wegen seiner intuitiven API-Entwicklung, effizientem API-Debugging und -Testen, Teamzusammenarbeit und Sharing-Funktionalität

Prozessoptimierung

Itransition analysierte die Prozesse des Kunden und identifizierte Möglichkeiten zur Rationalisierung und Effizienzsteigerung. Um maximale Produktivität und Teamzufriedenheit zu erreichen, musste der Kunde die komplizierte Projektstruktur vereinfachen, die Rollen aller Teammitglieder klar definieren und ein effektives Teammanagement einrichten.

Wir schlugen Kanban vor, da sich die Prioritäten des Kunden häufig ändern und es fast keine festen Fristen für neue Aufgaben gibt. Die Produktvision wird von den Hauptakteuren auf Kundenseite, dem technischen Leiter des Marketings und den Geschäftsabteilungen geprägt. Sie bestimmen die Projekt-Roadmap, legen die grundlegenden High-Level-Anforderungen fest und erstellen und priorisieren die Tickets für die Entwicklung neuer Funktionen für interne und externe Entwickler. In diesem Rahmen erstellt das Entwicklerteam des Kunden einen Pool von Tickets, priorisiert die Aufgaben und setzt sie um. Die Entwickler werden ermutigt, gemeinsam mit dem Kunden Verfeinerungssitzungen abzuhalten, neue Funktionen nach ihrer Fertigstellung zu demonstrieren und vierteljährliche interne Retrospektiven abzuhalten. Außerdem sollten die PMs und die technischen Leiter laufend Health Checks des Projekts durchführen.

Um die Transparenz und die nahtlose Zusammenarbeit zu fördern, schlug Itransition die Einrichtung einer Wissensdatenbank vor und entwickelte einen Rahmen dafür, der eine Konzeptbibliothek und einen Kommunikationsfluss umfasst, um alle Beteiligten miteinander zu verbinden und Missverständnisse zu vermeiden. Die Wissensdatenbank enthielt Dokumente zur Standardisierung der Ticket-Erstellung und -Lösung, Schritt-für-Schritt-Anleitungen zu verschiedenen Aspekten des Projektmanagements, Teambeschreibungen, Rollen- und Verantwortungsdiagramme der Teammitglieder und vieles mehr. Um Einheitlichkeit zu gewährleisten, entwickelten unsere BAs eine gemeinsame Konzeptbibliothek, um neue Ideen zu beschreiben und die interne Kommunikation zu synchronisieren. Die Prozesslandkarte dient als zentraler Bezugspunkt und wird aktualisiert, um Änderungen bei Teams, Aufgaben und Abläufen zu berücksichtigen. Die Wissensdatenbank wird nun auch für die Einarbeitung neuer Teammitglieder genutzt.

Optimierung der Entwicklung neuer Funktionsideen

Itransition analysierte den Prozess zur Entwicklung neuer Ideen zur Verbesserung von Funktionen für das Backend und das Frontend und identifizierte zwei wesentliche Herausforderungen.

Die erste war eine ungleichmäßige Auslastung des Kundenentwicklungsteams, was die Planung erschwerte. Eine ungleichmäßige Verteilung der Arbeitslast führte zu vergeudeten Anstrengungen und einer Überlastung der Entwickler in Spitzenverkaufszeiten und an Feiertagen, während die Entwicklung in ruhigeren Zeiten pausierte.

Das zweite Problem waren unklare Funktionsspezifikationen, die zu undefinierten Projektzielen und problematischer Aufgabenzuweisung führten. Der Zustrom innovativer Ideen von verschiedenen Interessengruppen für die Entwicklung neuer Funktionen erforderte eine sorgfältige Priorisierung der genehmigten Funktionen.

 

Wir zeigten dem Kunden zu einem effizienteren Ansatz für die Entwicklung neuer Funktionen auf, der bewährte Verfahren wie die WSJF-Priorisierung, ein strenges Protokoll für die Erfassung und Definition von Projektanforderungen, die Verfeinerung und Iteration von Funktionen nach der Entwicklung sowie die laufende Überwachung, Wartung und Unterstützung umfasst.

Itransition schlug außerdem vor, leicht zu wartende Funktionen zu entwickeln, indem ein modulares Design, eine klare Dokumentation, standardisierte Kodierungsverfahren, automatisierte Tests, Versionskontrolle und Feedbackschleifen eingeführt werden.

Ergebnisse

Der Kunde setzte den von Itransition erstellten Optimierungsfahrplan um und erzielte folgende Ergebnisse:

  • 16 % jährliche Kosteneinsparungen durch modulare Architektur, effiziente Codes, regelmäßige Wartungen und einen modernen Tech-Stack
  • 20 % schnellere Markteinführung für neue Produkte und Dienstleistungen dank verbesserter Systemleistung, Skalierbarkeit und Effizienz
  • 25 %ige Steigerung der Anzahl an Endkunden
  • 97 % Zufriedenheit der Endkunden, was zu einer erhöhten Kundenbindung und höheren Empfehlungsraten führt