Mathieu, comment convaincre mon dév de ne pas tout recoder ?

Un entrepreneur s'inquiète d'un développeur un peu trop enthousiaste et se demande s'il ne fait pas fausse route

Mathieu, comment convaincre mon dév de ne pas tout recoder ?

Francis* est un entrepreneur "business". Il n'est donc pas expert en tech, mais il a de bonnes intuitions.

Récemment, Francis est venu me voir avec cette question :

– Mathieu, j'ai un développeur talentueux et efficace, mais qui s'enthousiasme un peu trop vite.
– C'est-à-dire ?
– Il veut coder un système de réservation pour les sessions de formation que nous organisons. Il veut que ça soit parfaitement intégré à notre site pour que "ça fasse pro".
– Hmm, ce serait pas son premier job ? lui demandai-je
– ... quoi, c'est si évident que ça ?

Ce sont des phrases que j'ai beaucoup entendues :

💬 "C'est pas dur à faire"
💬 "Ça sera vraiment adapté à nos besoins comme ça"

Ca m'a instantanément rappelé cette histoire que je vous avais déjà racontée :

La très courte histoire de notre ERP maison
Il paraît qu’on n’est jamais mieux servi que par soi-même... mais on s’est épuisé à vouloir tout faire.

Le syndrome « Not Invented Here »

J’ai demandé à Francis :

– Est-ce que tu as entendu parler du syndrome Not Invented Here ?
– Non, qu’est-ce que c’est ?
– C’est ce réflexe dans certaines boîtes de tout refaire maison, même ce qui est déjà disponible sur étagère.
– Je reconnais un peu mon développeur là-dedans...
– Dans un esprit d’optimisation, on se dit que si c’est fait maison ça sera plus efficace, plus proche de nos besoins. Mais on sous-estime grandement le travail à faire pour créer et maintenir « quelque chose de simple ».

Ce n’est pas parce que ça a l’air simple que c’est simple. Un développeur junior a certes l’avantage de l’enthousiasme, de la spontanéité, mais il ne se rend pas compte que recréer tout maison va créer de nombreux problèmes.

Prenons le système de réservation que celui-ci veut créer. Il faut lister des créneaux, permettre aux utilisateurs d’en sélectionner un et bloquer le créneau.

Simple. Mais ensuite :

  • Il faut afficher l’agenda dans le bon créneau horaire de chaque utilisateur
  • On va vous demander d’envoyer des invitations agenda par email
  • Peut-être des SMS de rappel
  • Il faut une prévention contre les robots qui pourraient remplir le formulaire
  • Il faut gérer le cas où 2 personnes réservent le même créneau en même temps
  • On va vous demander d’avoir la possibilité de faire payer un acompte
  • etc.

Et c’est sans compter les bugs qu’il faudra maintenant corriger, la base de code à maintenir.

Si le problème de base a l’air simple, on découvre petit à petit qu’il faut gérer des dizaines de petits détails.

Alors qu’installer un Calendly (ou équivalent) aurait pris 10 min. 🙃


☝️ Mon analyse

Le syndrome Not Invented Here tue des boîtes, littéralement. 💀

Le dernier exemple célèbre est une boîte d’IA : Builder.ai.

Tout le monde croit qu’ils ont fait faillite parce que c’était un faux service d’IA qui outsourcait à des développeurs en Inde. Mais pas du tout. 😆

La vérité est bien plus terrible :

This post is for subscribers only

Already have an account? Sign in.