Feature Flags als Engineering-Infrastruktur
· 7 Min. Lesezeit
Flags sind keine temporären Hacks. Sie sind, wie moderne Teams Deploy von Release trennen.
Deploy sollte langweilig sein
Code in Produktion zu shippen und ein Feature Nutzern zu exponieren sind unterschiedliche Entscheidungen. Feature Flags lassen Teams kontinuierlich mergen und zugleich den Blast Radius steuern. Kombiniert mit Observability werden Releases zu reversiblen Experimenten statt binären Events.
Das funktioniert nur, wenn Flags als Infrastruktur behandelt werden: klar benannt, von einem Team owned, sicher defaulted und nach Zeitplan entfernbar.
Für Operabilität gestalten
Jeder Flag braucht einen Default für den Fall, dass der Management Service nicht verfügbar ist. Kritische Pfade sollten intentional fail-closed oder fail-open — nie zufällig. Targeting Rules müssen testbar und auditierbar sein, besonders für Enterprise-Kunden und regulierte Workflows.
Vermeiden Sie, unzusammenhängendes Verhalten in einen Flag zu wrappen. Grobe Flags erzeugen verworrenes Cleanup. Feine Flags erzeugen kombinatorische Testkosten. Gruppieren Sie nach nutzer-sichtbarer Capability.
- Protokollieren Sie, wer einen Flag geändert hat und warum
- Setzen Sie Removal Dates, wenn Flags erstellt werden
- Halten Sie Flag Evaluation möglichst aus Tight Loops heraus
- Testen Sie sowohl enabled als auch disabled Paths
Experimente brauchen Hygiene
Wenn Flags Experimente speisen, definieren Sie Hypothese, Primary Metric und End Criteria vor dem Launch. Lassen Sie halbfertige Experimente nicht endlos laufen; sie verschmutzen Analytics und erhöhen Cognitive Load.
Segmentieren Sie sorgfältig. Überlappende Experimente auf derselben Journey können Schlussfolgerungen invalidieren und verwirrende User Experiences erzeugen.
Cleanup ist Teil der Delivery
Ein Flag, der lange nach dem vollständigen Feature-Release überlebt, wird tote Configuration und verstecktes Branching. Planen Sie Cleanup-Arbeit mit derselben Ernsthaftigkeit wie den Launch. Löschen Sie ungenutzte Paths, damit die Codebase Reality widerspiegelt.
Reife Teams gewinnen mit Flags nicht, weil sie mehr Toggles haben, sondern weil sie sicher releasen und das System danach einfacher hinterlassen können.
Veröffentlicht am 14. Februar 2025 von Berktug Berke Ates.