90% weniger Bugs auf einer globalen Autoverkaufsplattform

Mercedes-Benz (via T7Lab) · Global Sales Platform · 2015 – 2021

Die Situation

Mercedes-Benz baute eine globale Autoverkaufsplattform, die China, DACH und Südafrika umspannte. Die Plattform musste auf iOS, Android und Web funktionieren, jede mit einem eigenen Entwicklungsteam. Plattformübergreifende Bugs waren konstant, die Lokalisierung war aufwendig, und jeder Markt hatte unterschiedliche regulatorische und geschäftliche Anforderungen, die eine kombinatorische Explosion von Sonderfällen erzeugten.

Das eigentliche Problem

Drei Plattformen, drei Codebasen, drei Teams, die dieselbe Geschäftslogik unabhängig voneinander implementierten. Wenn sich eine Regel änderte (Preisgestaltung, Finanzierungsoptionen, regulatorische Compliance) musste sie an drei Stellen aktualisiert werden. Bugs waren unvermeidlich, und sie traten auf. Das eigentliche Problem lagen nicht bei den Entwicklern. Es lag an der Architektur. Geschäftslogik war in UI-Code auf jeder Plattform eingebettet, was es unmöglich machte, Konsistenz im grossen Massstab zu wahren.

Zentrale Entscheidungen

  • Ein JSON-basiertes Konfigurationssystem eingeführt, das Geschäftslogik von plattformspezifischem Rendering trennte. Der Verkaufsfluss (welche Felder angezeigt, welche Validierungsregeln angewendet, welche Finanzierungsoptionen verfügbar waren) wurde einmal in einem gemeinsamen Datenmodell definiert. Jede Plattform renderte dieselbe Konfiguration, was das "dreimal implementieren"-Problem beseitigte.
  • Eine datenmodellgesteuerte Rendering-Architektur aufgebaut. Anstatt dass jedes Plattform-Team benutzerdefinierte UI-Logik schrieb, wurden die Frontends zu Interpreten eines gemeinsamen Schemas. Das bedeutete, dass ein neuer Markt durch Konfiguration des Datenmodells eingeführt werden konnte, anstatt neuen Plattformcode zu schreiben. Die Anforderungen Chinas unterschieden sich grundlegend von denen Deutschlands, aber die Architektur bewältigte beides.
  • Die Lokalisierungsschicht in das Datenmodell integriert. Anstatt Übersetzungen nachträglich an fertige UIs anzufügen, trug jedes konfigurierbare Element seinen Lokalisierungskontext. Das beseitigte eine ganze Kategorie von Bugs, bei denen UI-Elemente die falsche Sprache oder Formatierung für einen bestimmten Markt anzeigten.
Weniger Bugs 90 Prozent Reduktion plattformübergreifender Bugs
Globale Regionen 3 globale Regionen: China, DACH, Südafrika
Plattformen iOS, Android und Web

Plattformübergreifende Bugs sanken um 90%. Neue Märkte konnten durch Konfiguration statt durch Entwicklung eingebunden werden. Die Plattform bediente erfolgreich China, DACH und Südafrika mit lokalisierten Erfahrungen, die aus einer einzigen Quelle der Wahrheit aufgebaut wurden. Jede Region konnte ihren Verkaufsfluss anpassen, ohne die Codebasis zu forken.

Die Übergabe

Sechs Jahre Zusammenarbeit über T7Lab, von 2015 bis 2021. Die konfigurationsgesteuerte Architektur und das Datenmodell wurden vollständig dokumentiert und an die internen Plattform-Teams von Mercedes-Benz übergeben. Die hier etablierten Patterns ermöglichten die weitere Expansion in zusätzliche Märkte.

Stehen Sie vor einer ähnlichen Herausforderung?

Jede Situation ist anders, aber die Muster wiederholen sich. Wenn Ihr Team nicht weiterkommt, Ihre Architektur unklar ist oder Sie kurz vor einer wichtigen technischen Entscheidung stehen, schildern Sie mir Ihre Situation.