Optimierungs-Glossar

Feature-Rollout

Inhalt


    Was ist ein Feature-Rollout?

    Ein Feature-Rollout ist der Prozess der Softwareentwicklung, bei dem eine neue Funktion für eine Gruppe von Benutzern eingeführt wird.

    In der nicht allzu fernen Vergangenheit wurde die Software alle ein bis zwei Wochen eingeführt, wobei eine Reihe von Änderungen gebündelt und dann überwacht wurden. Wenn etwas nicht funktionierte, musste möglicherweise ein kompletter Rollback durchgeführt werden, während die Ingenieure das Problem untersuchten.

    Heutzutage haben vorausschauende Softwareunternehmen neue Wege gefunden, um neue Funktionen effizienter und mit geringerem Risiko einzuführen.

    Vorteile von Feature-Rollouts

    Ein Feature-Rollout-Prozess hat den Vorteil, dass er die Zusammenarbeit und eine durchdachte Planung fördert. Er bringt die Teams dazu, eine Release-Strategie in die Entwicklung einzubauen. Anstatt neue Funktionen an alle Benutzer in der Produktion zu verteilen, kontrollieren die Entwickler die Freigaben im Entwicklungslebenszyklus.

    Ein weiterer Vorteil von Feature-Rollouts ist die Schnelligkeit der Tests. Die Teams können viel mehr Hypothesen in kürzerer Zeit testen.

    Wenn ein Produkt eine große Anzahl von Benutzern hat, erfordern größere Änderungen Experimentieren, Benutzerakzeptanz und Benutzerschulung. Ein phasenweiser Rollout oder die Segmentierung von Benutzergruppen zum Testen verschiedener Funktionen gibt einem Unternehmen die Möglichkeit, die Benutzeroberfläche und das Erlebnis der Benutzer umfassend zu testen und mehr Tests durchzuführen.

    Feature-Rollouts & Continuous Delivery

    Mit der zunehmenden Beliebtheit von Continuous Delivery integrieren Produkt- und Entwicklungsteams die Kontrolle über Feature-Rollouts in den Produktentwicklungsprozess. Die Teams stimmen sich jetzt ab, um Releases während des gesamten Entwicklungszyklus zu verwalten.

    Continuous Delivery wurde von dem einflussreichen Entwickler Martin Fowler ins Leben gerufen und ist eine Disziplin der Softwareentwicklung, bei der Software jederzeit für die Produktion freigegeben werden kann. Sie wurde von führenden Softwareunternehmen auf der ganzen Welt übernommen, von deren Teams nun erwartet wird, dass sie schnell stabile und fehlerfreie Software liefern.

    Feature-Rollout-Prozess

    Ein Feature-Rollout-Prozess umfasst die Planung, Terminierung, Kontrolle und das Testen einer Feature-Freigabe in verschiedenen Phasen und Umgebungen. Im Folgenden finden Sie die Phasen des Prozesses:

    1. Entwurf

      Entwerfen Sie die Funktionalität, untersuchen Sie den Anwendungsfall und entwickeln Sie einen Zeitplan.
    2. Freigabestrategie entwickeln

      Bestimmen Sie die Parameter für die Veröffentlichung und wie Sie das Feedback der Benutzer einbeziehen.
    3. Erstellen Sie

      Entwickeln und integrieren Sie, indem Sie das Fortschreiten der Funktion durch mehrere Entwicklungsumgebungen verwalten.
    4. Testen

      Testen Sie die Funktion, indem Sie das Feature Flag verwenden, um das Rollout und das Targeting der Benutzer zu steuern. Bewerten Sie das Leistungsfeedback und die Rückmeldungen der Benutzer.
    5. Freigeben

      Setzen Sie die Funktion in der Produktion ein und implementieren Sie dann Ihre Veröffentlichungs- und Rollout-Strategie.
    6. Sammeln Sie Feedback

      Bauen Sie eine ständige Feedbackschleife auf.
    7. Kontinuierliche Veröffentlichung

      Nehmen Sie auf der Grundlage des Feedbacks schrittweise Änderungen vor und optimieren Sie das Produkt weiter.

    Feature-Rollouts mit Feature Flags

    Es gibt eine Reihe von Möglichkeiten, neue Feature-Rollouts bereitzustellen. Eine beliebte Methode sind Feature Flags, auch bekannt als Feature Toggles.

    Feature Flags sind eine Technik der Softwareentwicklung, mit der bestimmte Funktionen ein- und ausgeschaltet werden können, ohne dass neuer Code bereitgestellt werden muss. Dies ermöglicht eine bessere Kontrolle und mehr Experimentieren über den gesamten Lebenszyklus von Funktionen.

    Feature Flags ermöglichen die Continuous Delivery und die schnellere Bereitstellung von Software für Benutzer. Durch die Verwendung von Feature Flags können Unternehmen schrittweise Feature-Rollouts durchführen, Fehler im Code ohne erneutes Deployment beheben und einen strafferen Entwicklungszyklus erleben.

    Was ist eine Feature-Variable?

    Eine Feature Flag-Variable ist eine Möglichkeit, Feature Flags mit konfigurierbaren Komponenten oder Parametern auszustatten, die es Softwareteams ermöglichen, die Funktion zu steuern oder zu aktualisieren, ohne dass Code bereitgestellt werden muss.

    Ein Beispiel für eine Funktionsvariable wäre eine Schaltfläche, die mit verschiedenen Farben, Texten, Größen und Platzierungen angepasst werden kann. Diese Schaltfläche kann aktualisiert werden, ohne dass neuer Code implementiert werden muss.

    Feature-Variablen und Feature-Rollouts

    Feature-Variablen können in Feature-Rollouts eingebunden werden, um Funktionen spontan zu ändern oder zu aktualisieren, ohne neuen Code einspielen zu müssen. Diese Änderungen können für einen bestimmten Prozentsatz eines Kundenstamms und bestimmte Zielgruppen eingeführt werden.

    Feature-Variablen und A/B-Testing

    Feature-Variablen können mit A/B-Testing kombiniert werden, um verschiedene Feature-Konfigurationen zu testen und so bessere Geschäftskennzahlen zu erzielen. Mit Feature-Variablen könnte ein Unternehmen beispielsweise verschiedene Feature-Konfigurationen testen, um zu sehen, welche die besten Ergebnisse liefert.

    Feature-Rollouts & A/B-Testing

    A/B-Tests bei der Einführung von Funktionen sind eine Möglichkeit, Risiken zu minimieren und die Auswirkungen neuer Funktionen zu testen, ohne den Code für alle freizugeben.

    An Ideen für interessante Funktionen mangelt es oft nicht; der begrenzende Faktor ist die Entwicklungszeit. A/B-Testing kann dazu beitragen, eine Umgebung zu schaffen, in der Testdaten Ihre Produkt-Roadmap vorantreiben und nicht individuelle Meinungen.

    Mit A/B-Tests oder Split-Tests können Sie zwei Varianten von Erlebnissen (für unterschiedliche Benutzergruppen) erstellen und den Gesamterfolg beider Varianten anhand der von Ihnen festgelegten Ziele bewerten.

    Feature-Rollouts mit Optimizely Feature Experimentation

    Produkt- und Entwicklungsteams können jetzt das serverseitige Feature Management von Optimizely nutzen, um Feature-Rollouts durchzuführen. Dies ermöglicht die gleiche Flexibilität, auf die sich Produktteams bei ihren Experimentierprogrammen verlassen haben, um Hypothesen zu validieren, bevor sie neue Produkte, Funktionen und Erlebnisse für alle einführen.

    Dieses Experimentieren wird nahtlos mit den Praktiken der kontinuierlichen Integration und Continuous Delivery zusammenarbeiten, die von den fortschrittlichen Entwicklungsteams von heute eingesetzt werden. Beide Teams - und ganze Unternehmen - werden von den schnelleren Entwicklungszyklen und Feature Management-Praktiken wie Feature Flags oder Toggles zur Risikominimierung profitieren können.

    Alle Full Stack-Kunden von Optimizely können in die Fußstapfen der weltweit führenden Softwareunternehmen (wie Amazon, Google und Facebook) treten, um ihre digitalen Erlebnisse zu entwickeln, A/B-Tests durchzuführen, um das bestmögliche Erlebnis zu finden, und dann einen kontrollierten Rollout zu managen.

    Optimizely bietet jetzt auch kostenlose Feature Flags über Optimizely Rollouts für Teams an, die mit kontrollierten Feature-Releases beginnen möchten, ohne die volle Funktionalität von Optimizely Full Stack zu nutzen.

    Mit Optimizely kann Ihr Team viele Möglichkeiten testen, was die Wahrscheinlichkeit erhöht, bessere Ergebnisse zu erzielen.

    https://pixel.welcomesoftware.com/px.gif?key=YXJ0aWNsZT1lYjZmNzBmMGVhZGIxMWVlYjAxZDg2MDg3NzAwMDE1MA==