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

Kontext

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 Dutzende von Marken mit bewährten Vertriebsmodellen und betreut komplette Kampagnen, einschließlich Leistungstests, Einführung und Support.

Der Kunde erkannte, dass die bestehenden Systeme sein Wachstumspotenzial einschränkten, und suchte einen Beratungspartner, 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, geografisch 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 Empfehlungen für die notwendigen architektonischen Verbesserungen zu geben.

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 und gleichzeitig die Systemerweiterung zu unterstützen, um den Geschäftszielen jeder einzelnen Marke gerecht zu werden.

Itransition schlug vor, ein modulares Design zu implementieren, um das System in einzelne Module oder Schichten zu unterteilen. Wir empfahlen, den Systemkern in Angular für gemeinsame Funktionen und Themen zu halten, Microservice-Module zu verwenden und separate NPM-Pakete einzuführen, 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, Skalierbarkeit, eine schnelle Anpassung an sich verändernde Märkte, eine verbesserte Wartung und Upgrade-Fähigkeit für die Endkunden des Kunden gewährleisten. Im Gegenzug würde der Kunde mehr Kunden 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 eine Architektur aufzubauen, die auf die Bedürfnisse, Ziele und die Art der Geschäftstätigkeit des Kunden abgestimmt ist:

  1. Definieren Sie klare Projektziele, Anforderungen und den Umfang und behalten Sie nur die notwendigen Architekturkomponenten und -module bei.
  2. Verwenden Sie Entwurfsmuster und bewährte Verfahren der Softwareentwicklung, um eine gut strukturierte Architektur zu gewährleisten, die den Branchenstandards entspricht.
  3. Schaffen Sie eine zentrale Anlaufstelle für Architekturdokumente, Style Guides, Schritt-für-Schritt-Anleitungen zur Fehlerbehebung usw. Halten Sie das Architekturdesign, die Komponenten und die Schnittstellendokumentation auf dem neuesten Stand.
  4. Durchführen von Code-Reviews und Refactoring des neuen Systems zur Identifizierung und Vereinfachung überkomplizierter Architekturabschnitte und zur Verbesserung der Codequalität.
  5. Implementieren Sie automatisierte Tests und kontinuierliche Integration, um die Qualität und Zuverlässigkeit der Architektur zu gewährleisten, und identifizieren und beheben Sie alle Probleme frühzeitig in der Entwicklung.

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.

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, um das Problem von Tausenden von Codezeilen für jede Ladekonfiguration zu lösen. Itransition fügte einen Server hinzu, der Daten nur für eine bestimmte 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 Transition stellte fest, dass sich der veraltete Code negativ auf das Unternehmen auswirkte, indem 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 berieten, welche Teile refaktorisiert werden konnten und welche Module von Grund auf neu geschrieben werden sollten, 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 und empfahlen die folgenden Best Practices:

  • Schrittweise Entwicklung von neuem Code für jede Systemkomponente
  • Refaktorieren Sie den Code, um seine Lesbarkeit, Wartbarkeit und Leistung zu verbessern
  • Entfernen von doppeltem Code und Befolgen von Stilrichtlinien
  • Schreiben von Unit-Tests für kritische Funktionen, um sicherzustellen, dass die Änderungen keine neuen Fehler oder Regressionen einführen, der Code sich wie erwartet verhält und belastbar ist
  • Inkrementelle Änderungen vornehmen, anstatt die gesamte Codebasis auf einmal zu überarbeiten, um die Risiken zu minimieren und den Prozess überschaubarer zu machen
  • Dokumentieren Sie alle Ä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:

  • Hinzufügen von Code NodeJS-Frameworks zur Systematisierung des Backends
  • Optimieren der Einstellungen für den Verkaufstrichter des Kunden, Anpassen der Pakete durch Hinzufügen von APIs und Optimieren des Salesforce TouchCR-Plugins
  • Hinzufügen neuer Angular-Bibliotheken und Aktualisieren des gesamten Tech-Stacks
  • Neuschreiben von Systemteilen mit Ionic und Ersetzen von Ionic durch andere Bibliotheken

QA

Das Team von Transition 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 Transition schlugen vor, 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 usw. Um Konsistenz 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 berieten den Kunden zu einem effizienteren Ansatz für die Entwicklung neuer Funktionen, 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.

Die Transition 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, effizienten Code, regelmäßige Wartung 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 der Endkunden
  • 97% Zufriedenheit der Endkunden, was zu einer erhöhten Loyalität und höheren Empfehlungsraten führt