SlideShare uma empresa Scribd logo
1 de 8
Feature Toggle
Comment développer une fonctionnalité qui
prend plus d’une itération ?
On développe dans la master et on ne livre que quand c’est fini
wate
rf l
On crée une branche dansalle gestionnaire de sources et on merge
Featu
dans la master quand c’est fini
re br
a
On développe en local et on ne partage le code que lorsque c’est nch
fini
Cowb
o
On découpe tellement latunnel y,
fonctionnalité qu’on peut toujours livrer
effec
t
quelque chose de cohérent à l’utilisateur en fin d’itération
On développe dans la master et on cache la fonctionnalité dans
Perfe
ct !
l’interface
Relea
s
toggl e
e
Feature Toggles
Release Toggle

How can I
relase with
unfinished
feature ?

Business Toggle

How can I
activate a
feature for
some
customers ?
Quand paramétrer un feature toggle ?
C’est le release manager qui merge mes
wate
rfall
branches
Pendant le build : je produis un binaire par
Binai
re plu
combinaison de paramètre
s pet
it
Pendant l’éxécution : au run-time
flexib

ilité
Et les tests ?
Je teste juste le paramétrage qui pars en prod
Je teste le paramétrage de prod et le
paramétrage qui pars en prod
Je teste le paramétrage qui pars en prod et
tous les features toggle à true

Aujou
rd’hu
ia
vous vec vos b
r
teste
z quo anches,
i?
Le cycle de vie d’un feature toggle ?
Mais c’est génial, on va avoir une application GNI !
YA de
plus en plus modulaire !
Je fais disparaître le release toggle dès que la
Dette
fonctionnalité est terminée mais les businessbusiness
features peuvent rester
Je laisse tous les features toggle que j’ai YAGNI !
développé, ça peut toujours servir
Je lutte avec le métier pour minimiser et éliminer
les business togglefecar c’est de la complexité
Per
ct
FRaMeWoRKS FoR THe WiN
• http://ff4j.org/
• http://www.togglz.org
• https://github.com/tacitknowledge/flip
• Ou un « if » injecté avec votre framework
d'IoC !
•

Réf : http://martinfowler.com/bliki/FeatureToggle.html

Mais conteúdo relacionado

Destaque

Exemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMExemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMAgile Tour 2009 Québec
 
Réussir son startup weekend agile
Réussir son startup weekend agileRéussir son startup weekend agile
Réussir son startup weekend agileFlorian Labadens
 
Continuous Delivery chez LesFurets -- Deep dive Dec 2015
Continuous Delivery chez LesFurets -- Deep dive Dec 2015Continuous Delivery chez LesFurets -- Deep dive Dec 2015
Continuous Delivery chez LesFurets -- Deep dive Dec 2015beastiefurets
 
Comment construire sa communauté en partant de zéro : l'exemple Youmiam.
Comment construire sa communauté en partant de zéro : l'exemple Youmiam. Comment construire sa communauté en partant de zéro : l'exemple Youmiam.
Comment construire sa communauté en partant de zéro : l'exemple Youmiam. SocialMixCity
 
Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêtbeastiefurets
 
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015Loïc Knuchel
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?NiceToMeetYou
 
De la pensée projet à la pensée produit
De la pensée projet à la pensée produitDe la pensée projet à la pensée produit
De la pensée projet à la pensée produitOCTO Technology Suisse
 
Formation Accélérer le time to market
Formation Accélérer le time to marketFormation Accélérer le time to market
Formation Accélérer le time to marketGrain Incubation
 
Loci formation d'architecte
Loci formation d'architecteLoci formation d'architecte
Loci formation d'architecteSami Sahli
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement AgileXavier Hausherr
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceAlexandre Jubien
 
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxAgile Montréal
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultJérôme Esnault
 
Valtech - Plateforme Agile
Valtech - Plateforme AgileValtech - Plateforme Agile
Valtech - Plateforme AgileValtech
 
Scrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsScrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsXavier Warzee
 
Rock The Product Map
Rock The Product MapRock The Product Map
Rock The Product MapBluewaves
 
Outils et pratiques agiles pour la définition de produit
Outils et pratiques agiles pour la définition de produitOutils et pratiques agiles pour la définition de produit
Outils et pratiques agiles pour la définition de produitErnst Perpignand
 
Proxu Product Owner - Enrichit ou dénature Scrum
Proxu Product Owner - Enrichit ou dénature ScrumProxu Product Owner - Enrichit ou dénature Scrum
Proxu Product Owner - Enrichit ou dénature ScrumFrench Scrum User Group
 

Destaque (20)

Exemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUMExemples et solutions : Difficultés de l’implémentation de SCRUM
Exemples et solutions : Difficultés de l’implémentation de SCRUM
 
Réussir son startup weekend agile
Réussir son startup weekend agileRéussir son startup weekend agile
Réussir son startup weekend agile
 
Continuous Delivery chez LesFurets -- Deep dive Dec 2015
Continuous Delivery chez LesFurets -- Deep dive Dec 2015Continuous Delivery chez LesFurets -- Deep dive Dec 2015
Continuous Delivery chez LesFurets -- Deep dive Dec 2015
 
Comment construire sa communauté en partant de zéro : l'exemple Youmiam.
Comment construire sa communauté en partant de zéro : l'exemple Youmiam. Comment construire sa communauté en partant de zéro : l'exemple Youmiam.
Comment construire sa communauté en partant de zéro : l'exemple Youmiam.
 
Devoxx france 2015 livrer chaque jour ce qui est prêt
Devoxx france 2015   livrer chaque jour ce qui est prêtDevoxx france 2015   livrer chaque jour ce qui est prêt
Devoxx france 2015 livrer chaque jour ce qui est prêt
 
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015
Ionic, ce n'est pas que de l'UI, meetup PhoneGap le 25-05-2015
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
 
De la pensée projet à la pensée produit
De la pensée projet à la pensée produitDe la pensée projet à la pensée produit
De la pensée projet à la pensée produit
 
Formation Accélérer le time to market
Formation Accélérer le time to marketFormation Accélérer le time to market
Formation Accélérer le time to market
 
Loci formation d'architecte
Loci formation d'architecteLoci formation d'architecte
Loci formation d'architecte
 
Git Flow: un processus de développement Agile
Git Flow: un processus de développement AgileGit Flow: un processus de développement Agile
Git Flow: un processus de développement Agile
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork Axance
 
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
 
Yope
YopeYope
Yope
 
DevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnaultDevExp 2012 methodes agiles SCRUM jesnault
DevExp 2012 methodes agiles SCRUM jesnault
 
Valtech - Plateforme Agile
Valtech - Plateforme AgileValtech - Plateforme Agile
Valtech - Plateforme Agile
 
Scrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisationsScrum au-delà du projet, pour des produits et des organisations
Scrum au-delà du projet, pour des produits et des organisations
 
Rock The Product Map
Rock The Product MapRock The Product Map
Rock The Product Map
 
Outils et pratiques agiles pour la définition de produit
Outils et pratiques agiles pour la définition de produitOutils et pratiques agiles pour la définition de produit
Outils et pratiques agiles pour la définition de produit
 
Proxu Product Owner - Enrichit ou dénature Scrum
Proxu Product Owner - Enrichit ou dénature ScrumProxu Product Owner - Enrichit ou dénature Scrum
Proxu Product Owner - Enrichit ou dénature Scrum
 

Semelhante a Avez-vous compris ce que sont les Features toggles ?

20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxThomasParaiso1
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven developmentSébastien Corbin
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Jonathan Martin
 
Retour d'experience GIT, Integration continue
Retour d'experience GIT, Integration continueRetour d'experience GIT, Integration continue
Retour d'experience GIT, Integration continueMoïse Fiscal
 
Améliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flippingAméliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flippingDorra BARTAGUIZ
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Ippon
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéeNicolas Silberman
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Github workflow
Github workflowGithub workflow
Github workflowJim Laurie
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Industrialisation bar camp2010
Industrialisation bar camp2010Industrialisation bar camp2010
Industrialisation bar camp2010Lushkah911
 
On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017Artusamak
 
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...Microsoft Décideurs IT
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalAdyax
 

Semelhante a Avez-vous compris ce que sont les Features toggles ? (20)

Xhprof
XhprofXhprof
Xhprof
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven development
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
 
Retour d'experience GIT, Integration continue
Retour d'experience GIT, Integration continueRetour d'experience GIT, Integration continue
Retour d'experience GIT, Integration continue
 
Améliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flippingAméliorer l'implémentation du feature flipping
Améliorer l'implémentation du feature flipping
 
Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014Formation html5 CSS3 offerte par ippon 2014
Formation html5 CSS3 offerte par ippon 2014
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiée
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Github workflow
Github workflowGithub workflow
Github workflow
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Industrialisation bar camp2010
Industrialisation bar camp2010Industrialisation bar camp2010
Industrialisation bar camp2010
 
On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
 
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...
Quoi de neuf en Web Content Management dans SharePoint 2013 pour vos sites In...
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 

Mais de Eric Le Merdy

Lumiere tdd agilefrance2013
Lumiere tdd agilefrance2013Lumiere tdd agilefrance2013
Lumiere tdd agilefrance2013Eric Le Merdy
 
Lean Software Development et pratiques Agiles
Lean Software Development et pratiques AgilesLean Software Development et pratiques Agiles
Lean Software Development et pratiques AgilesEric Le Merdy
 
Tests Dinterface SWT
Tests Dinterface SWTTests Dinterface SWT
Tests Dinterface SWTEric Le Merdy
 

Mais de Eric Le Merdy (6)

Lumiere tdd agilefrance2013
Lumiere tdd agilefrance2013Lumiere tdd agilefrance2013
Lumiere tdd agilefrance2013
 
Buildix
BuildixBuildix
Buildix
 
Lean Software Development et pratiques Agiles
Lean Software Development et pratiques AgilesLean Software Development et pratiques Agiles
Lean Software Development et pratiques Agiles
 
Tests Dinterface SWT
Tests Dinterface SWTTests Dinterface SWT
Tests Dinterface SWT
 
Le graphisme
Le graphismeLe graphisme
Le graphisme
 
JavaCamp Paris 3
JavaCamp Paris 3JavaCamp Paris 3
JavaCamp Paris 3
 

Avez-vous compris ce que sont les Features toggles ?

  • 2. Comment développer une fonctionnalité qui prend plus d’une itération ? On développe dans la master et on ne livre que quand c’est fini wate rf l On crée une branche dansalle gestionnaire de sources et on merge Featu dans la master quand c’est fini re br a On développe en local et on ne partage le code que lorsque c’est nch fini Cowb o On découpe tellement latunnel y, fonctionnalité qu’on peut toujours livrer effec t quelque chose de cohérent à l’utilisateur en fin d’itération On développe dans la master et on cache la fonctionnalité dans Perfe ct ! l’interface Relea s toggl e e
  • 3.
  • 4. Feature Toggles Release Toggle How can I relase with unfinished feature ? Business Toggle How can I activate a feature for some customers ?
  • 5. Quand paramétrer un feature toggle ? C’est le release manager qui merge mes wate rfall branches Pendant le build : je produis un binaire par Binai re plu combinaison de paramètre s pet it Pendant l’éxécution : au run-time flexib ilité
  • 6. Et les tests ? Je teste juste le paramétrage qui pars en prod Je teste le paramétrage de prod et le paramétrage qui pars en prod Je teste le paramétrage qui pars en prod et tous les features toggle à true Aujou rd’hu ia vous vec vos b r teste z quo anches, i?
  • 7. Le cycle de vie d’un feature toggle ? Mais c’est génial, on va avoir une application GNI ! YA de plus en plus modulaire ! Je fais disparaître le release toggle dès que la Dette fonctionnalité est terminée mais les businessbusiness features peuvent rester Je laisse tous les features toggle que j’ai YAGNI ! développé, ça peut toujours servir Je lutte avec le métier pour minimiser et éliminer les business togglefecar c’est de la complexité Per ct
  • 8. FRaMeWoRKS FoR THe WiN • http://ff4j.org/ • http://www.togglz.org • https://github.com/tacitknowledge/flip • Ou un « if » injecté avec votre framework d'IoC ! • Réf : http://martinfowler.com/bliki/FeatureToggle.html

Notas do Editor

  1. Merge vs Feature Toggle