Um im Bereich der modernen Softwareentwicklung wettbewerbsfähig zu bleiben, müssen Teams einen Weg finden, kontinuierlich neue Funktionen ohne Verzögerung zu liefern.

Es gibt jedoch Zeiten, in denen ein Big Bang zu riskant ist, besonders wenn du eine neue Funktion hast und unsicher bist, wie deine Kunden darauf reagieren werden.

Zum Glück haben moderne Teams eine Reihe von schrittweisen Rollout-Optionen, bei denen sie ihre Releases immer noch durchführen können, aber auf eine graduelle und progressive Weise, um anfängliche Reaktionen auf diese Releases zu testen und das Kundeninteresse daran zu messen.

Ein Dark Launch ist eine solche Technik, um deine Funktionen schrittweise auszurollen.

Was ist ein Dark Launch?

Ein Dark Launch oder Dark Release ist ein Begriff, der sich auf die Einführung deiner Funktionen an eine Teilmenge von Nutzern bezieht, um deren Feedback zu sammeln und deine neuen Funktionen entsprechend zu verbessern.

Es ist also eine Möglichkeit, eine Funktion bereitzustellen, den Zugriff darauf aber zu begrenzen, um nützliches Feedback zu erhalten. Eine sichere Methode, deine Funktionen einer kleinen Gruppe von Nutzern zu veröffentlichen, um zu testen, ob sie diese neue Funktion mögen.

Basierend auf dem erhaltenen Feedback würdest du diese Funktion entweder an den Rest deiner Nutzer freigeben oder daran arbeiten, die Funktion zu optimieren und zu verbessern, bevor du sie vollständig veröffentlichst.

Wie wird es implementiert?

Dark Launches werden oft mit Feature Flags kombiniert, um bestimmte Nutzer gezielt mit Funktionen zu versorgen, um diese zu testen. Feature Flags ermöglichen es Teams, neue Releases für bestimmte Nutzer zu aktivieren, während sie für alle anderen deaktiviert bleiben.

Du beginnst den Dark Launch, indem du die neue Funktion zuerst in einem Feature Flag einbindest. So werden Bereitstellung und Veröffentlichung entkoppelt. Du würdest dann diese Funktion in die Produktion bringen, indem du sie für deine ausgewählten Nutzer aktivierst – zuerst für einem kleinen Prozentsatz, nach und nach rollst du sie an weitere Nutzer aus.

Während eines Dark Launches oder eines Dark Deployments werden Rückmeldungen gesammelt, und falls während dieses Launches Probleme auftreten, insbesondere wenn du negatives Feedback von deinen Nutzern erhältst oder Fehler in deinem System auftreten, kannst du diese Funktion mithilfe von Feature Flags leicht deaktivieren.

Vorteile eines Dark Release

Mehr Experimentation

Dark Launches sind eine großartige Möglichkeit, das Interesse der Kunden an einer neuen Funktion zu messen, die du veröffentlichen möchtest. Produktteams haben damit insbesondere die Möglichkeit, ihre Ideen mit weniger Risiko zu testen, da nur eine ausgewählte Anzahl von Nutzern die Funktion sieht.

Teams können Experimente sowohl für Frontend- als auch Backend-Funktionen durchführen und dann die erfolgreichere Variante für alle anderen freigeben.

Auf diese Weise können sie mit neuen Funktionen vorankommen und diejenigen verwerfen, die schlecht abgeschnitten haben. So besteht Sicherheit, dass die Funktionen den Kundenbedürfnissen entsprechen. Kundenzufriedenheit ist garantiert.

Höhere Qualität der Releases und schnellere Markteinführung

Eine solche Technik ermöglicht es dir, hochwertige Releases vorzulegen, denn du kannst deine Funktionen gemäß dem Feedback deiner relevantesten Nutzer aktualisieren. Sie ermöglicht es Developern zu sehen, wie Nutzer auf die neuen Funktionen reagieren und mit ihnen interagieren, um festzustellen, ob Verbesserungen erforderlich sind.

Ein Dark Launch ist also eine Möglichkeit, deine neue Funktion in einer Produktionsumgebung mit echten Nutzern zu testen. So kannst du wesentliche Metriken sammeln, um die Leistung der Funktion zu analysieren und genau zu überwachen, wie deine Nutzer mit der Funktion interagieren.

Solches Feedback ermöglicht es dir auch, Fehler zu finden, die du in früheren Testphasen übersehen hast, damit diese behoben werden können, bevor sie an ein breiteres Publikum veröffentlicht werden.

Der wahre Wert von Dark Launches liegt darin, dass du schnellere Feedback-Schleifen von Kunden für deine neuen Funktionen erhältst, was zu einer schnelleren Markteinführung führt und dir ermöglicht, in einem schnelllebigen Markt wettbewerbsfähig zu bleiben.

Es hilft auch, das Momentum der kontinuierlichen Lieferung aufrechtzuerhalten, besonders da es jetzt wichtiger denn je ist, schnell neue Funktionen an deine Nutzer auszurollen und deren Feedback zu erhalten.

Was noch wichtiger ist, sobald du deine Funktion für alle Nutzer freigibst, bist du voll und ganz davon überzeugt, dass du nur hochwertige, fehlerfreie Funktionen veröffentlichst.

Geringeres Risiko

Ein weiterer großer Vorteil ist, dass du die Risiken, die mit der Veröffentlichung neuer Funktionen einhergehen, reduzierst und deren Auswirkungen minimierst, da du nur einer kleinen Gruppe von Nutzern den Zugriff auf deine neuen Funktionen ermöglichst.

In diesem Sinne sind Dark Launches eine sichere Methode, um neue Funktionen in einer Produktionsumgebung zu testen, anstatt sich für eine separate Staging-Umgebung zu entscheiden, die kostspielig sein und Ressourcen verbrauchen kann.

Mit Feature Flags kannst du das Risiko weiter mindern und noch sicherer sein, dass du vollständig kontrollierst, wer deine neuen Funktionen sieht und wer nicht. Falls etwas schief geht, kannst du die Funktion einfach zurücknehmen, indem du das Flag ausschaltest.

Sei jedoch vorsichtig, wenn du Dark Launches mit Feature Flags implementierst, da dies zu technischer Verschuldung führen kann, insbesondere wenn deine Flags über die Zeit nicht ordnungsgemäß verwaltet werden.

Du musst sicherstellen, dass du ein effizientes Feature Flag Management System hast, wie z. B. die Server-Side-Funktionalität von AB Tasty, die spezielle Funktionen bietet, um deine Flags unter Kontrolle zu halten.

Dark Launch vs. andere Methoden der schrittweisen Bereitstellung

Du fragst dich vielleicht, was der Unterschied zwischen dieser Methode und anderen Methoden der schrittweisen Bereitstellung wie Canary Deployments oder Ring Deployments ist.

Die Ziele solcher Arten von Releases sind die gleichen, nämlich neue Funktionen allmählich und schrittweise an eine kleine Teilmenge von Nutzern zu veröffentlichen, um sicherzustellen, dass sie ordnungsgemäß funktionieren, bevor sie für alle anderen freigegeben werden.

Ein wesentlicher Unterschied besteht darin, dass Canary Deployments in der Regel bei allen Releases deiner App durchgeführt werden und nicht nur bei einzelnen Funktionen.

Sie können zum Beispiel verwendet werden, um langsam auf eine neue Infrastruktur umzustellen, während Dark Launches es dir ermöglichen, Funktionen im Frontend zu testen, bevor sie für alle anderen freigegeben werden.

Wenn du jedoch Feature Flags verwendest, kannst du auch einen Dark Launch für Infrastruktur-Migrationen durchführen, um deinen Tech-Stack zu aktualisieren, sowie Backend-Funktionen in der Produktion zu testen.

Außerdem ist ein Dark Launch in der Regel nichts, in das sich die Nutzer aktiv einwählen, und die neue Funktion wird ihnen nicht direkt mitgeteilt, daher sprechen wir von einem „dunklen“ Launch.

Wenn du den Nutzern eine Wahl geben und ihnen ermöglichen möchtest, sich einzuwählen, kannst du eine begrenzte Anzahl von Nutzern bitten, sich für den Test eines neuen Produkts anzumelden. Dies wird auch als Beta-Testing bezeichnet.

Da Dark Launches jedoch nicht unbedingt Beta-Tests sind, musst du darauf achten, dass du eine ausreichend gute Funktion freigibst, da diese Nutzer weniger tolerant gegenüber auftretenden Problemen sein werden.

Diese beiden Begriffe werden jedoch manchmal austauschbar verwendet, da Canary Deployments als eine Art „Dark Launch“ betrachtet werden können, der speziell eine Beta-Gruppe anspricht und eher auf eine prozentuale Freigabe für Nutzer basiert.

Du musst auch sicherstellen, dass du genug Nutzer zur Auswahl hast, da Dark Launches eine beträchtliche Nutzerbasis erfordern, um ausreichend Feedback zu erhalten, daher ist diese Technik nicht für neue Apps geeignet.

Zusammengefasst

Dark Launches sind eine gute Möglichkeit, die Wirksamkeit deiner zukünftigen Releases durch Feedback aus der realen Welt sicherzustellen und die Stabilität deiner App-Infrastruktur aufrechtzuerhalten, sodass du schnellere und qualitativ hochwertigere Produkte an deine Kunden liefern kannst.

Mit Feature Flags einen Dark Launch durchzuführen, ist eine Möglichkeit, den Veröffentlichungsprozess zu beschleunigen und gleichzeitig den Einflussbereich zu minimieren und das Risiko neuer Releases zu mindern.

Schneller wachsen
mit ABTasty

Erhalten Sie eine individuelle Komplettlösung für die Plattform

Demo anfordern