Progressive Delivery
Inhalt
Was ist Progressive Delivery?
Progressive Delivery ist ein Wandel in der Art und Weise, wie Unternehmen bei der Softwarebereitstellung vorgehen. Sie ermöglicht es ihnen, schnell zu arbeiten, indem sie den Code für kleine Teile ihres Datenverkehrs freigeben und das Vertrauen in Produktentscheidungen verbessern, indem sie ihre Hypothesen mit echten Kunden testen.
Bei früheren Praktiken wie Agile und Continuous Delivery wurden Änderungen gleichzeitig für die gesamte Benutzerbasis bereitgestellt. Progressive Delivery verfolgt mit seinen Cloud-nativen Funktionen einen anderen Ansatz. Sie validiert die Qualität und Leistung in der Produktion mit Feature Flags.
Anstatt neue Funktionen oder einen neuen Code für alle bereitzustellen, geben Unternehmen, die Progressive Delivery-Techniken verwenden, diese schrittweise für eine Teilmenge ihrer Benutzerbasis frei. Der Schwerpunkt liegt auf dem Feature Management und der Freigabe von Änderungen durch schrittweise Rollouts, gezielte Feature Flags und A/B-Tests, A/B/n-Testing usw., um den Freigabeprozess zu steuern und Erkenntnisse zu gewinnen.
Dieser Prozess hilft den Produkt- und Entwicklungsteams, Unsicherheiten zu verringern, datengestützte Entscheidungen zu treffen und den Endbenutzern schneller das richtige Erlebnis zu bieten. Sie gewinnen Vertrauen in ihre Produktentscheidungen, bevor sie erhebliche Investitionen tätigen, und vermeiden kostspielige Rollbacks oder Hotfixes. Schließlich führt die Bindung der Kunden an bestimmte Funktionen und Produkte zu mehr Kundenbindung und höheren Umsätzen für Unternehmen.
Das Herzstück dieser Praxis ist eine Plattform für das Experimentieren mit Produkten, die es den Teams ermöglicht, die Freigabe neuer Funktionen für die Produktion zu kontrollieren, die Bereitstellung von der Aktivierung von Funktionen zu entkoppeln und die Auswirkungen dieser Änderungen mit echten Benutzern in der Produktion zu messen. Mit Feature Experimentation und Feature Flags gewinnen Entwicklungsteams die Gewissheit, dass sie die wirkungsvollsten Produkte und Funktionen entwickeln, da sie Produktentscheidungen validieren können, lange bevor teure Investitionen in Pipelines verloren gehen.
Wie funktioniert Progressive Delivery?
Es reicht nicht mehr aus, mit kontinuierlichen Bereitstellungsstrategien nur kleine Änderungen schnell bereitzustellen. Wenn Sie von einem grundlegenden Verständnis ausgehen und lernen, wie Sie Fallstricke bei Prozessen, Technik und Strategie vermeiden, können Teams erfolgreich bessere Software, Produkte und schnelleres Wachstum liefern.
Ein Beispiel für eine Progressive Delivery könnte wie folgt aussehen:
Team → Beta → Stufenweiser Rollout → Alle
Es könnte auch Feature-Rollouts wie Canary-Releases, A/B-Testing und mehr beinhalten, so dass Teams effektiver arbeiten und gleichzeitig Risiken reduzieren können. Und so hilft es.
-
Feature Flags
Feature Flags ermöglichen granulare Feature-Rollouts. Das bedeutet, dass neue Funktionen für einen kleinen Prozentsatz der Benutzer freigegeben werden können, bevor sie für alle Benutzer eingeführt werden. Auf diese Weise lassen sich Probleme erkennen, bevor sie sich auf alle Benutzer auswirken. -
Canary-Tests
DieCanary-Bereitstellung ist ein weiterer wichtiger Aspekt von Progressive Delivery, denn sie ermöglicht Tests in der Produktion mit einem kleinen Prozentsatz von Benutzern. -
A/B-Testing
A/B-Testing ermöglicht das Experimentieren und die Iteration der Funktionalität und des Erlebnisses der Benutzer. Durch das Testen verschiedener Varianten einer Funktion mit unterschiedlichen Benutzergruppen können Teams feststellen, welche Version besser funktioniert, und datengestützte Entscheidungen treffen. -
Beobachtbarkeit
Observability hilft bei der Überwachung und Optimierung der Leistung. Das bedeutet, dass Teams auftretende Probleme schnell erkennen und beheben können, um sicherzustellen, dass die Benutzer ein reibungsloses und nahtloses Erlebnis haben.
Progressive Delivery ist ein leistungsfähiger Ansatz für Software- und Feature-Releases, der den Teams hilft, Risiken zu reduzieren und sicherzustellen, dass die Benutzer weiterhin das bestmögliche Erlebnis haben.
Warum jedes Team sowohl Progressive Delivery als auch Experimentieren braucht
Jedes Team braucht sowohl Progressive Delivery als auch Experimentieren, um Innovationen voranzutreiben, das Erlebnis für die Benutzer zu verbessern und der Konkurrenz in der Welt der Automatisierung und der modernen Softwareentwicklung einen Schritt voraus zu sein. Eine Kombination aus beidem kann Ihnen ein effizientes System zur Validierung der Qualität und des Customer Engagements über den gesamten Entwicklungszyklus hinweg bieten.
Bei diesem Ansatz müssen Sie nicht im Voraus entscheiden, ob Sie eine neue Version, ein Experiment, eine schrittweise Einführung oder einfach eine "Noch nicht veröffentlichen"-Flagge planen. Mit diesem Ansatz können Sie mit einem einfachen Feature Flag in Ihrer Codebasis beginnen und es im Laufe der Zeit in eine Produktentscheidung umwandeln, die einen vollständigen A/B-Test oder multivariaten Test erfordert, so dass anspruchsvollere Techniken für die Features, die sie benötigen, möglich sind.
Da Software und die Bereitstellung von Funktionen immer komplexer werden und immer mehr auf dem Spiel steht, wird Progressive Delivery immer mehr zur bevorzugten Technik für kontinuierliche Integration. Sie bietet eine Möglichkeit, Geschwindigkeit und Agilität mit der Notwendigkeit von Zuverlässigkeit und Stabilität in Einklang zu bringen, so dass die Teams Funktionen bereitstellen können, die den Bedürfnissen ihrer Benutzer entsprechen.
Dies ist der beste Weg, um Funktionen und Updates auf sichere und kontrollierte Weise für die Benutzer bereitzustellen.
Progressive Delivery Beispiel für den Ablauf des Experimentierens
Wie bei jedem neuen Prozess oder jeder neuen Plattform können auch bei der Integration von Progressive Delivery und Experimentieren in Ihren Softwareentwicklungs- und -bereitstellungsprozess viele Fragen für Engineering- und DevOps-Teams auftauchen:
- Wie können wir mit Feature Flags und A/B-Testing beginnen, ohne technische Schulden zu verursachen?
- Wie können wir auf Tausende von Flaggen skalieren und trotzdem gute Governance- und QA-Prozesse beibehalten?
- Wie können wir diese neuen Praktiken unternehmensweit einführen, ohne die Entwicklung und Bereitstellung zu verlangsamen?
Hier ist ein einfacher Beispiel-Workflow, der Ihnen den Einstieg erleichtern soll:
-
Erkenntnisse generieren
Bevor Sie Progressive Delivery einführen, sollten Sie Erkenntnisse über das Benutzerverhalten und die Anwendungsleistung sammeln. Nutzen Sie Überwachungstools, Benutzerfeedback und Analysen. -
Was ist Ihre Hypothese?
Definieren Sie auf der Grundlage der gewonnenen Erkenntnisse eine Hypothese für die neue Version, die Sie testen möchten. Definieren Sie den Erfolg klar und deutlich, z.B. verbesserte Benutzeraktivität, schnellere Seitenladezeiten oder höhere Conversion Raten. -
Experiment einrichten
Legen Sie die Erfolgskriterien fest, z. B. den Prozentsatz der Nutzer im Experiment, die Dauer des Experiments und die spezifischen Funktionen oder Änderungen, die getestet werden sollen. -
Experiment durchführen
Starten Sie das Experiment, indem Sie die Änderungen an einen kleinen Prozentsatz der Benutzer weitergeben. Beobachten Sie die Ergebnisse und nehmen Sie bei Bedarf Anpassungen vor. -
Analys e
Analysieren Sie die Testergebnisse, um zu überprüfen, ob die Hypothese erfolgreich war und eine statistische Signifikanz erreicht wurde. Verwenden Sie quantitative Daten, wie z.B. Benutzerbindung und Conversion Rates, und qualitative Daten, wie z.B. das Feedback der Benutzer. -
Weitergabe und Lernen
Teilen Sie die Ergebnisse des Experiments mit Stakeholdern und Teammitgliedern. Nutzen Sie die Erkenntnisse, um zukünftige Entwicklungsentscheidungen zu treffen und das Erlebnis der Kunden zu verbessern. -
Schrittweiser Rollout
Wenn das Experiment erfolgreich war, führen Sie die Änderungen nach und nach bei einem größeren Prozentsatz der Benutzer ein. Beobachten Sie die Ergebnisse und nehmen Sie bei Bedarf Anpassungen vor. Wenn der Test fehlgeschlagen ist, bewerten Sie die Hypothese neu und nehmen Sie Änderungen vor, bevor Sie ein neues Experiment starten.
Vorteile von Progressive Delivery
Die Progressive Delivery-Methode hat mehrere Vorteile und Anwendungsfälle, die Teams und Einzelpersonen, insbesondere Produktmanagern, helfen können, die Zusammenarbeit zu verbessern, Risiken zu verringern und die Qualität und Leistung in einer Produktionsumgebung zu validieren.
-
Effektivere Zusammenarbeit im Team
Durch die Aufteilung des Lieferprozesses in kleinere, überschaubare Phasen können die Teams enger zusammenarbeiten, um potenzielle Probleme zu erkennen und zu beheben, bevor sie sich zu Problemen entwickeln. Das hilft allen Beteiligten, auf die gleichen Ziele hinzuarbeiten, was letztlich zu einem effizienteren und effektiveren Entwicklungsprozess führt. -
Reduziert die Risiken bei Releases
Durch die schrittweise Einführung neuer Funktionen und Updates können die Teams Probleme erkennen und beheben, bevor sie sich auf alle Benutzer auswirken. Dadurch werden Ausfallzeiten minimiert, das Risiko von Datenverlust oder -beschädigung verringert und andere potenzielle Probleme bei größeren, komplexeren Softwareversionen vermieden. -
Validiert Qualität und Leistung in der Produktion
Durch das Testen neuer Funktionen und Aktualisierungen in kleineren, kontrollierten Umgebungen können die Teams Leistungskennzahlen und Benutzerfeedback überwachen, um Probleme zu erkennen, bevor sie sich auf ein größeres Publikum auswirken. Es wird überprüft, ob neue Funktionen und Aktualisierungen wie beabsichtigt funktionieren und die Anforderungen der Benutzer erfüllen. -
Targeting auf bestimmte Zielgruppen durch mehrere Phasen der Veröffentlichung
Wenn Sie neue Funktionen und Aktualisierungen zunächst für eine Teilgruppe von Benutzern bereitstellen, können die Teams Feedback sammeln und Anpassungen vornehmen, bevor sie sie für ein breiteres Publikum freigeben.
Durch die Einführung von Progressive Delivery können Teams bessere Funktionen und Softwareprodukte entwickeln, um den Geschäftserfolg in Echtzeit zu steigern.
Erfolgsgeschichten zu Progressive Delivery
Diese Fallstudien zu A/B-Testing und Progressive Delivery zeigen, welche Ergebnisse die weltweit führenden digitalen Marken mit Optimizely Feature Experimentation erzielt haben.