Seien wir ehrlich – das Management eines wachsenden Softwareprodukts kann für Anfänger und erfahrene Fachleute gleichermaßen eine überwältigende Aufgabe sein. Während Sie neue Funktionen einführen, um eine größere und wachsende Nutzerbasis zu unterstützen, sind die Anfangstage, in denen nur wenige Funktionen verwaltet werden mussten, längst vorbei.
Der Druck von Endnutzern und internen Stakeholdern nimmt zu, während Sie neue Wege suchen, Ihren Kunden Mehrwert zu bieten. Ohne ausreichende Kontrolle könnten Sie schnell mit Feature Creep konfrontiert sein.
In verschiedenen Produktmanagement-Positionen, die ich in meiner Laufbahn innehatte, habe ich die Vorteile von Feature Flags aus erster Hand erlebt. Von der Vereinfachung von A/B-Tests, der leichteren Verwaltung von Produkteinführungen bis hin zur dauerhaften Praxis der kontinuierlichen Auslieferung – Feature Flags helfen Produktmanagern wirklich dabei, die Kontrolle über ein wachsendes Produkt mit Zuversicht zu behalten.
Was sind Feature Flags?
Feature Flags (auch bekannt als Feature Toggles oder Feature Flippers) fungieren als Gatekeeper für spezifische Funktionen in Ihrer Anwendung zur Laufzeit – das bedeutet, dass Sie den Zugang zu bestimmten Features für Benutzer aktivieren oder deaktivieren können, wenn vordefinierte Kriterien erfüllt sind. Sie ermöglichen es Ihnen, den Zugriff in Echtzeit zu steuern, ganz ohne Code-Deployments – stellen Sie sich diese Freiheit vor!
Um welche Kriterien geht es hierbei? Hier wird die Stärke der Feature Flags besonders deutlich. Sie können gewähren oder blockieren auf Basis unterschiedlichster Bedingungen, z. B. spezielle Nutzersegmente, Tageszeit, Geografie, oder Sie können sogar den Zugriff zufällig für Experimente variieren.
Vorteile der Verwendung von Feature Flags
Vereinfachen Sie Ihre A/B-Tests und Experimente
Wenn Sie Experimente durchführen, um fundierte Produktentscheidungen zu treffen, müssen Sie verschiedene Ansätze an klar definierten Zielgruppen ausprobieren können. Mithilfe von Feature Flags können Sie diese Tests wesentlich einfacher durchführen und sich auf die gewünschten Messwerte und Experimente konzentrieren, statt sich mit der technischen Umsetzung der Segmentierung zu beschäftigen.
Nehmen wir als Beispiel Verbesserungen in der Nutzererfahrung eines entscheidenden Workflows Ihres Produkts. Anstatt die Änderungen für alle Nutzer gleichzeitig auszurollen, können Sie bestimmte Nutzersegmente auswählen, um diese neue Erfahrung zu testen. Dann können Sie Feedback und Kennzahlen der Testgruppe erfassen und mit der breiteren Nutzerbasis vergleichen, bevor Sie eine Entscheidung für eine großflächige Ausrollung treffen.
Wenn Sie Änderungen am Layout, an Interaktionen oder an der visuellen Hierarchie testen, können Sie responsive Design-Prototypen verwenden, um Ihre Ideen schneller zu validieren. Schauen Sie sich die besten Tools für responsive Design-Prototypen an, um testbare Abläufe zu erstellen, bevor Sie sie für Live-User mit Feature Flags aktivieren.
Neue Feature-Einführungen und Rollouts verwalten
Eine Superkraft von Feature Flags ist die Kontrolle bei komplizierten Produkteinführungen – sie erlauben Ihnen ein schrittweises und gestaffeltes Vorgehen. Sie müssen sich nicht mehr ausschließlich auf interne Tests verlassen, sondern können tatsächlich Teile ihrer neuen Funktion in der Produktion ausrollen, um zu prüfen, ob alles mit bestehenden Features und Code reibungslos funktioniert.
Dies wird oft als Canary Release bezeichnet, bei dem Sie die Auswirkung neuer Features und Codes sehen, bevor Sie den breiteren Nutzerkreis erreichen. Feature-Releases sind nicht mehr mit demselben Risiko verbunden, wenn Sie es bei echten Nutzern im Live-Betrieb getestet haben. Es ist ein gezielteres, chirurgisches Vorgehen – ähnlich wie bei Continuous Integration – anstatt eine Downtime für die Nutzer zu riskieren.
Ein gutes Beispiel dafür ist die Einführung der Bild-in-Bild-Funktion in der YouTube-App auf dem iPhone. Anstatt dieses Feature sofort allen Nutzern zur Verfügung zu stellen, hat YouTube die Funktion nach und nach einer Teilgruppe von Usern angeboten, damit die Entwickler Fehler sowie Probleme mit der Nutzererfahrung beheben konnten, bevor das Feature flächendeckend ausgerollt wurde.
Weiterführende Lektüre: 12 Strategien für erfolgreiche Produkteinführungen (+Beispiele)
Testen Sie verschiedene Preismodelle
Wenn Sie bereits an der Preisgestaltung Ihres Produkts mitgewirkt haben, wissen Sie, wie sensibel diese Balance zwischen Mehrwert und Preis ausfallen kann. Ist das Verhältnis falsch, verlangen Sie womöglich zu wenig und verlieren Umsatz – oder potenzielle Kunden schrecken vor zu hohen Preisen zurück.
Feature Flags helfen Ihnen, Preismodelle wesentlich effektiver zu verwalten als manuelle Methoden. Da Preisstufen in der Regel den Zugang zu bestimmten Funktionen für festgelegte Nutzersegmente bedeuten, ist der Einsatz von Feature Flags hier besonders sinnvoll.
Nehmen wir an, Sie möchten eine neue Preisstufe einführen, um ein bislang wenig beachtetes Marktsegment anzusprechen. Sie können mit einem Feature Flag dieses neue Preismodell zunächst nur einer kleinen Nutzergruppe anbieten und beobachten, ob das Angebot angenommen wird oder nicht. Durch Feature Flags gewinnen Sie mehr Sicherheit bei Ihrer Preisstruktur, da Sie weniger auf Spekulationen angewiesen sind.
Förderung von Best Practices im Softwareentwicklungszyklus
Produktmanager wissen: Glückliche Engineering-Teams sorgen für glückliche Kunden! Feature Flags nehmen Entwicklern den Druck, komplexe Rollouts zu unterstützen, und vor allem vereinfachen sie katastrophale Änderungen, die jedem Entwickler, der am Wochenende Bereitschaft hat, Angst einjagen.
Da Feature Flags ein sorgfältiges Abgrenzen von Code erzwingen, wird das Zurückrollen von Code-Deployments im Fehlerfall erheblich erleichtert. So können Sie und Ihre Teams flexibler und agiler auf unvorhergesehene Ereignisse reagieren. Damit wird die kontinuierliche Auslieferung oder sogar die progressive Auslieferung realistischer – die Vorteile von Kunden-Feedback-Schleifen lassen sich umso besser nutzen, je mehr Kontrolle Sie über den Zugang zu Funktionen und deren Veröffentlichung haben (wobei auch KI im Release-Management unterstützen kann).
Wenn Sie eine neue Funktion einführen, bietet ein Feature Flag einen einfachen Notausschalter. Wenn Ihnen zum Beispiel auffällt, dass trotz intensiver Tests eine neue Funktion nach dem Roll-out in der Produktion unerwartete Folgen für Ihre Nutzer hat, können Sie den Zugang sofort deaktivieren. Was früher ein Chaos aus Feature-Branches, Hotfixes und hektischen Deployments war, lässt sich heute mit Feature Flags deutlich besser steuern.
Wie startet man mit Feature Flags?
Abhängigkeiten identifizieren
Zunächst sollten Sie prüfen, ob Ihre Codebasis eine unkomplizierte Einführung von Feature Flags ermöglicht. Ältere Monolithen mit unübersichtlichem Spaghetti-Code stellen hier oft große Herausforderungen dar. Es wird schwierig, Funktionen von anderen Workflows zu entkoppeln, um sie gezielt abzugrenzen.
Ein durchdachtes Gespräch mit Ihren Engineering-Teams und DevOps ist zu Beginn notwendig. Die Vorteile sind zwar überzeugend, doch bedenken Sie: Das Einführen von Feature Flags nimmt zunächst Zeit von der aktuellen Feature-Entwicklung in Anspruch. Langfristig zahlt sich der Aufwand aber aus – daher lohnt es sich, das Thema so früh wie möglich anzugehen.
Wo sollte man mit dem Abgrenzen beginnen?
Es mag verlockend sein, alles mit Feature Flags abzusichern, aber ein methodischeres Vorgehen hilft Ihnen, Fortschritte zu machen, ohne Ihre übrige Entwicklungsarbeit zu beeinträchtigen.
Wenn wir an Features denken, denken wir oft an Client-seitige Interaktionen, sodass Sie vielleicht geneigt sind, dort zu beginnen. Das kann durchaus ein sinnvoller Ausgangspunkt sein—aber vergessen Sie nicht die unterstützenden Komponenten auf der Serverseite, insbesondere in Ihrer API. Änderungen an der API können sicherstellen, dass Codeänderungen nicht bereits auf dem Backend erwartetes Verhalten stören, bevor die Funktion im UI bei Nutzern eingeführt wird.
Bestimmen, wie der Zugriff gesteuert wird
Wir haben besprochen, dass der Zugang zu bestimmten Features für ausgewählte Nutzergruppen gesteuert werden kann, aber Sie können auch andere Kriterien heranziehen, um den Zugriff bedingt zu gewähren. Beispielsweise möchten Sie vielleicht ein Feature Flag nur zu bestimmten Tageszeiten, in bestimmten Regionen oder sogar zufällig für einen kurzen Test aktivieren! Es hilft, im Vorfeld zu überlegen, welche Kriterien Sie nutzen möchten, damit Sie und Ihr Team Feature Flags mit größtmöglicher Flexibilität gestalten können.
Das Auflisten der bekannten Kriterien kann Ihnen helfen, die ersten Einstiegspunkte für die Umsetzung zu identifizieren.
Denken Sie daran, einfach anzufangen
Auch wenn Ihre Fantasie schon mit allen Einsatzszenarien von Feature Flags durchgeht (zum Beispiel: Aktivieren Sie ein Feature für Premium-Nutzer, die Chrome verwenden und dienstags blaue Schuhe tragen 😅), fangen Sie mit einfachen Steuerungen an.
Ein unkomplizierter Einstieg ist das Einführen von Features für Nutzersegmente basierend auf deren vorhandenem Zugang. Das klassische Beispiel wären zahlende vs. kostenlose Nutzer.
Komplexere Feature Flags, die multivariat sind (d.h. eine Kombination von Kriterien für den Zugriff nutzen), sind ein Ziel, auf das Sie hinarbeiten können – die Grundlagen zuerst zu schaffen, wird Ihnen helfen, dorthin zu gelangen.
Tools für das Feature-Flag-Management
Früher wurden Feature Flags meist im Backend verwaltet, sodass Entwickler immer eingebunden werden mussten, wenn es um deren Aktivierung oder Deaktivierung ging. Mittlerweile gibt es glücklicherweise Tools, die das Management von Feature Flags stark vereinfachen – sowohl das schnelle Umschalten als auch das Verwalten der verschiedenen Kriterien für die jeweiligen Segmente.
Heute existiert eine breite Auswahl an Feature-Flag-Plattformen, darunter Optimizely, LaunchDarkly, und als Open-Source-Option Flagsmith. Manche Unternehmen entwickeln sogar eigene Inhouse-Lösungen, wenn spezifische Anforderungen von den Standard-Plattformen nicht abgedeckt werden.
Auch wenn sich diese Tools in Funktionalität und Umfang unterscheiden, versprechen alle eine einfachere Verwaltung von Feature Flags—mehr Kontrolle und Sicherheit bei Deployments und Iterationen.
Features selbstbewusst verwalten
Mit Feature Flags als Teil Ihres Toolkits gehen Sie mit mehr Selbstvertrauen an Ihre Releases, entlasten Ihre Entwicklungsteams und finden das optimale Funktionsmix, das Ihren Kunden den größten Mehrwert bietet.
Lassen Sie uns in den Kommentaren wissen, wie Sie Feature-Flags in Ihren Produkten eingesetzt haben oder einsetzen möchten!
Weitere Tools, Tipps und Techniken, um Ihre Karriere als Produktmanager voranzubringen, finden Sie im The CPO Club Newsletter.
Verwandter Artikel: 8 Best Practices für Feature-Flags, die Sie kennen sollten
Auch interessant: Die beste Software für Produktanforderungen
