L’histoire commence comme un conte de fée : il était une fois un besoin client pour lequel nous, agence spécialisée sur le développement e-commerce, pensons une réponse. Ce besoin s’exprime régulièrement chez plusieurs de nos clients : comment puis-je organiser rapidement et efficacement mes catégories de produits sur mon site e-commerce ?
Des réponses ont été apportées par des acteurs du marché, mais elles sont soit très coûteuses soit avec peu de valeur ajoutée.
Alors on s’est dit “pourquoi ne pas développer notre propre extension estampillée Blackbird” ? Voilà comment a commencé la fabuleuse aventure de notre dernier module Front-End Visual Merchandiser !
La genèse de Blackbird est un parallèle intéressant pour introduire les prémices de cette belle histoire. Tout commence par un problème que chaque expert a rencontré sur Magento 1.x : comment structurer, organiser et faire évoluer les contenus sans avoir à faire du développement spécifique à chaque fois ?
Anthony et Jérémie sont partis de cette problématique pour dessiner les contours d’un module devenu incontournable pour beaucoup d’agences et d’annonceurs Magento : Advanced Content Manager. C’est l’effet papillon ! Quelques mois plus tard, Blackbird naissait autour d’ACM avec comme ADN l’idée de développer des solutions pour aider la communauté Magento à travers le monde.
La ressemblance avec la phase de développement de Visual Merchandiser semble évidente. À travers ses interventions sur des dizaines de sites marchands, Anthony a le même déclic. Pourquoi ne pas développer cette extension de VM Magento qui faciliterait la vie des administrateurs ? L’idée se discute d’abord autour de la machine à café, puis on réserve un créneau pour brainstormer, puis on en parle à nos clients, puis on organise un kick-off, puis on valide le périmètre de la MVP, etc. La machine est lancée !
Les projets internes en entreprise sont généralement très complexes à prioriser car nos efforts se dirigent naturellement vers les priorités de nos clients. Mais là, rien n’y fait ; nous sommes déterminés à lancer et maintenir une énergie constante sur ce projet car l’enjeu nous paraît primordial !
Le projet VM prend forme en parallèle d’une réorganisation de notre pôle Extension. Processus de recrutement, formation des nouveaux développeurs, conception technique, maquettage du module, etc. Toutes ces phases s’articulent autour d’une équipe dévouée :
- Lisa (product manager)
- Anthony (directeur technique)
- Thibaud (développeur)
- Bruno (développeur)
- Robin (directeur artistique)
Les premières semaines sont prometteuses : la conception est faite en parallèle des premiers développements, les choix initiaux sont peaufinés, ajustés, des changements de stack techniques s’opèrent, on se trompe, on corrige. La roue de Deming tourne à plein régime.
Plutôt que de narrer un projet mené avec brio où, comme par miracle, le triangle d’or a été respecté, je vais mettre l’accent sur 5 points qui s’articulent autour d’une principale erreur : sous-estimer la complexité du projet.
Nous pensions avoir défini un corpus d’outils et méthodologies précis pour ne pas tomber dans le piège de la sous-estimation :
- Découper un maximum les tâches
- Estimer les charges suivant la suite de Fibonacci
- Capitaliser sur des estimations précédentes
- Mettre des facteurs de Risques et Imprécisions
- Définir des users-stories
Le projet a pourtant commencé sur des bonnes bases : une méthodologie rodée pour chaque phase du projet avec une approche Agile pour garantir une adaptabilité au besoin qui évolue. Et pourtant, on se trompe quand même. Zut !
Après plusieurs semaines de prise de recul, une réunion Bilan de Projet et de longues réflexions nocturnes, le mal paraît multifactoriel.
Voici les principales erreurs que nous avons commises :
1. Oublier le paradoxe de la gestion de projet
Plus on avance dans un projet, plus on a de la maturité. Pourtant, plus on avance, moins on a la capacité de changer la suite du projet. Des choix ont été faits trop tôt dans le projet, au moment où notre maturité n’était pas suffisante pour prendre la meilleure décision. Il faut donc toujours garder en tête que la décision qui semble évidente au début peut naturellement être remise en question en cours de route.
2. Négliger la phase d’analyse et de conception
L’erreur principale de cette étape ? Penser que l’analyse et la conception d’un projet se “terminent” à un instant T. Un projet est dynamique, il vit dans le temps, il évolue, il mute. Il est parfois nécessaire de faire un pas en arrière pour en faire trois en avant. Cette phase d’analyse et de conception d’une fonctionnalité n’est pas forcément compressible. Elle doit parfois maturer dans le temps, s’ajuster avec l’expérience qu’on se construit en travaillant. Borner cette étape dans le temps est un réflexe vieux comme le monde : “on conçoit puis on développe”. Cette approche dite Cycle en V est généralement vouée à l’échec dans les projets R&D.
3. Réduire les garde-fous d’un projet
En gestion de projet, les garde-fous sont là pour préserver des erreurs. La mise en place de ces moyens de contrôle passe par un effort conséquent : définition de KPI, process de gestion, livraisons régulières, séniorité des équipes, chef de projet dédié, test and learn, dashboard de suivi, etc. Tous ces garde-fous sont utiles, mais on en fait parfois l’économie dans des projets internes. Le résultat est sans appel : le suivi des tâches, le respect des estimations et des délais, l’adaptation du périmètre fonctionnel sont compromis sans ces gardes-fous. Les bonnes pratiques sont bien connues, mais s’efforcer à les appliquer et les faire appliquer est parfois vu comme une option. Il n’en n’est rien : appliquez vos bonnes recettes à tous vos projets, vous y gagnerez !
4. Avoir la tête dans le guidon
Cette expression est bien souvent galvaudée. Avoir la tête dans le guidon ne signifie pas uniquement aller vite et ne pas voir autour de soi. Un manque de recul, une imprécision dans l’analyse ainsi que des biais dans la prise de décision sont tous des conséquences déclenchées par cette situation. Dans ce projet, nous avions tellement envie que ça avance qu’on avait oublié l’essentiel : tester le module dans un contexte réaliste.
“Si ça marche sur mon ordinateur, ça va marcher en production” est l’épée de Damoclès de tout développeur. Dès que les délais se raccourcissent et qu’on veut aller vite, on prend inconsciemment des raccourcis pour diminuer la durée des tests. La clairvoyance nous a fait défaut à cette étape du projet. On aurait dû anticiper nos tests sur plusieurs contextes différents : beaucoup de produits dans le catalogue, des environnements serveurs complexes, des types de produits spécifiques, des développements spécifiques, etc. Ce manque de lucidité avait une cause toute simple : rester la tête en plein dans le guidon sans prendre de recul. Notre conseil ? Multiplier les garde-fous dans la méthodologie de gestion de projet, encore et toujours !
5. Oublier de tester et de faire tester
Le meilleur moyen de développer le mauvais produit est de perdre de vue le besoin. Blackbird est parti d’un besoin très spécifique pour imaginer les fonctionnalités de ce module : rendre facile l’administration des catégories sur Magento.
Ce besoin s’est affiné avec la production des premières lignes de code. L’approche du produit qu’on voulait créer a balbutié entre la technique et le fonctionnel. Mais qui oublie-t-on dans tout ça ? L’utilisateur final ! C’est lui qui va nous permettre de prendre la décision optimale quand on est face à un dilemme. Faire intervenir le client final en cours de création d’un produit ou service est énergivore (voir l’approche user-centric), mais les bénéfices sont multiples :
- récolter du feedback ;
- ajuster ses choix ;
- retirer le superficiel ;
- ajouter l’essentiel.
Les premiers feedbacks à la sortie du module nous ont permis d’adapter les fonctionnalités, mais nous aurions dû le faire plus tôt dans le projet.
Chaque projet est un récit unique qui ne ressemble pas au précédent et encore moins au suivant. Que ce soit un projet de refonte, une migration de plateforme ou encore un lancement de site e-commerce : c’est constamment une nouvelle aventure composée d’inconnus et de découvertes !
L’histoire de notre module Visual Merchandiser est jonchée d’imprévus et de difficultés, mais l’essentiel est là : un outil utile à tous, intelligent et qui répond aux attentes de nos clients !