Déploiement continu : délivrez des produits adaptés aux besoins de vos visiteurs
Les roadmaps produit des marques sont constamment alimentées par de nouvelles features visant à améliorer la navigation de leurs utilisateurs. De la manière dont sont triés les produits sur une page liste à l'amélioration d’un algorithme de recherche, les marques innovent sans relâche pour améliorer l'expérience de leurs visiteurs.
Rester compétitif tout en préservant la qualité de l’expérience client représente un vrai défi pour les marques. Comment délivrer de nouvelles features plus rapidement ? Comment s’assurer de la pertinence de ces évolutions produit ?
La méthode de déploiement ou de livraison continue (CD, CI) répond à ce besoin d’agilité, tout en assurant une performance optimale, pour toutes les équipes.
1 Déploiement continu : délivrez de nouvelles fonctionnalités rapidement
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.
Déploiement continu, intégration continue : quelles différences ?
Le déploiement continu et l'intégration continue permettent aux équipes R&D et Produit d'optimiser le processus de déploiement de nouvelles fonctionnalités en production.
Ces méthodes désignent le fait de développer et de tester le code de nouvelles fonctionnalités en continu, afin d'alléger les processus habituels de release en production.
L'automatisation des différentes phases de déploiement d'une feature permet ainsi d'adopter une pratique plus agile et de répondre plus rapidement et efficacement aux besoins du marché.
Intégration continue
L'intégration continue désigne le fait de développer des fonctionnalités en les testant très régulièrement afin de s'assurer qu'elles fonctionnent bien. Avec cette méthode, le déploiement n'est toutefois pas automatique.
Déploiement continu
Le déploiement continu (ou livraison continue), est une méthode grâce à laquelle les fonctionnalités sont testées régulièrement, mais qui s’appuie également sur un déploiement automatisé. La méthode de déploiement continu a pour avantage de réduire encore plus les risques d'erreurs et de bénéficier un environnement plus stable et performant.
Feature flagging : gardez le contrôle sur chaque nouvelle fonctionnalité
L'objectif du déploiement continu de feature est de s'assurer que celle-ci fonctionne correctement et satisfait les utilisateurs.
Avec le feature flagging, vous pouvez "flagguer" une partie de votre code afin de garder le contrôle sur une fonctionnalité et d'agir sur son déploiement ou son activation. Vous pouvez ainsi déployer la configuration en mode "Désactivée" pour tous vos visiteurs, puis avec un simple switch 'On' l'activer en production pour un % réduit de vos visiteurs.
Si vous observez qu'une feature ou un script n'obtiennent pas les performances escomptées, il vous suffit de la désactiver afin qu'elle n'impacte pas vos résultats. Vous pouvez ensuite modifier et ajuster le code avant de réactiver la fonctionnalité.
Canary release : testez vos features sur un partie restreinte de votre audience
Il existe plusieurs méthodes pour déployer votre code en continu. La release "Canary" désigne le fait de ne déployer une feature qu'à une partie ciblée de l'audience. De cette manière, l'expérience de la majorité des visiteurs est inchangée, et vos équipes sont en mesure de tirer des apprentissages en analysant le comportement des utilisateurs ciblés.
2 Pourquoi adopter le déploiement continu ?
Accélérer les cycles de déploiement et diminuer les erreurs
Le premier avantage du déploiement continu est bien sûr de gagner en agilité et donc en temps. Tester et compiler le code en continu permet de corriger les erreurs très rapidement et réduit considérablement les temps d'intégration.
Le déploiement continu permet de réduire le nombre de tests unitaires et de passer plus rapidement d’un environnement de test à la mise 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.
Le déploiement continu accélère le Time to Market et accroît la compétitivité des marques avec le déploiement ou la mise à jour très régulière de nouvelles features.
Obtenir des feedbacks directs et plus rapides
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 feedback fréquents permettent ainsi aux développeurs d’acquérir une bonne connaissance des besoins clients et de créer de meilleurs produits.
Une équipe plus productive
En éliminant les silos et les différents niveaux de validation, les équipes développeurs acquièrent une expérience des objectifs business plus étayée, en phase avec les besoins du marché.
Par ailleurs, en automatisant le processus de déploiement, les équipes peuvent se concentrer sur des tâches sollicitant une expertise particulière.
Corriger les erreurs et adapter vos features instantanément
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 à tout moment pour améliorer ces éléments.
3 Adopter une culture DevOps pour mettre en place le déploiement continu
Qu’est qu’une culture DevOps ?
L’automatisation des process de déploiement est particulièrement performante au sein des équipes qui ont acquis une culture “DevOps”. En brisant les silos entre les différentes équipes informatiques, développeurs ou produit, la dynamique DevOps favorise l’échange de compétences pour développer et déployer les features en continu. Cette culture s’inscrit directement dans la tendance à adopter une philosophie de lean management dans les organisations.
Pourquoi adopter une culture DevOps ?
De cette manière, les contraintes de déploiement sont prises en compte dès la période de développement.
Avec une approche DevOps, les équipes sont directement en contact avec les besoins clients et peuvent s'améliorer en continu. Par ailleurs, les produits correspondent plus aux besoins puisque les retours peuvent être directement intégrés.
Le déploiement continu s’inscrit dans la droite ligne d’une culture test & learn pour améliorer votre produit et l’expérience client. En plaçant l’utilisateur au centre de votre stratégie produit et en adoptant cette méthode agile et transverse, vous misez sur une démarche gagnante à tout point de vue. Vos clients bénéficient de meilleures fonctionnalités et vos équipes passent moins de temps à corriger des bugs et peuvent se concentrer sur des tâches innovantes, source de valeur.