Suche
Suche Menü

Unsere Webshops sind unter den schnellsten Deutschlands

Letzte Woche ereilte uns die Nachricht, dass wir mit unserem Projekt “Next Level Commerce” (NLC) bei den schnellsten Ladezeiten der 50 umsatzstärksten Online-Mode-Shops Deutschlands auf vier Plätzen in der Top 5 vertreten sind. Auch sehr bekannte Branchengrößen wie Zalando, Adidas oder About You lassen wir dabei hinter uns. Ich möchte hier ein paar der Aspekte beleuchten, die zu diesem großen Erfolg beigetragen haben.

Auszug der Ergebnisse von https://datawrapper.dwcdn.net/l5h0U/1/

Das Ranking

Die Reihenfolge wurde folgendermaßen ermittelt: Das Nachrichtenportal TextilWirtschaft beauftragte den E-Commerce-Dienstleister Baqend damit, die 50 umsatzstärksten Online-Mode-Shops Deutschlands anhand ihrer Ladezeiten zu vergleichen. Dazu wurde über einen Zeitraum von vier Wochen anhand des Google-Analyse-Tools “Page Speed Insights” das sogenannte “Largest Contentful Paint” (LCP) betrachtet. Diese Metrik misst, wie viele Millisekunden vergehen, bis das größte, inhaltlich relevante Element der Webseite sichtbar ist. Wie wichtig dieser Wert für das Benutzungserlebnis ist, unterstreicht Google damit, dass er als eine der drei wichtigsten Metriken (“Core Web Vitals”) in die neue Version ihres Bewertungsalgorithmus für ihr Suchergebnis einzahlen wird. Im Mai soll diese neue Version der Suchreihenfolge ausgerollt werden und könnte damit einige Dynamik in die Ergebnisreihenfolgen bringen.

Organisation & Architektur

Das Thema Performance einer Webanwendung ist definitiv kein einfaches und erfordert Maßnahmen auf vielen unterschiedlichen Organisationsebenen. Um zu erläutern, welche dabei in unserem Projektsetting ergriffen wurden, möchte ich kurz auf die Organisation und die daraus folgende Architektur eingehen.

Bei NLC arbeiten derzeit 7 Entwicklungsteams gemeinsam mit zahlreichen Fachexpert:innen an den über 50 Webshops der derzeit 12 verschiedenen Marken der Klingel-Gruppe. Die im Ranking auftauchenden Shops von Wenz, Happy Size, Alba Moda und Mona gehören dazu, viele Marken sind auch in mehreren Ländern Europas vertreten. Der technische Unterbau ist dabei immer derselbe, die Unterschiede der Marken beziehen sich hier vor allem auf Design, Ansprache und Marketingaktionen.

Organisatorisch sind die Entwicklungsteams entlang der Customer Journey aufgeteilt und entsprechend benannt. So gibt es die Domänen Entdecken, Suchen, Auswählen, Kaufen und Begleiten, die aus jeweils einem oder mehreren Vertikalen-Teams bestehen. Jedes davon hat einen klaren Auftrag und kann sich so auf genau diesen fokussieren, spezialisieren und ihn verantworten. Die Makroarchitektur entspricht diesem Ansatz. Jedes Team arbeitet so autonom, gekapselt und mit so wenigen Abhängigkeiten zu anderen Teams wie nur möglich. Datenaustausch erfolgt asynchron und per Pull-Prinzip, Code wird nicht geteilt, stattdessen gibt es Self Contained Systems. Um dennoch übergreifende Themen adressieren zu können, gibt es verschiedene Strukturen wie das Makroarchitekturboard oder diverse Gilden, zum Beispiel für Frontend oder die geteilte Infrastruktur, in denen die jeweiligen Spezialist:innen aller Teams vertreten sind.

Verteilte Systeme, gemeinsame Zielsetzung

Wie also kann man es schaffen, bei so vielen Beteiligten und verschiedenartigen Systemen eine ausgezeichnete Performance über den gesamten Webshop hinweg zu garantieren? Vermeintlich erschwerend kommt noch hinzu, dass diese in verschiedenen Firmen (u.a. neuland, innoio, TFN, dataqube und Qudosoft) und in ganz Deutschland in verteilten Teams arbeiten. Die Grundvoraussetzung ist sicherlich, dass allen Beteiligten die enorme Wichtigkeit dieses Aspekts klar ist. Schnell kann man der Versuchung erliegen, immer neue Features zu produzieren, da diese sehr konkret und belegbar einen Projektfortschritt aufzeigen. Wer sich bereits mit Performance und Ladezeiten auseinandergesetzt hat, weiß, wie schwierig die Analyse und das Finden und Umsetzen der richtigen Maßnahmen ist. Im NLC-Projekt wurde das Thema von Anfang an sehr ernst genommen und als Google die Umstellung ihres Algorithmus verkündete, dies sofort aufgegriffen:

  • Im regelmäßig stattfindenden Scrum of Scrums der POs wurde das Thema diskutiert und die hohe Priorität bestätigt, sodass allen Entwicklungsteams Zeit und Raum dafür gegeben werden konnte.
  • Jedes Entwicklungsteam analysierte selbständig die Performance der von ihm verantworteten Seiten und Elemente im Webshop. Da die Aufgaben, Architekturen, Frameworks und eingesetzten Programmiersprachen sich von Team zu Team unterscheiden, können sie auch selbst am besten erkennen, wo das Verbesserungspotenzial liegt und was dafür getan werden muss.
  • In der Frontend-Gilde wurde in mehreren Workshops detailliert analysiert, wo Potenziale liegen und ob es gemeinsamer oder individueller Änderungen eines Teams bedarf.
  • Tools wie Google Page Speed Insights, Google Lighthouse, Speedcurve oder Datadog unterstützen bei der kontinuierlichen Messung und Analyse.
  • Die ergriffenen Maßnahmen der Teams werden zentral gesammelt und verkündet, damit transparent und nachvollziehbar ist, welche Änderung welchen Einfluss auf die Performance hat.

Besonders freut es mich, dass mit dem tollen Ergebnis ganz klar gesagt werden kann, dass weder eine verteilte, vertikalisierte SCS-Architektur gute Performance verhindert, noch eine in Micro Frontends aufgeteilte, zusammengesetzte Oberfläche. Im Gegenteil, ich denke sogar, dass das gerade durch den Fokus auf einen klar abgegrenzten Aufgabenbereich und den Aufbau von Expertise in diesem erst möglich wurde. Oder wie der neuland-Projektkollege und Frontend-Guru Michael Geers es treffend formulierte:

Betonen möchte ich noch, dass die Performance-Verbesserung jederzeit ein gemeinsames Ziel ist, bei dem sich gegenseitig unterstützt wird und kein Wettbewerb, in dem es sich zu profilieren gilt. Bleibt also nur noch zu schauen, wie wir in Zukunft auch noch Platz eins belegen können.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Agile Softwareentwicklung

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen