Des super pouvoirs à la portée de tou(te)s avec le Feature Flipping

15
50 AVENUE DES CHAMPS-ÉLYSÉES 75008 PARIS > FRANCE > WWW.OCTO.COM Des super-pouvoirs à la portée de tou(te)s avec le Feature Flipping Meetup Human Talks Paris - Janvier 2017

Transcript of Des super pouvoirs à la portée de tou(te)s avec le Feature Flipping

50 AVENUE DES CHAMPS-ÉLYSÉES 75008 PARIS > FRANCE > WWW.OCTO.COM

Notice

Couverture

TextePolices : - Titre : Arial – 18pts- Sous-titre : Arial – 18pts

Des super-pouvoirs à la portée de tou(te)s avec le Feature FlippingMeetup Human Talks Paris - Janvier 2017

2OCTO TECHNOLOGY > THERE IS A BETTER WAY OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

☉ Activer / désactiver une fonctionnalité sans re-livrer du code

☉ On parle aussi de Feature Toggle, Feature Tags…

☉ Le concept est très simple dans le code :

Qu’est-ce-que c’est ?

if featureFlipping.isEnabled('feature-name')# do something new

else# do same as before

end

☉ On peut complexifier l’implémentation si besoin (ex. : activation en fonction de la date, de l’utilisateur…)

3OCTO TECHNOLOGY > THERE IS A BETTER WAYOCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

À quoi ça sert ?

☉ Déploiement continu

☉ Ne pas laisser trainer une branche trop longtemps

☉ Tests A/B

☉ Activer un comportement à un moment donné / pour une période donnée

☉ Activer une fonctionnalité pour certains utilisateurs (ex. : features premium)

☉ Graceful degradation

4OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Quelques exemples

5OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Tests A/B sur un jeu vidéo

On teste la mécanique

d’énergie sur certains joueurs

6OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Des features en fonction des flags

7OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

En fonction des flags… et des périodes

8OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Les décorations de Noël, en toute sérénité

Du 01/12 au 15/01

Sans re-livrer le code

9OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Les décorations, en toute sérénité

10OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Livrer régulièrement une grosse fonctionnalité en cours

11OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Ça complique le code ! Ça va pas être le chaos ?!

12OCTO TECHNOLOGY > THERE IS A BETTER WAY OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

“On a une centaine de features flippées ! Mais on n’en retire pas parce-qu’on a peur de casser quelque chose…”

On peut en perdre le contrôle

C’est de la dette technique> Doit être tactique, pas endémique

13OCTO TECHNOLOGY > THERE IS A BETTER WAYOCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Comment on s’en sort (bien) ?

☉ On teste le flipping. On a des tests pour les 2 scénarios (activé et désactivé)

☉ Livrer une feature flippée ≠ fin du processus> Planifier le retrait du flipping> Il faut le rendre visible (dette technique)

☉ “Oui mais, si ça change mon modèle de données ?”> Il faut anticiper> Techniques de zero downtime deployment

☉ Commencer simple. Compliquer au besoin.

14OCTO TECHNOLOGY > THERE IS A BETTER WAYOCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Quelques liens

☉ Feature Toggles par Martin Fowler (EN)

☉ Les Patterns des Grands du Web – Feature Flipping

☉ Les Patterns des Géants du Web – Zero Downtime Deployment

☉ Exemple de FF avec Angular 2 + AngularFire 2

15OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

VisuelPour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuelPour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

ContenuLors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

À vous de jouer