Zum Inhalt springen

Feature Flag (Feature Toggle)

oder auch Feature Toggle

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 03.11.2026

Ein Feature Flag (Feature Toggle) ist ein Schalter im Code, der eine Funktion ohne neues Deployment ein- und ausschaltet. Die Funktion ist dann schon ausgeliefert und wartet darauf, freigegeben zu werden.

Feature Flag (Feature Toggle)

Ein Schalter im Code, der eine Funktion ohne neues Deployment ein- und ausschaltet.
Beispiel: „Das Feature Flag für den neuen Kassenweg stand zwei Wochen auf aus.“

Auch Feature Toggle; auf Deutsch Funktionsschalter. Der Wert kommt aus der Konfiguration, aus der Datenbank oder von einem Dienst, der die Schalter verwaltet.

Abgrenzung zum Canary Release: Dieses verteilt einen ganzen Stand an einen Teil der Nutzer. Ein Flag schaltet eine einzelne Funktion.

Wofür ein Feature Flag gebraucht wird

Für die Trennung von Ausliefern und Freigeben. Der Code geht in kleinen Schritten nach außen, die Funktion erscheint erst, wenn Inhalt, Schulung und Termin stimmen; im Fehlerfall genügt ein Schalter statt eines Deployments.

Außerdem macht es die Arbeit im Hauptzweig möglich. Halbfertiges liegt abgeschaltet im ausgelieferten Stand, siehe Trunk-Based Development.

Welche Arten von Feature Flags es gibt

Vier, nach Lebensdauer und Zweck. Der Release-Schalter begleitet eine Einführung und verschwindet danach; der Versuchsschalter teilt Nutzer für einen Test; der Berechtigungsschalter gibt einzelnen Kunden etwas frei; der Betriebsschalter nimmt unter Last Teile vom Netz.

Die Unterscheidung lohnt sich, weil sie die Frage beantwortet, wann der Schalter wieder herauskommt. Beim Release-Schalter ist das in Wochen, beim Berechtigungsschalter gar nicht.

Warum ein Feature Flag ein Ablaufdatum braucht

Weil jeder Schalter den Code verdoppelt. Zwei Pfade heißen zwei Fälle in jedem Test, und bei zwanzig Schaltern weiß niemand mehr, welche Kombination tatsächlich läuft.

Deshalb gehört zu jedem Schalter beim Anlegen eine Notiz, wann er entfernt wird, und nach der Einführung das Aufräumen. Ein Projekt mit alten Schaltern ist schwerer zu ändern als eines ohne.

Siehe auch:

Trunk-Based Development

Ein Modell, in dem alle Arbeit täglich in einen einzigen Hauptzweig läuft.

#Deployment & Versionierung

Deployment

Das Ausrollen eines neuen Stands auf den Server, auf dem die Website läuft.

#Deployment & Versionierung

Release

Die Fassung einer Software, die als fertig erklärt und veröffentlicht wird.

#Deployment & Versionierung

Continuous Deployment (CD)

Das selbsttätige Ausrollen jeder geprüften Änderung bis nach außen.

#Deployment & Versionierung

Rollback

Das Zurückschalten auf den vorherigen Stand, wenn ein Deployment Schaden anrichtet.

#Deployment & Versionierung

Monitoring (Deployment)

Die laufende Beobachtung einer Anwendung anhand von Messwerten, Protokollen und Alarmen.

#Deployment & Versionierung