• IT-Karriere:
  • Services:

Tod durch Feature Flags

Vielleicht fragen Sie sich an dieser Stelle, warum Feature Flags nicht trotzdem verwendet werden sollten, Stichwort: Defense-in-Depth-Ansatz. Außerdem schadet es doch nie, etwas mehr Flexibilität im Detail zu haben, oder?

Stellenmarkt
  1. WHEELS Logistics GmbH & Co. KG, Münster
  2. Schwarz Produktion GmbH & Co. KG, Weißenfels, Raum Halle/Leipzig

Dazu muss man wissen: Feature Flags sind zwar für einige Anwendungsfälle sehr gut geeignet, sie haben jedoch ihren Preis. Softwareentwicklung ist in erster Linie eine Übung im Umgang mit Komplexität und jedes Feature Flag verdoppelt sofort die Zahl der Sonderfälle, die Programmierer verstehen müssen und mit denen der Code umgehen muss: "Aber was würde passieren, wenn Foo aktiviert und Bar deaktiviert ist, und wir am selben Tag unabhängige A/B-Tests mit Baz und Kaz durchführen?"

Nach meiner Erfahrung kann und wird dieser sprunghafte Anstieg der Komplexität zu Fehlern führen. Ganz zu schweigen von der Verlangsamung, mit der Ihr Team Änderungen vornehmen kann.

Um kurz eine amüsante Anekdote aus dem Internet zu zitieren: "Ein Flag, das seit einem Jahr nicht mehr auf 'aus' gesetzt wurde, kann große Fehlentwicklungen verbergen. Bei meinem letzten Job hatten wir zwei große Ausfälle in ebenso vielen Jahren, als Flags plötzlich auf 'aus' gesetzt wurden, weil das Feature-Flag-System den Status der Flags nicht mehr zurückgeben konnte."

Golem Akademie
  1. Python kompakt - Einführung für Softwareentwickler
    19./20. April 2021, online
  2. Advanced Python - Fortgeschrittene Programmierthemen
    3./4. Mai 2021, online
Weitere IT-Trainings

"Aber Feature Flags sind doch nur temporär. Sie sollten so schnell wie möglich entfernt werden!"

Klar. Aber wir sollten auch verhindern, dass sich unsere technischen Schulden anhäufen und wir sollten jedes einzelne Best Practice strikt befolgen. Leider passiert das in keiner Firma. Sogar in sehr guten Teams wird die Frage nach den technischen Schulden zugunsten neuer Anforderungen oft zurückgedrängt. Neuankömmlinge im Team oder ausscheidende Mitarbeiter sind nicht immer diszipliniert genug, um nach einem erfolgreichen Rollout ihre Flags zu entfernen - und manchmal wird so etwas einfach übersehen und vergessen.

Bei Hackernews hat jemand darauf hingewiesen, dass die Release-Version von Windows (Stand: September 2020) "ungefähr 2.500 Feature Flags hat. Einige sind permanent in der On-Position festgeklemmt, einige in der Off-Position, und der Rest kann durch seine experimentation frameworks und durch Hacker konfiguriert werden".

Nichts verdeutlicht das besser als das Debakel mit KCG, als die Finanzfirma innerhalb von 30 Minuten eine halbe Milliarde Dollar verlor und fast bankrott ging - teilweise aufgrund von Dead Code, der sich hinter einem Feature Flag befand.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

"Die Ursache für den Ausfall war auf mehrere Faktoren zurückzuführen. Einer der wichtigsten war jedoch, dass ein Flag, das zuvor für die Aktivierung von Power Peg verwendet wurde, für die Verwendung in einer neuen Funktionalität umgewidmet wurde. (...) Power Peg war seit 2003 nicht mehr in Benutzung, befand sich aber rund acht Jahre später immer noch in der Codebasis.

Im Jahr 2005 wurde eine Änderung am Power-Peg-Code vorgenommen, die versehentlich Sicherheitsprüfungen deaktivierte, die ein solches Szenario verhindert hätten. Dieses Update wurde damals jedoch auf einem Produktivsystem eingesetzt, obwohl die Power-Peg-Funktionalität nicht überprüft worden war."

Feature Flags sind ein mächtiges Werkzeug, das helfen kann, mit neuen Funktionen zu experimentieren, den Rollout komplexer Projekte zu verwalten und Probleme zu vermeiden, die entstehen, wenn die Deployments des eigenen Teams nicht kontrolliert werden können.

Aber sie haben ihren Preis: höhere Code-Komplexität, technische Schulden, eine langsamere Entwicklungsgeschwindigkeit und unweigerlich auch Bugs.

So toll das wäre, aber es gibt hier kein Patentrezept. Wägen Sie die Vor- und Nachteile ab und setzen Sie dieses Werkzeug mit Bedacht ein, wenn es sinnvoll ist.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Feature Flags ersetzen keine gründlichen Tests
  1.  
  2. 1
  3. 2
  4. 3


Anzeige
Hardware-Angebote

CalebR 08. Apr 2021 / Themenstart

Sehr gerne :-) Geht mir auch nicht anders ^^ Ja und nein. Ich würde den Status als...

CalebR 05. Apr 2021 / Themenstart

Allgemein finde ich zu dem Thema Feature Toggles den Beitrag von Martin Fowler (https...

tomate.salat.inc 05. Apr 2021 / Themenstart

Nun ja - kommt immer drauf an mit was du arbeitest. Bin jetzt experte was NPM-Projekte...

TurbinenBewunderer 05. Apr 2021 / Themenstart

Ich bin seit ca 6 Jahren "ausstudiert". Ich hatte Konzepte wie "Trunk based development...

ernstl 04. Apr 2021 / Themenstart

Hey, wie ist die Aussicht da oben im Elfenbeinturm? Hier unten, wo neben der Qualität...

Kommentieren


Folgen Sie uns
       


Automatische Untertitel in Premiere Pro Beta - Tutorial

Wir zeigen, wie sich Untertitel per KI-Spracherkennung erzeugen lassen.

Automatische Untertitel in Premiere Pro Beta - Tutorial Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /