Vous reprendrez bien une petite fonction ?

Vous êtes dirigeant d’un site e-commerce.

Votre obsession : faire évoluer le site pour tout un tas de raisons  :

  • Vous avez décidé une action marketing, cela demande une petite évolution
  • Vous vendez un nouveau type de produit (nouvelle option par exemple)
  • Par rapport à un canal d’acquisition, vous avez besoin de mettre en place un tracking spécifique
  • Vous souhaitez changer quelques éléments dans le site : changer le look d’une page, changer la navigation, par exemple en ajoutant un popup d’ajout au panier, ….
  • Vous souhaitez adapter le site aux tablettes (le doigt n’interagit pas comme la souris)

Vous avez compris : Les raisons pour faire évoluer le site sont extrêmement nombreuses et on en rajoute en permanence.

Pour booster votre business, vous devez en permanence faire évoluer le site, rapidement.

Alors, vous faites une liste de course, que vous soumettez à l’équipe technique, interne ou externe.

Votre site est « tout neuf ». A ce stade, normalement, ça se passe bien. l’équipe fait les développements, avec des délais qui vous semblent raisonnables.

Bon, si dès le début les délais sont long, il faut se poser des questions : le site a-t-il bien été développé ? Bien développé, ça veut dire en particulier que le code source permet de faire évoluer le site avec des délais raisonnable justement.

Ah, ce sujet est compliqué à traiter : si votre demande d’évolution n’est pas codée rapidement, c’est pas forcément que le site est mal fait, c’est êut être que la demande qui vous paraît simple ne l’est peut être pas tant que ça… ça demande de s’assoir avec l’équipe technique, et de discuter, pour comprendre d’ou viennent les éléments de complexités.

Bon je reprends : au début, normalement donc, les « petites » évolutions sont plutôt rapide.

Ensuite, les choses se gâtent : plus le temps passe, et plus les demandes prennent du temps. Fini l’époque ou en quelques heures on pouvait faire évoluer le site. Maintenant, la moindre demande demande des jours… voir des semaines. Vous avez perdu la flexibilité.

En plus des tensions sont apparues entre les équipes. Le marketing estime que la technique « se moque du monde ». La réciproque est bien sûr vrai également….

Bref, la belle machine est grippée.

Que c’est il passé ?

La raison, c’est la « dette » : à force de faire évoluer le logiciel, par petites retouches, le code est devenu un plat de nouille, un « machin » extrêmement complexe. Personne en fait n’en a plus la maîtrise. L’équipe technique a voulu répondre à toutes les demandes, et à voulu répondre vite. Elle a donc accepté des « écarts » en terme de qualité : elle a codé rapidement, quite à faire du « copier coller » pour aller plus vite.

A force d’empiler les écarts, jours après jours, le code est devenu instable, extrêmement complexe.

En plus, bien souvent, les équipes ont tournées. Certaines parties du code ne sont plus vraiment maîtrisées.

A ce stade, les choses sont difficile.

Ce scénario, je l’ai vu des dizaines de fois.

Alors, comment l’éviter ?

C’est difficile 😉

On peut dire plusieurs choses :

  • Il est normal d’avoir un échange, une « négo » entre la technique et le métier. Si la négo est systématiquement qu’il faut faire vite, quelque soit l’impact sur la qualité, alors il faut pas s’étonner du résultat…
  • Il faut une équipe technique ayant un bon niveau, technique bien sûr, mais également « management », pour être capable de maîtriser ces enjeux, d’avoir de la hauteur de vue, et être capable de bien réfléchir aux conséquences des évolutions, et aux pistes pour ne pas plonger dans le capharnaüm.
  • Il faut des interlocuteurs métiers et direction « ouverte », à l’écoute des enjeux technique : seule façon de prendre en compte ces aspects.

C’est un sujet clé, qui mériterait… un livre 😉

8 commentaires

  1. Reste à faire comprendre aux clients l’intérêt de combler la dette technique sur certaines livraisons, ou à les intégrer au fil des développements en dehors des rushs (si jamais un dev hors rush existe …)

Laisser un commentaire

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