Skip to main content

Soyons honnêtes—gérer un produit logiciel en pleine croissance peut être une tâche écrasante aussi bien pour les débutants que pour les vétérans. Au fur et à mesure que vous ajoutez de nouvelles fonctionnalités pour soutenir une base d’utilisateurs plus large et croissante, la période où vous ne gériez qu’une poignée d’options n’est plus qu’un lointain souvenir.

La pression monte de la part de vos utilisateurs finaux et de vos parties prenantes internes, alors que vous explorez de nouvelles voies pour apporter de la valeur à vos clients. Sans un certain contrôle, vous pourriez vite être confronté au phénomène de surenchère fonctionnelle.

Ayant occupé divers postes en gestion de produit au cours de ma carrière, j’ai pu constater de première main les avantages des indicateurs de fonctionnalité. Qu’il s’agisse de simplifier les tests A/B, de rendre les lancements de produits plus faciles à gérer ou d’adopter une pratique de livraison continue—les indicateurs de fonctionnalité aident vraiment les chefs de produit à garder le contrôle d’un produit en pleine croissance avec confiance. 

Que sont les indicateurs de fonctionnalité (feature flags) ?

Les indicateurs de fonctionnalité (également appelés commutateurs de fonctionnalité ou bascule de fonctionnalités) servent de gardiens pour certaines fonctions de votre application pendant son exécution—autrement dit, vous pouvez activer ou désactiver l’accès à des fonctionnalités pour les utilisateurs dès que les critères que vous avez définis sont réunis. Ils vous permettent de contrôler l’accès en temps réel, sans déploiement de code nécessaire—imaginez la liberté !

Vous voulez plus de The CPO Club ?

Inscrivez-vous gratuitement pour terminer la lecture de cet article :

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting, you agree to receive our newsletter and occasional emails related to The CPO Club. You can unsubscribe at any time. For details, review our Privacy Policy.

Quels critères évoquons-nous ici ? C’est là que la puissance des indicateurs de fonctionnalité devient plus évidente. Vous pouvez choisir d’accorder ou de bloquer l’accès selon différents critères comme des segments d’utilisateurs spécifiques, l’heure de la journée, la géolocalisation, ou même de proposer un accès aléatoire pour réaliser des expérimentations.  

Les avantages de l’utilisation des indicateurs de fonctionnalité

Fluidifiez vos tests A/B et vos expérimentations

Pour mener des expérimentations qui vous permettront de prendre des décisions produit éclairées, vous devez pouvoir tester différentes approches sur des audiences définies. Vous pouvez utiliser les indicateurs de fonctionnalité pour réaliser ces tests facilement, et vous concentrer sur les indicateurs et expérimentations souhaités plutôt que sur la mécanique du ciblage.

Prenez l’exemple de l’amélioration de l’expérience utilisateur sur un processus clé de votre produit. Au lieu de proposer ces changements à l’ensemble des utilisateurs, vous pouvez cibler des segments précis pour leur proposer cette nouvelle expérience. Vous pourrez ensuite recueillir des retours et des indicateurs auprès du groupe test, puis comparer avec l’ensemble de la base d’utilisateurs avant de décider d’un déploiement global.

Si vous souhaitez tester des changements de mise en page, d’interactions ou de hiérarchie visuelle, le prototypage de conceptions responsives vous aidera à valider vos idées plus rapidement. Découvrez les meilleurs outils de prototypage de design responsive pour créer des parcours testables avant de les activer pour des utilisateurs réels.

Nous avons rassemblé l’essentiel — prompts IA, offres exclusives, et une bibliothèque de ressources pour les responsables produit. Déverrouillez votre compte pour y accéder.

Nous avons rassemblé l’essentiel — prompts IA, offres exclusives, et une bibliothèque de ressources pour les responsables produit. Déverrouillez votre compte pour y accéder.

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting, you agree to receive our newsletter and occasional emails related to The CPO Club. You can unsubscribe at any time. For details, review our Privacy Policy.

Gérez les déploiements et lancements de nouvelles fonctionnalités

L’un des plus grands atouts des indicateurs de fonctionnalité est de maîtriser les lancements produit complexes—ils permettent une approche progressive et par étapes. Plutôt que de ne compter que sur des tests internes, vous pouvez commencer à déployer en production certaines parties d’une nouvelle fonctionnalité afin de vérifier sa compatibilité avec les fonctionnalités et le code existants.

On appelle cela parfois un canary release : vous observez l’impact d’un nouveau code ou d’une nouvelle fonction avant de l’élargir à un public plus important. Les lancements de fonctionnalités sont nettement moins risqués quand vous avez constaté leur bon fonctionnement en situation réelle. Cela constitue une approche plus chirurgicale, proche des pratiques comme l’intégration continue, plutôt que de risquer une indisponibilité pour vos utilisateurs.

Un bon exemple est l’introduction du mode image dans l’image sur l’application YouTube sur iPhone. Plutôt que d’en faire une fonctionnalité par défaut pour tous, YouTube l’a d’abord proposée à un sous-ensemble d’utilisateurs pour permettre aux développeurs de corriger des bugs et d’améliorer l’expérience avant un déploiement plus large.

À lire aussi : 12 stratégies pour un lancement de produit réussi (+Exemples) 

Expérimentez avec les niveaux de tarification

Si vous avez contribué à définir la structure tarifaire de votre produit, vous savez que trouver le bon équilibre entre valeur apportée et prix n’est pas évident. Si l’équilibre n’est pas respecté, vous risquez de sous-facturer et de perdre du chiffre d’affaires—ou, inversement, de dissuader les clients potentiels avec des tarifs trop élevés. 

Les indicateurs de fonctionnalité facilitent la gestion des niveaux de tarification, bien plus que les méthodes manuelles. Puisque les paliers tarifaires correspondent généralement à un certain ensemble de fonctionnalités pour certains segments d’utilisateurs, leur association avec les indicateurs de fonctionnalité est parfaitement cohérente.

Supposons que vous souhaitiez introduire une nouvelle offre pour attirer un segment de marché sous-desservi. Vous pouvez mettre en place un indicateur de fonctionnalité pour proposer ce nouveau tarif à un petit groupe d’utilisateurs, et observer si l’offre est bien accueillie ou non. L’utilisation de ces indicateurs vous apportera davantage de certitude sur la pertinence de vos tarifs, car elle vous fera sortir du champ des suppositions. 

Encourager les meilleures pratiques du cycle de vie du développement logiciel

Les chefs de produit savent que des équipes d’ingénierie épanouies font des clients satisfaits ! Les feature flags mettent moins de pression sur les développeurs pour supporter des déploiements complexes et, plus important encore, simplifient les changements catastrophiques qui font trembler tout développeur d’astreinte le week-end. 

Puisque les feature flags obligent à cloisonner soigneusement le code, il devient bien plus facile de gérer le rollback des déploiements si jamais un problème survient. Cela vous permet, à vous et à vos équipes, d’être plus Agiles en réagissant rapidement aux imprévus. Ils rendent réellement possible la quête de la livraison continue, voire de la livraison progressive—les bénéfices des boucles de retours clients peuvent devenir réalité au fur et à mesure que vous contrôlez l’accès et le déploiement des fonctionnalités (c’est aussi sur ce volet que l’IA en gestion des déploiements peut aider).

Si vous lancez une nouvelle fonctionnalité, un feature flag vous offre un coupe-circuit facile. Par exemple, si vous constatez qu’en dépit de vos meilleurs efforts en matière de test, le déploiement en production d’une nouvelle fonctionnalité produit des résultats inattendus pour vos utilisateurs—vous pouvez immédiatement désactiver l’accès. Ce qui relevait autrefois d’une gestion chaotique des branches de fonctionnalités, des corrections d’urgence et des déploiements en panique, peut désormais être beaucoup mieux maîtrisé grâce aux feature flags.

Comment démarrer avec les feature flags ?

Identifier les dépendances

Tout d’abord, vous devrez vérifier si votre base de code se prête à une introduction simple des feature flags. Les anciens monolithes pleins de « spaghetti code » peuvent rendre la tâche plus difficile au démarrage. Il devient alors compliqué de découpler les fonctionnalités d’autres flux de travail avant de pouvoir véritablement les cloisonner. 

Une discussion approfondie avec vos équipes d’ingénierie et devops sera nécessaire pour commencer. Même si les avantages sont évidents, gardez à l’esprit qu’introduire des feature flags en soi représente un travail qui prendra du temps sur le développement des fonctionnalités actuelles. Cependant, à long terme, cela en vaut la peine, alors il est toujours judicieux d’initier la conversation dès que possible. 

Par où débuter le cloisonnement ?

Il peut être tentant de vouloir tout cloisonner à l’extrême et de multiplier les feature flags à l’infini, mais adopter une approche plus méthodique vous permettra d’avancer tout en maintenant le reste de vos développements en cours. 

Quand on pense fonctionnalités, on imagine souvent les interactions côté client avec l’utilisateur, donc vous pourriez vouloir commencer par là. Si cela peut être un bon point de départ pour le cloisonnement, n’oubliez pas le support existant côté serveur dans votre API. Modifier l’API permet de s’assurer que les changements de code ne cassent pas des comportements attendus côté back-end avant même d’introduire la fonctionnalité aux utilisateurs dans l’interface. 

Déterminer comment contrôler l’accès

Bien que nous ayons évoqué l’activation d’une fonctionnalité pour un groupe d’utilisateurs en particulier, il est aussi possible de s’appuyer sur d’autres critères pour proposer un accès conditionnel. Par exemple, vous pourriez choisir d’activer un feature flag à certains horaires, dans certaines régions géographiques, ou même aléatoirement pour un test rapide ! Déterminer dès le départ les critères que vous souhaitez utiliser aidera votre équipe à mettre en place des feature flags flexibles.

Cartographier les divers critères identifiés vous aidera à choisir ceux avec lesquels commencer. 

Pensez à commencer simplement

Peut-être que votre imagination déborde déjà de scénarios permis par les feature flags (activer telle fonctionnalité pour les usagers premium, sur Chrome, chaussés de bleu un mardi 😅), mais rappelez-vous qu’il vaut mieux débuter par des contrôles simples. 

Le plus simple, c’est d’introduire des fonctionnalités à des segments utilisateurs selon leurs droits existants. Payants contre gratuits, par exemple, est un cas facile. 

Les feature flags plus complexes et multivariés (c’est-à-dire combinant plusieurs critères pour déterminer l’accès) sont à envisager par la suite—poser d’abord les bases vous aidera à y parvenir. 

Outils de gestion des feature flags

À l’origine, les feature flags étaient gérés côté back-end, ce qui nécessitait une forte implication des développeurs pour les activer ou désactiver. Heureusement, des outils ont émergé pour simplifier la gestion des feature flags—permettant de les activer ou désactiver facilement, mais aussi de gérer les différents critères définissant vos segments.

De nombreuses plateformes de gestion de feature flags existent aujourd’hui, par exemple Optimizely, LaunchDarkly, ou un choix open source tel que Flagsmith. Certaines organisations préféreront développer leurs propres outils internes si elles ont des exigences particulières non couvertes par ces plateformes.

Même si leurs fonctionnalités et leurs possibilités diffèrent, ces outils promettent tous une gestion simplifiée des feature flags pour vous offrir davantage de contrôle et de confiance lors de vos déploiements et itérations.

Gérez vos fonctionnalités en toute confiance

Avec les feature flags dans votre boîte à outils, vous serez plus confiant lors de vos lancements, vous libérerez vos équipes de développement d’une partie de la pression et vous trouverez la bonne combinaison de fonctionnalités apportant le plus de valeur à vos clients. 

Dites-nous dans les commentaires comment vous avez utilisé (ou prévoyez d’utiliser) les feature flags dans vos produits !

Retrouvez d’autres outils, conseils et techniques pour faire progresser votre carrière de chef de produit en vous abonnant à la newsletter du CPO Club.

À lire également : 8 meilleures pratiques pour les feature flags à connaître

À découvrir aussi : Les meilleurs logiciels de gestion des exigences produit