[Meetup] Refactoring de code : comment l’intégrer à sa roadmap Produit ?

[Meetup] Refactoring de code : comment l’intégrer à sa roadmap Produit ?

Pour notre dernier meetup Mobile-PM, c’est VideDressing qui nous accueillait dans ses locaux. Jérôme Joly, Product Manager de la société, nous a partagé son retour d’expérience suite à la refonte technique de certaines briques de leurs plateformes.

VideDressing est une marketplace comptant environ un million d’utilisateurs et plus d’un million d’articles. L’atout du mobile pour photographier et mettre en ligne ses produits a fait progressivement évoluer la stratégie de la marque: aujourd’hui, c’est mobile first !  Résultat : près de 50% des transactions sont réalisées sur ce type de device.

Pourquoi entamer le refactoring de son code ?

Tout est parti du souhait de vouloir mettre en place un nouveau moyen de paiement sur la marketplace: le paiement 3 & 4 fois sans frais. VideDressing s’est retrouvé alors confronté à deux principales difficultés :

  • Chaque device dispose de sa propre plateforme technique et de son propre socle de paiement
  • Ces socles de paiement souffrent de nombreux bugs

Conclusion : une complexité anormale pouvait amenait la plateforme à devenir progressivement obsolète. L’équipe a dû accepter de laisser disparaître ce code défectueux.

L’idée initiale de Jérôme et son équipe n’était pas de tout reconstruire. Ils ont commencé par analyser l’existant, au travers :

  • D’interviews métiers,
  • De beaucoup d’observation au quotidien,
  • D’un audit technique du code existant.

Cette analyse a fait apparaître un grand nombre d’anomalies ; il devenait donc évident de revoir tout le cycle de vie de la commande.

Architecture du système : les briques “Order” et “Payment” sont concernées par la transaction.

De plus, au delà de la nécessité mettre en place ce nouveau moyen de paiement, il était nécessaire de convaincre les stakeholders de l’importance de ce refactoring. Pour cela, l’équipe a estimé en chiffre d’affaires le coût de ses bugs.

Comment intégrer ce projet titanesque à sa roadmap Produit ?

Le refactoring du code, introduit par l’ajout d’un nouveau mode de paiement, a ralenti considérablement l’ajout de nouvelles grosses fonctionnalités au cours des 9 mois suivant.

Au bout de 4 mois, le paiement 3 & 4 fois sans frais voyait le jour sur desktop. En parallèle de ce gros développement, des interventions front sur l’ensemble des plateformes ont pu être réalisées – pendant que l’essentiel des équipes back étaient mobilisées par le refacto.

Jérôme nous recommande d’insister auprès des membres de l’équipe et des stakeholders sur les impacts positifs comme:

  • Offrir une expérience optimale aux utilisateurs,
  • Alimenter plus facilement les différentes plateformes d’un point de vue technique et intégrer plus rapidement de nouvelles features à l’avenir.
  • Proposer des services plus efficaces et de meilleure qualité aux consommateurs de la plateforme.

… tout en leurs expliquant les décisions essentielles :  

  • Dédier une task force qui sera focalisée  sur ce projet,
  • Laisser le code legacy disparaître et accepter d’arrêter de travailler dessus,
  • Accepter de dégrader (en partie) la qualité de service du reste de la plateforme le temps du projet.

Et l’activation des nouveaux modules ?

VideDressing a fait le choix d’accompagner la refactorisation de son code par une refonte des briques de paiement. Dans une démarche agile, ils ont activé les modules de paiement progressivement.  

Jérôme nous conseille donc à ce niveau de :

  • Ne pas activer deux plateformes en même temps,
  • Faire attention au pourcentage de trafic sur chaque plateforme afin de déployer la refonte petit à petit sur un nombre croissant d’utilisateurs
  • Communiquer sur le fait que le déploiement va mettre du temps à voir le jour.

Résultats pour VideDressing : 95% des paiements passent par ce nouveau socle. De plus, suite à l’optimisation des plateformes mobiles, c’est près de 50% des ventes globales qui y sont aujourd’hui réalisées.

Conclusion : La marque souhaite aujourd’hui asseoir son positionnement sur mobile et repasser aux développements de nouvelles fonctionnalités, dans un premier temps sur mobile ; puis améliorer dans un second temps la partie desktop.

Synthèse des recommandations pour une refacto réussie

  • Dire ce qui ne fonctionne pas lors de l’état des lieux du code existant, en ayant le courage d’exprimer clairement les choses,
  • Se lancer rapidement sur le refactoring puis rester focalisé  sur le projet en protégeant l’équipe des demandes superficielles concernant d’autres sujets,
  • Rédiger et partager un document reprenant les éléments essentiels de la refactorisation à l’ensemble des salarié(e)s de la société,
  • Impliquer les stakeholders et faire des points d’étape tout au long du projet.
  • Être un bon communicant au quotidien et rationaliser au maximum la prise de décision,
  • Éduquer les équipes sur les bonnes pratiques, par exemple passer plus de temps sur le Code review,
  • Documenter encore et encore dans des outils comme Jira ou Confluence.

 

Pour aller plus loin, retrouvez l’intégralité de ce talk ci-dessous et sur la chaîne Youtube de Thiga. 

Le support de la présentation est disponible sur slideshare.

Enfin, pour venir rencontrer des professionnels passionnés de Product Management et participer à notre prochain meetup, inscrivez-vous ici

PS : n’oubliez pas, un Product Manager paie toujours ses dettes !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *