Veröffentlicht am 09. April 2020

Feature Flags - Eigentumsmodelle: Welches ist das richtige für Sie?

Feature Flags ermöglichen einen leistungsstarken Continuous Delivery-Prozess und bieten eine Plattform für Progressive Delivery mit schrittweisen Rollouts und A/B-Tests. Sobald Ihr Unternehmen erfolgreich Feature Flags einsetzt, werden Sie vielleicht begeistert sein, mehr in Ihre Codebasis zu bekommen. Für die Skalierung der Leistung von Feature Flags ist jedoch eine gute Governance entscheidend.

Asa Schachar
von Asa Schachar
graphical user interface, application

Wie bei jedem Feature, das Sie entwickeln, werden die Personen und Teams, die das Feature Flag oder den A/B-Test ursprünglich entwickelt haben, nicht ewig da sein. Als Erfolgsmethode sollte Ihre technische Organisation im Voraus vereinbaren, wer für die Verwaltung und Pflege eines Feature Flags oder A/B-Tests verantwortlich ist. Dies ist besonders wichtig, wenn Sie alte Feature Flags oder A/B-Tests entfernen oder bereinigen müssen.

In meinen Erlebnissen als Ingenieur und technischer Leiter habe ich gesehen, dass einige Governance-Modelle gut funktionieren. Im Folgenden gehe ich auf die Beispiele aus meinem kostenlosen E-Book Ship Confidently with Progressive Delivery and Experimentieren ein und erläutere die Vor- und Nachteile der einzelnen Modelle, damit Sie eine fundierte Entscheidung darüber treffen können, was in Ihrem Unternehmen am besten funktioniert. Lassen Sie uns eintauchen!

01. Individuelle Eigentümerschaft

Einzelne Entwickler werden als Owner einer Funktion oder eines Experiments bezeichnet. In regelmäßigen Abständen, z.B. alle zwei Quartale, wird die Eigentümerschaft neu bewertet und gegebenenfalls übertragen. Die Eigentümerschaft kann in Ihrem Feature Flag-System, in Ticket-Tracking-Tools, in der Codebase oder in Bereitschaftssystemen nachverfolgt werden. Einfach und verständlich.
Vorteile: Einfach und verständlich.
Nachteile: Schwer zu pflegen, wenn Ingenieure häufig zwischen Projekten oder Codebereichen wechseln.

Dieses Modell eignet sich gut, wenn Sie ein kleines Team haben, das viele Feature Flags verwaltet, und die Mitarbeiter über viele Quartale in einem bestimmten Team bleiben. Dieses Modell ist besonders gut für kleine Unternehmen und Startups mit weniger als 50 Ingenieuren geeignet.

02. Feature-Team-Eigentümerschaft

Das Team, das für die Entwicklung des Features verantwortlich ist, übernimmt die Verantwortung für das Feature Flag und/oder den A/B-Test. Unempfindlich gegenüber Änderungen durch einzelne Mitarbeiter.

Vorteile: Unempfindlich gegenüber Änderungen durch einzelne Mitarbeiter.
Nachteile: Schwer zu pflegen, wenn die Teams ständig wechseln oder unausgewogen sind und die Verantwortung ungleich verteilt ist.

Dieses Modell funktioniert gut, wenn Ihre Teams stabil sind und sich an Produktfunktionen orientieren, die auch über viele Quartale hinweg stabil sind, aber Einzelpersonen neigen dazu, zwischen verschiedenen Teams zu wechseln.

Manchmal erben Feature-Teams alte Altsysteme oder einen Berg früherer Features, so dass sich die Verteilung der Verantwortlichkeiten ungleichmäßig anfühlt, aber das kann eher ein Signal sein, Ihre Teamstruktur im Allgemeinen neu zu organisieren.

Dieses Modell eignet sich sowohl für mittlere (100+ Ingenieure) als auch für große Ingenieurteams (1000+ Ingenieure), die über eine stabile und solide Struktur verfügen.

03. Zentralisierte Eigentümerschaft (Center of Excellence)

Dieses Modell untersteht einem speziellen Experimentier-, Wachstums- oder Release-Team mit Experten, die Feature Flags und Experimente einrichten, durchführen und entfernen. Der Nachteil ist, dass die Skalierung Ihres Progressive Delivery- und Experimentierprogramms auf die Größe dieses zentralen Teams beschränkt ist. Der Vorteil ist, dass dieses zentrale Team die Experten in Ihrem Unternehmen sein können und dafür sorgen, dass Experimente und Feature Flags immer mit hoher Qualität umgesetzt werden. Außerdem sind sie für die Prozesse und Erfolgsmethoden verantwortlich und geben diese an den Rest des Unternehmens weiter.

Vorteile: Unempfindlich gegenüber vielen Änderungen und am einfachsten zu begründen.
Nachteile: Die zentralen Teams sind nicht die Experten, wenn es um die tatsächliche Umsetzung der Feature Flags und Experimente geht, und benötigen möglicherweise viel Hilfe von anderen Teams. Die Größe dieses Teams wird schließlich die Anzahl der Experimente und Feature Flags begrenzen, die Ihr Unternehmen bewältigen kann.

Diese Methode kann für Unternehmen jeder Größe besonders hilfreich sein. Es ist sinnvoll, dass ein Team die Erfolgsmethoden erprobt, bevor sie auf andere Teile des Unternehmens ausgedehnt werden.

04. Hybrid

Wie bei den meisten Unternehmen gibt es wahrscheinlich nicht die eine perfekte Lösung. Es ist wichtig zu erkennen, dass die oben genannten Modelle flexibel sind und sich nicht gegenseitig ausschließen.

Insbesondere in mittleren und großen Unternehmen kann es wichtig sein, dass verschiedene Teams mit unterschiedlichen Eigentumsmodellen arbeiten. Solange Sie sich darüber im Klaren sind, welches Organisationsmodell Sie verwenden, warum Sie es verwenden und welche möglichen Nachteile dieses Modell hat, sind Sie auf dem besten Weg zu einer erfolgreichen Organisation.

Bei Optimizely (~100 Ingenieure) verwenden wir individuelle Eigentumsrechte an Features, die in JIRA-Tickets verfolgt werden, und verfügen gleichzeitig über ein zentrales QA-Team, das sicherstellt, dass die Tickets die Feature Flags genau verfolgen, dass die Feature Flags Owner haben und dass die einzelnen Personen die Erfolgsmethoden für die Einrichtung und Entfernung befolgen.

Lassen Sie mich wissen, was Sie denken

Welche Modelle für den Besitz von Feature Flags verwendet Ihr Unternehmen? Schreiben Sie mir eine Nachricht in unserer Slack-Community oder finden Sie mich auf Twitter unter @asametrical.

Dies ist Teil einer Reihe von Erfolgsmethoden, die Ihrem Unternehmen helfen, Progressive Delivery und Experimentieren erfolgreich zu implementieren, um schneller und sicherer zu liefern.

Wenn Ihnen dieser Inhalt gefällt, sollten Sie sich mein kostenloses E-Book ansehen: Mit Progressive Delivery und Experimentieren zuversichtlich ausliefern. Darin finden Sie weitere Erfolgsmethoden für die ersten Schritte bis hin zur unternehmensweiten Skalierung dieser Techniken.