Java aktuell 02/15

Microservices und die Jagd nach mehr Konversion

Autor:

Die Software-Entwicklung begibt sich derzeit auf eine neue Evolutionsstufe: Fachabteilungen haben gelernt, mithilfe agiler Methoden Änderungen in kurzen Zyklen produktiv umzusetzen. Damit haben sie die Möglichkeit, Änderungen an einem Produkt mit echtem Benutzer-Feedback vermessen zu können und durch empirische Untersuchungen des Benutzerverhaltens fundierte Entscheidungen über neue Software-Funktionalitäten zu treffen. Dazu müssen aber die meisten IT-Architekturen erst einmal so auf Vordermann gebracht werden, dass einzelne Teile einer Software flexibel ausgetauscht und unabhängig voneinander ausgeliefert werden können.

Im Marketing beschreibt die Konversionsrate eine Kennzahl, die den prozentualen Anteil zwischen den Besuchen einer Webseite und dem Erreichen eines bestimmten Ziels darstellt. Abbildung 1 zeigt die Formel zur Berechnung der Konversionsrate. In einem Online-Shop kann das beispielsweise das Absenden einer Bestellung oder der Klick auf einen bestimmten Button sein. Mit dem Ziel, dass ein Benutzer eine Bestellung ab- schließt, beschreibt die Konversionsrate den prozentualen Anteil der Personen, die von einem Kauf-Interessenten zu einem zahlen- den Kunden umgewandelt werden.

Die Konversionsrate stellt eine sehr gute Kennzahl zum Bewerten von neuen Soft- ware-Funktionalitäten dar, denn mit ihrer Hilfe kann man die potenzielle Umsatzstei- gerung hochrechnen, die durch eine Ände- rung zu erwarten ist. Die Konversionsrate sollte man unter anderem heranziehen, wenn Software-Funktionalität „A“ von Software- Funktionalität „B“ abgelöst werden soll.

Nach der Entwicklung von Software-Funk- tionalität „B“ werden die Funktionalitäten „A“ und „B“ an zwei unterschiedliche Gruppen ausgespielt und das Verhalten der Benutzer in diesen Gruppen gemessen. Durch dieses Vor- gehen hat man die Möglichkeit, frühzeitig zu reagieren, wenn die Benutzer Software-Funk- tionalität „B“ nicht annehmen und die Konver- sionsrate durch Software-Funktionalität „B“ sinkt. In diesem Fall kann man immer noch bei Software-Funktionalität „A“ bleiben.

Dieses Verfahren wird „A/B-Testing“ genannt. Ein einfaches Beispiel dafür ist das Austauschen der Farbe eines „Call to action“- Buttons in einem Bestellprozess (etwa der „Jetzt kostenpflichtig kaufen“-Button zum Abschließen eines Bestellvorgangs).

Feature Toogle

Für einfache A/B-Tests, wie für die Farbänderung eines „Call to action“-Buttons, kann mit dem sogenannten „Feature Toggle Pat- tern“ [1, 2] gearbeitet werden. Dies ist ein recht einfaches „if then else“-Statement (siehe Listing 1).

Mit einem Feature Toggle lassen sich un- ter anderem Bedien- oder Darstellungsele- mente ein- beziehungsweise ausblenden, Styles ändern oder sogar Backend-Systeme zur Laufzeit umschalten. An seine Grenzen stößt dieses Verfahren allerdings, wenn man in einem Online-Shop beispielsweise einen kompletten Bestellvorgang für einen A/B Test austauschen möchte. Dies liegt sehr häufig daran, dass die Software-Archi- tekturen nicht dafür ausgelegt sind, konse- quent A/B-Tests zu unterstützen, da in einer monolithischen Software-Architektur funk- tionale Kontexte häufig nicht ausreichend voneinander abgegrenzt sind.

Listing 1

Monolithische Software- Architektur
Ein Ansatz, den man sehr häufig in der Praxis findet, ist die sogenannte „monolithische Software-Architektur“. In einer monolithischen Software sind die Benutzer-Schnittstelle sowie die Datenzugriffs- und Logik- Schicht in einem einzelnen Artefakt vereint. Die monolithische Software-Architektur bringt allerdings eine Reihe von Nachteilen mit sich:

• Die Anwendung ist häufig nicht beson- ders gut wart- und erweiterbar

• Bei Modifikationen können nicht vorher- sehbare Neben-Effekte auftreten

• Änderungen müssen meistens mehreren Teams bekanntgegeben werden, da es häufig Modul-Verantwortlichkeiten gibt und bei größeren Änderungen mehrere Module und damit Teams betroffen sind

  • Teile des Software-Systems sind nur schlecht wiederverwendbar
  • Eine Lastenverteilung von Teil-Komponenten ist nur schwer möglich
  • Die Build-Laufzeiten können mehrere Stunden betragen

Konversionsrate

(…)

Vollständiger Artikel