Vibe coding : comment évaluer les gains de l'IA… et comment les améliorer
En l'espace de trois ans, le quotidien des développeurs a été bousculé, comme bien d'autres professions, par la montée en puissance de l'IA générative. Ce n'est pas la première fois que des outils se proposent de booster leur productivité. Les environnements de développement intégré (EDI), les ateliers de génie logiciel et plus récemment les plateformes de low code / no code ont déjà fortement réduit le nombre d'opérations manuelles.
Les grands modèles de langage (LLM) placent toutefois la barre beaucoup plus haut. Avec le vibe coding, le programmeur exprime ses instructions en langage naturel que l'IA traduit en code exécutable. L'IA peut non seulement générer du code ou compléter un programme existant mais aussi traduire du code d'un langage de programmation à un autre, procéder à une revue de code automatisée, déceler les bugs puis proposer des correctifs et, enfin, documenter l'application finalisée. Bref, couvrir tout le cycle de développement logiciel.
Forte de ses atouts, l'IA Gen s'est généralisée chez les développeurs. 90% d'entre eux l'utilisent selon le dernier rapport DORA (DevOps Research and Assessment), conduit par Google Cloud auprès de 5 000 professionnels du monde entier. Soit une augmentation de 14% en un an. Toutefois, seuls 7% utilisent l'IA systématiquement. Une forte majorité (60%) y a recourt avant tout pour une tâche particulière à accomplir ou un problème à résoudre.
Si le taux d'adoption est élevé tout comme les gains apportés - plus de 80% des sondés constatent une augmentation de leur productivité - le niveau de confiance est plus contrasté. Une part notable des développeurs (30%) déclare avoir peu ou pas du tout confiance dans la qualité du code généré par l'IA. A juste titre. Selon, un autre rapport baptisé "Future of Application Security in the Era of AI" et conduit par Checkmarx, un spécialiste de la cybersécurité, 81% du code livré comporte des failles. Plus gênant, seuls 18% des répondants déclarent disposer de politiques internes encadrant cet usage. Conclusion de l'étude : l'adoption croissante de ces outils d'IA réduit la maîtrise des développeurs sur leur code et élargit considérablement la surface d'attaque pour les cybercriminels.
Aller au-delà de l'effet "waouh"
Le volet sécurité n'est pas le seul point de vigilance qui émerge de ce premier bilan du vibe coding. Passé le premier effet "waouh" de la génération de code à la volée, d'autres éléments doivent être pris en compte afin de mesurer les gains réels de l'IA générative. Pour Benjamin Brial, CEO et fondateur de Cycloid, une plateforme open source qui couvre tout le cycle de vie du DevOps, il convient de mettre en balance la rapidité et la qualité. "Accélérer le développement est un avantage, mais si la base de code devient ingérable, on perd tout le bénéfice initial".
Le dirigeant, qui encourage ses développeurs à tester ces outils, à mesurer l'usage puis à ne conserver que ce qui apporte vraiment de la valeur, plaide pour une approche multicritère. "Pisser" du code ne suffit pas. L'évaluation des performances des outils d'IA doit porter sur la maintenabilité du code généré, avec le risque sinon d'une accumulation de dette technique et une érosion des compétences internes. "S'il faut reprendre tout le code deux ans plus tard, c'est une perte sèche." Autre critère : l'impact carbone. Est-que les outils de vibe coding permettent d'optimiser le code et de gagner en frugalité ?
A ses yeux, l'expérience développeur (DevEx) est également primordiale. L'IA doit simplifier le quotidien du codeur et non accroître sa charge mentale. "Il s'agit de fournir un environnement fluide, intégré, qui permet aux développeurs d'être efficaces", avance ainsi Benjamin Brial, dont la société n'emploie que des développeurs seniors, à même de développer un esprit critique sur le code produit.
Enfin, le recours à l'IA générative pose un risque en matière de propriété intellectuelle. Les outils de vibe coding sont entrainés sur du code accessible publiquement, issu d'une plateforme comme Stack Overflow ou de solutions open source. Comment s'assurer qu'une partie du code généré ne fasse pas l'objet d'une restriction d'usage compte tenu des droits et obligations propres à chaque type de licence open source ? Inversement, un développeur qui utiliserait une IA non homologuée, sous le radar de sa DSI, peut exposer publiquement du code appartenant à son entreprise. Il s'agit de sensibiliser les développeurs à cet enjeu mais de aussi de poser un cadre de gouvernance indiquant dans quel contexte telle IA peut être utilisée et pas telle autre.
Benjamin Brial en conclut que l'IA doit être un outil parmi d'autres permettant aux informaticiens d'être plus efficaces. Chez Cycloid, son usage se limite, pour l'heure, au développement de plugins ou à la création d'un MVP (minimum viable product), pour valider rapidement l'intérêt d'un POC (proof of concept). "L'IA générative a une approche probabiliste qui ne permet pas d'appréhender la complexité d'une plateforme comme la nôtre."
S'appuyer sur les frameworks existant
Au-delà de ce cas particulier, quels indicateurs de performance mettre en place pour évaluer objectivement les apports du vibe coding ? Maxime Fonthieure, VP R&D chez Forterro, éditeur de solutions logicielles pour le marché industriel, conseille de s'appuyer sur les métriques existantes dans une organisation. "Pour analyser les impacts négatifs ou positifs de l'IA et identifier les éventuels axes d'amélioration, il faut pouvoir se baser sur un historique. Ce qui compte, ce n'est pas la photo mais l'évolution des résultats. A priori, on peut présupposer qu'avec l'IA la rapidité d'exécution va augmenter tandis que la qualité baissera. Mais pour confirmer ces intuitions et benchmarker l'IA, il faut disposer de valeurs antérieures".
Une organisation peut se tourner vers les frameworks traditionnels qui mesurent la productivité des développeurs que sont DORA, SPACE, DevEx et DX Core 4. Complémentaires, chacun apporte son lot de métriques. DORA se concentre sur les performances de livraison de logiciels selon quatre paramètres que sont la fréquence de déploiement, le délai d'exécution des modifications, le taux d'échec des modifications et le temps moyen de restauration. SPACE et DevEx rajoutent la dimension expérience développeur en prenant notamment en compte l'engagement et la satisfaction des professionnels du code.
Le dernier rapport DORA, suggère de nouvelles pistes pour faciliter l'adoption de l'IA et gagner en efficience. Sept pratiques communes ont été identifiés parmi les organisations tirant le meilleur parti de l'IA. Il s'agit, entre autres, d'avoir une stratégie IA claire et transparente, un écosystème de données sain, une politique rigoureuse de contrôle des versions, un mode de travail par petits lots ou une approche centrée sur l'utilisateur.
Ajuster les pratiques au niveau de maturité des équipes
De même, le rapport distingue différents profils d'équipes de "dev" en fonction de leur niveau de maturité, entre celles qui sont contraintes par les processus internes ou le poids du legacy à celles plus harmonieuses dotées d'un cadre de gouvernance fluide. Pour Maxime Fonthieure, il s'agit effectivement d'adapter les pratiques au niveau de maturité d'une organisation. "Entre l'autocomplétion dans un environnement de développement intégré jusqu'à l'intervention autonome de l'IA sur la base de code, le spectre est large. Les impacts diffèrent selon le degré d'adoption et l'adéquation de l'outil d'IA à certaines tâches. Parfois, son usage peut entraîner davantage de régressions que de gains, ce qui nécessite alors d'ajuster les pratiques."
Pour l'heure, Maxime Fonthieure note que l'utilisation du vibe coding reste encore exploratoire, avec des pratiques hétérogènes. "Au sein d'une équipe, les échanges entre pairs permettent de partager les bénéfices ou les limites constatés." A partir des premiers retours d'expérience, une DSI peut statuer que l'IA s'avère pertinente sur telle étape du cycle de développement et pas sur telle autre. "L'essentiel est d'encourager l'usage de l'IA afin que chacun puisse s'approprier l'outil, tout en reconnaissant que la technologie évolue rapidement et requiert une adaptation continue", poursuit-il.
Pour l'expert, il convient d'arrêter de mystifier l'IA qui serait une entité autonome douée d'une volonté propre. Ce qui dédouanerait en quelque sorte le développeur de ses responsabilités. "Non, l'IA reste un outil et le développeur qui fait le "commit" est responsable du résultat final." Et qu'importe si l'IA a généré l'essentiel du code ou que le développeur a seulement fait appel à cette dernière pour réaliser un premier jet. Etre à même d'évaluer la qualité du code fourni par l'IA suppose toutefois une certaine maturité professionnelle. Maxime Fonthieure fait un parallèle avec le monde de la traduction. "Si je fais traduire par l'IA un texte dans une langue exotique que je ne maîtrise pas, je ne serais pas à même de valider le résultat."
Pair programming, TDD et MCP
L'usage dépendra également de la séniorité du praticien. "Un développeur junior pourra déléguer des tâches simples à l'outil ou apprendre de nouveaux concepts grâce aux suggestions automatiques. Il lui appartiendra néanmoins de comprendre et de vérifier le code proposé". La constitution de binômes réunissant seniors et juniors favorise la diversité des points de vue. Maxime Fonthieure encourage les pratiques collaboratives telles que le pair programming qui, à l'ère de l'IA, deviennent encore plus incontournables.
De même, le développement piloté par les tests ou TDD (Test Driven Development) présente un intérêt renouvelé avec l'essor du vibe coding. Cette méthode permet de concevoir un logiciel par itérations successives en validant, par les tests, une série de lignes de code, avant de passer au lot suivant. "Ce découpage en incréments, les plus petits possibles, prend tout son sens dans le contexte de l'intégration de l'IA", estime Maxime Fonthieure.
Enfin, il convient de contextualiser l'usage de l'IA afin d'éviter d'avoir à renseigner les spécificités de la politique de développement d'une organisation à chaque prompt. L'expert conseille pour cela de mettre en place un serveur MCP, intégrant les règles internes et les pratiques de développement propres à une équipe afin de rendre les résultats du vibe coding plus pertinents. Pour rappel, le Model Context Protocol permet aux LLM de se connecter de manière sécurisée à divers outils et sources de donnée. "La notion de commit diffère d'une équipe à l'autre, avance Maxime Fonthieure. Avoir un tel serveur MCP encadre les pratiques et améliore la qualité des résultats produits par l'IA."