Dans cette série, je vais essayer de revenir plus ou moins régulièrement sur mon quotidien en tant que développeur d’une solution logicielle (SaaS pour LinkedIn).
Avec l’IA, le coût de développement d’une fonctionnalité n’a jamais été aussi peu cher.
Pour Reclub, là où certaines fonctionnalités m’auraient bien accaparé plusieurs semaines auparavant, elles ne m’accaparent désormais « plus que » quelques jours. J’estime (totalement au doigt mouillé) à 50% la réduction du temps de travail nécessaire pour sortir une grosse fonctionnalité. C’est à la fois génial, et totalement problématique.
Pourquoi c’est génial ?
Allô Benj, j’aurai besoin de ça.
« Ouais pas de problème, je te fais ça, tu l’as dans la journée.
Voilà en gros à quoi peut ressembler une discussion avec un client. Quand ça concerne un dysfonctionnement, la capacité de résoudre le problème rapidement (de l’intérêt d’avoir une application testée unitairement) est quand même un concept qui nous était totalement étranger il y a de ça quelques trimestres. Ca créé une confiance absolue envers le produit et le créateur, j’en suis intimement persuadé.
Pourquoi ça l’est un peu moins…
En revanche, quand il s’agit d’une demande de fonctionnalité, le coût s’est totalement déporté. Avant, les chefs de projet / les équipes product étaient en avance sur les équipes de développeurs qui étaient le goulot d’étranglement. Ce n’est plus le cas. L’IA nous permet de prendre des décisions rapidement, d’avaler un document de spécification, de le découper plus rapidement que n’importe quel chef de projet technique, souvent mieux… Le problème, c’est que le coût des nouvelles fonctionnalités est souvent caché : plus on écrit de code, et plus on créé de la dette technique. C’est totalement logique, factuel et largement documenté.
Oncle Bob décrivait d’ailleurs largement ceci dans Clean Architecture : plus le projet avançait, et plus chaque fonctionnalité coûtait de l’argent, car le logiciel étant un ensemble de fonctionnalités, il fallait vérifier que le lien entre elles ne soit jamais cassé.
Comment je gère ça ?
Forcément, on m’a souvent appelé, pour me demander des nouvelles fonctionnalités, et je pense que c’est aussi l’une de mes forces en tant que solo-builder : être capable de répondre vite à une demande, sans passer par des piles de validation. Cependant, je m’applique une règle essentielle : tout pendant qu’on ne m’a pas demandé la fonctionnalité 3 fois (au moins), ou que je n’y crois pas du plus profond de mon petit cerveau, alors je ne commence pas cette feature. Parfois je fais un brouillon de spécification. Mais si elle ne m’est demandée qu’une fois, c’est que ça n’est pas un problème de tout le monde, mais bien un problème de Mme Michu (la pauvre, à chaque fois c’est elle).
L’exemple de l’intégration IA
Par exemple, on m’a demandé d’intégrer de l’IA à Reclub. En l’état actuel du produit, cela serait à mon sens rajouter de la dette pour un bénéfice dont je doute. Je suis plus en phase avec le fait de fournir un serveur MCP par exemple, mais avant, il me semble pertinent de créer une première vue de statistiques détaillées. J’y viendrai, c’est une certitude, j’ai d’ailleurs déjà plein d’idées de ce que l’on pourrait faire si on intégrait une IA. Mais il y a plein de questions à se poser avant :
- Pourquoi intégrer de l’IA ? Pour générer des visuels produits, pour calculer des coûts, pour analyser les ventes ? Tous ces usages méritent une réponse (et sûrement un modèle) différent.
- Qui paie la facture ? Comment cela se répercute sur le prix ? Quid de ceux qui ne l’utilisent pas ?
- Quel est le coût sur mon architecture ?
- Ce qu’on me demande de faire avec l’IA, est-ce que je n’ai pas moyen de le faire de manière « scriptable » ?
L’importance de la roadmap
Et surtout… Quand on peut répondre rapidement à des demandes, on a tendance à vite mettre de côté la roadmap du produit. Et je crois que le secret tient à ça : les urgences doivent être traitées comme telles. Les nouvelles fonctionnalités doivent être intégrées à la roadmap, avec le niveau d’urgence qu’elles méritent.
Tout ça me rappelle qu’il est grand temps que je la mette à plat sur Gitlab et à jour sur le site de Reclub.
C’est la fin de ce premier #BuildInPublic.
On se retrouve bientôt et comme on dit chez moi : topette ????


