Ein neues Feature ist fertig, aber der Product Owner möchte einen Rollout für nur 10% der Nutzer. Ohne Feature Flags bedeutet das einen Branch, Merge-Hölle und zwei Deployment-Pipelines. Mit Feature Flags ist es ein if im Code und eine Config-Änderung.
Was sind Feature Flags¶
Eine Bedingung im Code, die ein Feature aktiviert oder deaktiviert. Der Toggle wird extern verwaltet — Config-Datei, Datenbank oder dedizierter Service. Code geht in Produktion, aber das Feature ist „aus”, bis Sie es einschalten.
if (featureFlags.isEnabled("new-dashboard", currentUser)) {
return renderNewDashboard();
} else {
return renderOldDashboard();
}
Use Cases¶
- Canary Release: Für 5% der Nutzer aktivieren, Metriken beobachten
- A/B-Testing: Variante A vs. B, Conversion messen
- Kill Switch: Sofortige Abschaltung eines problematischen Features
- Trunk-based Development: Alle arbeiten auf main, WIP hinter einem Flag versteckt
Technische Schulden verwalten¶
Feature Flags sind technische Schulden. Wenn ein Feature stabil für alle aktiviert ist, entfernen Sie den Flag und den alten Code. Sonst enden Sie mit hunderten toter Bedingungen. Regel: Ein Flag älter als 30 Tage = ein Ticket zur Entfernung.
Feature Flags verändern die Deployment-Kultur¶
Deploy ≠ Release. Code geht kontinuierlich in Produktion, Features werden kontrolliert aktiviert. Weniger Stress, mehr Kontrolle, schnellere Iteration.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns