Aller au contenu principal
Image violette montrant les feature flags et le feature management

5 bonnes pratiques pour utiliser les feature flags

16 juin 2023

Les feature flags sont un excellent outil pour booster les performances des équipes techniques et produit. Ils permettent aux Product Managers de mieux maîtriser les releases et facilitent le déploiement et le test de nouvelles fonctionnalités.

Voici 5 bonnes pratiques à suivre pour optimiser votre utilisation du feature flagging et réduire les risques d’erreurs ou de complications lors de vos lancements produits.

À quoi servent les feature flags ?

Un feature flag (encore appelés « feature toggle », « feature switch » ou « feature flagging ») permet l'exécution conditionnelle du code d'un site ou d'une application pour activer ou désactiver une fonctionnalité.

Les feature flags sont des outils de gestion des fonctionnalités qui permettent aux équipes de développeurs et produit de tester et de déployer des fonctionnalités en toute sérénité.

Les feature flags permettent de :

  • activer ou désactiver facilement des fonctionnalités ;
  • lancer progressivement des fonctionnalités ;
  • déployer une variante d’une fonctionnalité pour un segment d’utilisateurs spécifiques ;
  • gagner en maîtrise et en précision lors des tests sur de nouvelles fonctionnalités ;
  • réaliser des tests quantitatifs sur vos features.

 

Pour en savoir plus, parcourez notre guide complet sur les feature flags.

New call-to-action

 

5 bonnes pratiques pour utiliser les feature flags

1. DÉTERMINEZ LE TYPE DE FEATURE FLAGS QUE VOUS SOUHAITEZ CRÉER

La manière dont vous gérez vos feature flags dépend de la manière dont vous les utilisez. Commencez donc par déterminer quel type de feature flags vous souhaitez créer :

  • des feature flags “à court terme” : créés pour un but précis et temporaire, comme ceux utilisés pour déployer progressivement une fonctionnalité dans l’optique de procéder à un lancement.
  • les feature flags “permanents” : créés pour un objectif à plus long terme, comme le « kill switch ».
  • les feature flags “feature experimentation” : créés pour l’expérimentation autour d’une fonctionnalité.

 

Selon le(s) type(s) de feature flags que créerez, réfléchissez à la manière dont ils s’intègrent à votre roadmap. Certains tags nécessitent un suivi plus rapproché que d’autres : les tags obsolètes doivent être supprimés dès qu’ils ne sont plus utilisés, car ils risquent de compliquer la lecture du code et d’engendrer des erreurs.

2. UNIFORMISEZ LE PROCESSUS DE CRÉATION

Créez tous vos feature flags de la même manière. Déterminez une nomenclature indiquant précisément la fonction et l’objectif du tag et mettez en place un processus de suppression des feature flags obsolètes pour éviter les confusions.


Filtrez les personnes habilitées à créer et à modifier les balises pour éviter les feature flags non-conformes.

QU’EST-CE QU’UNE NOMENCLATURE EFFICACE ?

Une bonne nomenclature doit vous permettre de comprendre en un coup d’œil ce que contrôle ce feature flag et son lien avec le système. Voici trois conseils pour construire une nomenclature qui suscitera une forte adhésion :

1. Soyez clair et précis : choisissez un nom qui indique exactement ce que le feature flag contrôle. Évitez les noms vagues ou ambigus qui peuvent prêter à confusion.

2. Maintenez une cohérente : uniformisez la nomenclature, veillez à ce qu’elle soit exploitable et adoptée par l’ensemble des équipes.

3. Documentez votre nomenclature : créez un document interne relatif aux règles de votre nomenclature, cela permettra de créer une référence pour tous et facilitera l’intégration de nouveaux membres dans l’équipe.

3. TENEZ COMPTE DU CHAMP D’APPLICATION DE VOS FEATURE FLAGS

Planifiez l’utilisation des feature flags dès le début de la conception d’une fonctionnalité. Déterminez exactement la partie du code contrôlée par le feature flag et prenez soin de réduire son champ d’application au maximum afin qu’il ne déclenche qu’une seule action précise. Vous limiterez ainsi les risques de causer accidentellement une interaction imprévue entre vos différents feature flags et/ou votre produit.

4. NETTOYEZ RÉGULIÈREMENT VOTRE CODE

Cette étape, souvent négligée, est pourtant indispensable. Une fois par mois, passez en revue vos feature flags et supprimez le code obsolète ou inutilisé.

Sans une gestion rigoureuse, vous risquez d’augmenter rapidement votre dette technique ce qui pourrait accroître les coûts de maintenance, affecter les performances de votre système et générer davantage de bugs. En outre, les feature flags obsolètes et non archivés risquent d’entrer en conflit avec les nouveaux, créés a posteriori par les équipes, et de causer donc des problèmes supplémentaires.

5. ASSUREZ-VOUS QUE VOS FEATURE FLAGS SOIENT COMPATIBLES AVEC LES ANCIENNES VERSIONS DE VOTRE PRODUIT

Vos feature flags doivent être compatibles avec les précédentes versions de votre produit afin que vous puissiez restaurer facilement une ancienne version de votre produit en cas de besoin :

  • Si vos utilisateurs ne bénéficient pas de la dernière mise à jour, votre produit pourra continuer à fonctionner comme prévu, sans que leur expérience ne soit dégradée. 
  • Si vos développeurs identifient un problème dans le développement d’une fonctionnalité, ils pourront restaurer plus facilement une ancienne version sans que cela n’affecte la qualité de l’expérience des utilisateurs.
 

En adoptant ces bonnes pratiques, vous devriez pouvoir tirer le meilleur parti des feature flags et réduire le risque d’erreurs tout en améliorant la qualité de votre produit. 

Plus vous adopterez des modèles et une nomenclature précis et adaptés, plus l’utilisation des feature flags se généralisera dans votre organisation et plus vous tirerez de bénéfices de cette pratique. Vous pourrez ainsi mieux contrôler vos déploiements, itérer en continu et éviter les écueils induits par le lancement de nouvelles fonctionnalités.


Envie d’aller plus loin ? Consultez notre guide sur le feature flagging.

Thèmes traités dans cet article