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

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 :

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 :