SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Feature Flags
Produktkonguration ohne Branching




Alex Bepple
it-agile-Konferenz München, 8. Juli 2011
Minimal Marketable Feature



Feature A ausliefern,
Feature B (noch) nicht
Wartungsrelease

Bugs beheben,
während das nächste
Release entwickelt wird


Wie viele Versionen
warten Sie?
Kundenwünsche


Kunde 1:
Features A & B
Kunde 2:
Features B & C
Branching
Konguration im VCS
Wartungsbranches
Feature-Branches
Kombinatorische
Explosion
Mördsch-Hölle


Strukturelle Konikte


Semantische Konikte
Integrationsrisiken

✦   Wie stellt man sicher,
    dass sich alle benötigten
    Kombinationen integrieren lassen?
✦   Gar nicht mehr!
✦   Integration aus Feature-Branches erst sehr spät.
✦   Continuous Building ≠ Continuous Integration
Schneller zum
Big Ball of Mud


 Branches erschweren
 Refactoring
Ein Branch
Weichen …

Feature bits
Latent code patterns
Feature toggles
Gatekeeper
Weicheschalter (!)
if
(schalter)
 fuehre_tolle_neue_berechnung_durch
end
… und Stellvorrichtungen


Feature Flippers


Runtime vs Buildtime
Beispiel Flickr
Alternativen zum If


✦   Im UI verbergen
✦   Dependency Injection
✦   GoF-Patterns
    ✦   Command, Strategy, Chain of Responsibility
Nicht vergessen:
nachträglich ausbauen
Wer macht’s?
Und in auslieferbaren
Produkten?


 Jede Einstellung ist
 eine Weichen-
 Stellvorrichtung.
Weiche zu mir

✦   Produkt exibel kongurieren,
    aber Continuous Integration erhalten


✦   Continuous Deployment
✦   A/B-Testen
✦   Feature bei Problemen schnell wieder abschalten
Frohes Schalten!
Zum Nachlesen


http://martinfowler.com/bliki/FeatureToggle.html
http://code.ickr.com/blog/2009/12/02/ipping-out/

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (8)

React Redux React Native
React Redux React NativeReact Redux React Native
React Redux React Native
 
Building React Applications with Redux
Building React Applications with ReduxBuilding React Applications with Redux
Building React Applications with Redux
 
Entwickeln ist gut, Releasen ist besser
Entwickeln ist gut, Releasen ist besserEntwickeln ist gut, Releasen ist besser
Entwickeln ist gut, Releasen ist besser
 
The Road To Redux
The Road To ReduxThe Road To Redux
The Road To Redux
 
Redux Universal
Redux UniversalRedux Universal
Redux Universal
 
Using redux
Using reduxUsing redux
Using redux
 
How to Redux
How to ReduxHow to Redux
How to Redux
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 

Ähnlich wie Feature flags

Ähnlich wie Feature flags (9)

DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
 
PHP vs Architektur ATAM Gruppenarbeit
PHP vs Architektur ATAM GruppenarbeitPHP vs Architektur ATAM Gruppenarbeit
PHP vs Architektur ATAM Gruppenarbeit
 
Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018
 
Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden
Langlebige Softwarearchitekturen - Der Umgang mit technischen SchuldenLanglebige Softwarearchitekturen - Der Umgang mit technischen Schulden
Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden
 
Einführung in das Alvine Handelsframwork
Einführung in das Alvine HandelsframworkEinführung in das Alvine Handelsframwork
Einführung in das Alvine Handelsframwork
 
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickTaugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 

Feature flags

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n