Feature Flag : La botte secrète d’un PO smart

Feature toggle

Le feature flag ou feature toggle (c’est pareil) est une méthode qui permet d’isoler un bout de code déployé en production afin d’avoir le contrôle dessus à tout moment.

Je vous débrief rapidement le sujet et je vous explique pourquoi c’est une arme que tout bon PO doit avoir dans son arsenal.

Feature Flag : c’est quoi ?

Dans le quotidien d’un Product Owner, tout ce qui “Done” doit être déployé en production. 

  • Nouvelle fonctionnalité
  • Résolution d’un bug
  • Optimisations
  • Peu importe… 


L’idée c’est de livrer un max pour apporter rapidement de la valeur à l’utilisateur.

Cependant, livrer une fonctionnalité en production ça ne veut pas dire la rendre accessible pour tous.
Parfois, on ne veut pas montrer la fonctionnalité à l’utilisateur tout de suite (j’en parle plus bas).

Parfois, c’est l’inverse on livre la fonctionnalité mais il y a un truc qui ne se passe pas bien et on doit rollback de toute urgence.

Dans ces 2 cas, si on veut activer ou désactiver une fonctionnalité en production, il faut redévelopper et redéployer.

Même si votre team a une vélocité de Rockstar, le développement et le déploiement ça prend du temps.

Vous l’avez compris, c’est là que la méthode du Feature Flag intervient.

En gros, Le feature flag c’est comme installer un interrupteur ON / OFF (toggle) sur un bout de code afin de pouvoir l’activer ou le désactiver en temps réel directement en production.

MAGIQUE !!!!

Pour l’explication technique (vous demanderez à vos développeurs)

Pourquoi utiliser le Feature flag ?

Pour faire un A/B test : 

C’est loin d’être le seul moyen de réaliser un test A/B mais quand vous maîtrisez déjà la méthode de Feature Flag dans votre équipe, ça peut être un moyen rapide d’implémenter un A/B.

Le plus simple est de choisir une variable unique à chaque utilisateur enregistré dans votre base de données.

Par exemple, prenez le dernier chiffre des numéros de série de chaque utilisateur.

Normalement, si vous ne faites pas de l’aléatoire, tous les numéros de série devraient se terminer par 0,1, 2, 3, 4, 5, 6, 7, 8, 9
Cela vous fait 10 groupes.

Ainsi, si vous voulez tester une nouvelle fonctionnalité en prod sur 20% de votre base, choisissez tous les utilisateurs dont le numéro de série se termine par 0 et 1 par exemple, et activer le feature flag sur ON.
Pour les autres, paramétrez sur OFF.

Quand vous atteignez une signification statistique, augmentez votre échantillon à 30 ou 40% si votre test est positif ou remettez la Feature en OFF pour tout le monde si le résultat est négatif.

Rapide, simple… et surtout pas besoin d’organiser une task force à l’arrache si les choses tournent mal. En 1 action vous prenez le contrôle.

Pour faire du damage control 

L’autre bienfait immédiat du Feature flag c’est d’isoler les problèmes en production.

Vous connaissez déjà tous l’histoire.

  • Votre feature est dev, la revue de code est approuvée.
  • L’équipe de test à fait la recette est tout s’est bien passé
  • Le déploiement en pre-prod est nickel
  • Vous déployez en Prod et là BAM… tout part en vrille.
Damage control

Si vous avez Feature Flaggé votre fonctionnalité (terme non référencé dans le dictionnaire), Hop, d’un coup de baguette magique, vous limitez les dégâts et évitez le drame.

Vous vous donnez le temps de corriger le problème proprement et de déployer plus tard un hotfix.

En conclusion

Un peu comme le tracking, j’ai l’habitude d’implémenter un feature flag pour toutes les nouvelles fonctionnalités que je mets en prod.

Certes, ça demande un peu plus de temps de développement mais ça permet de jouer safe surtout quand les enjeux et risques business et produits sont grands.

Si vous n’utilisez pas encore le feature Flag, je vous conseille d’en parler à votre lead technique et de voir comment vous pouvez l’implémenter dans votre process.

Outre les quelques exemples que je vous ai donné, il y a encore plein d’autres bienfaits du feature flag que je vous laisse découvrir dans la pratique.

One Reply to “Feature Flag : La botte secrète d’un PO smart”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.