Aller au contenu principal
Progressive delivery : lancez des produits plus performants, plus rapidement

Progressive delivery : lancez des produits plus performants, plus rapidement

7 juillet 2023
Temps de lecture : 
8 min

Les roadmaps produit sont constamment alimentées par de nouvelles features visant à fluidifier l’expérience de leurs utilisateurs. De la manière dont sont triés les articles sur une page liste, à l'amélioration d’un algorithme de recherche, les équipes Produit doivent innover sans cesse pour optimiser leur produit. 

Mais comment s’assurer de la pertinence de ces évolutions produit ? Comment délivrer de nouvelles features plus rapidement sans altérer l’expérience de ses visiteurs ?

1 Qu’est-ce que la progressive delivery ?

La Progressive delivery ou livraison progressive est un processus de développement et de release dans lequel une nouvelle fonctionnalité est rendue disponible pour un petit segment d'utilisateurs pour être testée avant d’être lancée à tous les utilisateurs finaux.

Cette approche itérative consiste à déployer suivant une méthodologie proche de l'intégration continue, la livraison continue et le déploiement continu (CI/CD), en y ajoutant le feature flagging pour contrôler le déploiement de la fonctionnalité (“Qui y a accès ?” et “Quand ?”).

2 Comment intégrer Progressive delivery aux diverses méthodes de développement ?

Pour comprendre la Progressive delivery, il est important de connaître les différents frameworks mis en place au sein des équipes de développement pour organiser la livraison de fonctionnalités. 

  • La méthode Waterfall : Méthode de gestion de projet traditionnelle caractérisée par de longues périodes de build et de tests suivies d'un déploiement. Une seule version peut monopoliser une équipe de développement pendant plusieurs mois. Cette méthode ne permet pas de s’assurer du bon fonctionnement ou de la pertinence d’une fonctionnalité avant son lancement.
  • La méthode Agile : Méthode de gestion de projet plus itérative avec des cycles de vie Produit composés de phases de production, testing, déploiement et release.
    • Déploiement continu/Intégration continue (CD/CI) : Les équipes construisent, testent et recueillent des feedbacks plusieurs fois avant de lancer une fonctionnalité afin de lancer la meilleure version possible
    • Progressive delivery (Livraison Progressive) : Les équipes construisent, testent et déploient la fonctionnalité auprès d’un échantillon d’utilisateurs prédéfini avant de la lancer pour l’ensemble des utilisateurs.

 

La Progressive delivery reprend le framework CI/CD tout en permettant de tester la fonctionnalité “en situation” et en permettant un lancement sécurisé.

Image
Graphique montrant la progressive delivery via des feature flags

3 Les avantages de la progressive delivery

DES FEEDBACKS DIRECTS

Grâce au déploiement régulier et progressif des fonctionnalités, les équipes sont en mesure d'analyser les comportements en ligne afin de valider la pertinence des actions engagées. 

Ces feedbacks fréquents permettent ainsi aux développeurs d’acquérir une bonne connaissance des besoins client pour créer de meilleurs produits.

PLUS DE SÉCURITÉ

Avant de déployer une nouvelle fonctionnalité sur votre site, il faut vérifier si elle fonctionne correctement. Un autre aspect primordial est d'identifier si elle est reçue de manière positive par les utilisateurs, l'objectif final étant d'améliorer leur navigation et leur expérience sur le site. 

En déployant progressivement vos features et en "flaggant" chaque fonctionnalité, vous gardez le contrôle et pouvez à tout moment revenir en arrière et corriger de possibles erreurs. Qu'il s'agisse d'un bug technique, ou d'une mauvaise interprétation du besoin, vous pouvez déclencher un roll-back et faire un retour en arrière à tout moment pour améliorer ces éléments. 

PLUS DE RAPIDITÉ

Le premier avantage de la livraison progressive est, bien sûr, de gagner en agilité et donc en temps. Elle permet de corriger les erreurs très rapidement et réduit considérablement les temps d'intégration en permettant de passer plus rapidement d’un environnement de test aux mises en production.

En cas d'erreur ou de mauvaise réception par les utilisateurs, les équipes R&D et Produit sont en mesure d’identifier et de corriger très rapidement les problèmes rencontrés.

La livraison progressive accélère le Go-to-Market et accroît la compétitivité des marques grâce à la release ou la mise à jour très régulière de features.

4 Quelle différence entre progressive delivery et intégration continue/livraison continue/déploiement continu ?

La livraison progressive est une étape supplémentaire du framework CI/CD. 

  • Intégration continue : Les développeurs intègrent le code qu'ils écrivent en continu. Les fonctionnalités sont testées très régulièrement afin de s'assurer qu'elles fonctionnent bien.
  • Livraison continue : Les builds issus de l'intégration continue sont testés dans un environnement dédié ou un clone de l'environnement de production (l'application ou la solution en direct). Les tests sont effectués manuellement et le code n'est déployé que lorsque les testeurs l'approuvent. L'équipe de test contrôle la vitesse de publication en fonction du temps dont elle dispose.
  • Déploiement continu : Le nouveau code est publié dans l'environnement de production dès qu'il répond aux normes de performance de base. Le déploiement se fait automatiquement sans aucune intervention d'un développeur ou d'un testeur.
  • Progressive delivery : Le déploiement est séparé de la release grâce aux feature flags. Le code est automatiquement déployé dans l'environnement de production, mais il est publié progressivement.

La progressive delivery permet aux équipes d’aller encore plus loin dans l’innovation pour rester compétitives.

Image
Intégration continue et déploiement continu

5 Comment fonctionne la progressive delivery ?

La livraison progressive est possible grâce aux feature flags, un extrait de code qui permet d'activer ou de désactiver une fonctionnalité. Ils séparent le déploiement de la release, ce qui permet aux Product Managers de lancer des fonctionnalités quand ils le souhaitent sans que cela n’affecte le flux de travail des développeurs.

Supposons, par exemple, qu'un Product Manager souhaite tester une fonctionnalité importante auprès de trois sous-ensembles d'utilisateurs avant de la proposer à l'ensemble des utilisateurs. Un développeur crée alors un feature flag en codant la fonctionnalité. 

Lorsque le Product Manager souhaite y donner accès à un segment d'utilisateurs, il lui suffit d'activer le feature flag. Cela n'affecte pas l'expérience des autres utilisateurs. 

S'il doit désactiver la fonctionnalité, il peut désactiver le feature flag associé.

Les feature flags peuvent être facilement gérés par n'importe quel membre de l'équipe produit à l'aide d'une solution de feature experimentation.

New call-to-action

6 Progressive delivery et méthodes de déploiement

Dans le cadre de la livraison progressive, les déploiements sont facilités par l'utilisation des feature flags qui permettent des déploiements plus avancés.

LA CANARY RELEASE (ou CANARY TESTING)

La release "Canary" consiste à exposer un segment ciblé de l'audience à la version mise à jour du Produit. Si la fonctionnalité est adoptée par les utilisateurs et que son utilisation ne génère pas d’incident, le code est mis à jour et déployé dans l'environnement de production où tous les utilisateurs peuvent y accéder.

Cette technique permet aux Product Managers de :

  • Suivre les KPI des nouvelles fonctionnalités lancées.
  • Cibler des segments d'utilisateurs précis pour leur proposer des fonctionnalités spécifiques.
  • Évaluer l’adoption, la popularité et l’accessibilité des nouvelles features.

LE DÉPLOIEMENT BLEU-VERT

Le déploiement bleu-vert consiste à maintenir deux environnements de production identiques (bleu et vert). La version verte est l'application live. La version bleue est un environnement de test où la mise à jour est appliquée.

Lorsque la version bleue fonctionne de manière satisfaisante et remplit tous les critères de performance, le trafic est redirigé de la version verte vers la version bleue. La version bleue devient alors l'application de prod, alors que la version verte sert d'environnement de test pour la prochaine version.

Cette technique permet aux Product Managers de :

  • Mettre en ligne une fonctionnalité dans le back-end d’une application pour tester ses performances en situation sans la déployer sur le front-end.
  • Maîtriser entièrement la manière dont les fonctionnalités sont déployées et rendues accessibles.
  • Recueillir des données sur les performances et l'utilisation des fonctionnalités.

Ces deux types de déploiements sont possibles sans avoir recours au feature flagging, mais ils sont alors bien plus complexes à mettre en œuvre.

7 Progressive delivery et feature experimentation

La livraison progressive permet aux équipes de procéder par itérations en testant les nouvelles fonctionnalités ou les nouvelles mises à jour auprès d’utilisateurs réels avant leur lancement officiel. Adopter la livraison progressive signifie passer de : 

  • Concevoir > Déployer > Lancer 

à

  • Concevoir > Déployer > Tester > Lancer

 

Avec la feature experimentation, il est ainsi possible d’anticiper les changements induits par cette nouvelle fonctionnalité et son impact éventuel sur les objectifs business de l’entreprise. Vous pourrez ainsi mettre en place un workflow d’amélioration continue pour optimiser votre produit.

Avec Kameleoon, mettez en place la progressive delivery avec notre solution de Feature Experimentation.

Envie d’en savoir plus sur Kameleoon ? Demandez une démo !

Thèmes traités dans cet article
Newsletter
Recevez nos dernières ressources en exclusivité.