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