Une enquête Sonar de 2026 montre que 88 % des développeurs affirment que le code généré par l'IA accroît la dette technique, et les partisans du développement piloté par les spécifications (spec-driven development) soutiennent qu'une étape de spécification disciplinée peut stopper cette dérive.
Pourquoi ce problème est important
Lorsqu'un humain reçoit un ticket vague, il pose des questions de clarification. Un agent d'IA, en revanche, comble les lacunes par ses meilleures suppositions et livre un code qui semble plausible. L'illusion de justesse est coûteuse : le même sondage Sonar rapporte que plus de la moitié des répondants ont vu du code passer des vérifications de base tout en cachant des défauts subtils. Ces défauts s'accumulent sous forme de dette technique, imposant des refactorisations ultérieures, ralentissant la livraison de fonctionnalités et gonflant les budgets de maintenance.
À quoi ressemble le développement piloté par les spécifications
Le développement piloté par les spécifications (SDD - Spec-driven development) inverse l'ordre actuel. Au lieu de solliciter un modèle d'IA avec une brève user story, l'équipe rédige une spécification détaillée et exécutable par un agent, qui réside dans le même système de gestion de versions que le code. La spécification devient la source unique de vérité : elle enregistre l'intention, les cas limites, les attentes de performance et toutes les contraintes qu'un modèle d'IA doit respecter.
Le processus ne remplace pas le travail de conception humaine ; il le codifie. En déplaçant les décisions de la mémoire d'un développeur vers un document concret, les humains comme les futurs agents d'IA peuvent retracer pourquoi un morceau de code se comporte d'une certaine manière. Rédiger une spécification demande un effort initial, mais déboguer une sortie d'IA ambiguë coûte bien plus cher par la suite.
Changer le flux de travail
Product backlog – Gardez les éléments courts, en ne capturant que l'intention et les critères d'acceptation de haut niveau. Cette liste continue de piloter la priorisation.
Sprint planning – Les équipes discutent de l'objectif global et s'accordent sur un objectif de sprint (Sprint Goal), mais elles attendent que la spécification soit prête avant de passer à l'implémentation détaillée.
Pendant le sprint – La personne qui récupère la tâche rédige une spécification précise et lisible par machine. La spécification énumère les formats d'entrée, les sorties attendues, la gestion des erreurs et toutes les exigences non fonctionnelles. Comme la spécification est soumise au contrôle de version, les réviseurs peuvent commenter, suggérer des modifications et approuver les changements tout comme pour du code.
Definition of Done – Ajoutez « Spécification révisée et approuvée » au seuil de qualité (quality gate). Aucun code n'est considéré comme terminé tant que la spécification ne respecte pas les mêmes standards de révision que l'implémentation.
Adaptation Kanban – Insérez deux nouvelles colonnes : « Spécification rédigée » et « Spécification approuvée ». Les éléments de travail circulent désormais ainsi : backlog → Sprint Goal → Spécification rédigée → Spécification approuvée → En cours → Terminé. Ce changement visuel rend explicite l'étape de coordination qui était auparavant invisible.
Des outils qui imposent déjà les spécifications
Des plateformes telles que GitHub Spec Kit et AWS Kiro ont ajouté des barrières exigeant un document de spécifications avant tout début de génération de code par l'IA. Elles ne remplacent pas le modèle d'IA ; elles alignent les agents au fonctionnement littéral sur l'intention humaine. En faisant de la spécification un prérequis, ces outils automatisent la transition sans briser les pipelines CI/CD existants.
Résistances potentielles
Les critiques affirment que la rédaction d'une spécification ajoute de la friction à une cadence agile déjà rapide. L'argument opposé : le temps passé à rédiger une spécification n'est généralement qu'une fraction du temps passé plus tard à déboguer du code produit par l'IA à partir d'un prompt ambigu.
Une autre inquiétude est que les spécifications puissent devenir obsolètes à mesure que les exigences évoluent. L'intégration au contrôle de version résout ce problème : tout changement apporté à la spécification crée un nouveau commit, déclenche une révision et oblige l'équipe à réévaluer le code associé. En pratique, traiter les spécifications comme du code permet de maintenir la documentation à jour.
À surveiller prochainement
L'adoption n'en est qu'à ses débuts, mais la dynamique est visible. À mesure que les générateurs de code par IA gagnent en capacité, le besoin d'une intention précise et lisible par machine ne fera que croître.
L'essentiel : Transformer des prompts vagues en spécifications concrètes et révisées peut sembler être une étape supplémentaire, mais cela transforme les suppositions en décisions responsables.
