Aller au contenu
Ingénierie agentique

Spec-driven development : écrire la recette avant de cuisiner

Quand une IA écrit le code, qu'est-ce qui fait foi : le plat ou la recette ? Le spec-driven development en trois niveaux d'engagement, avec sa règle d'or et ses pièges.

Par Lamine Camara
  • Spec-driven development
  • Spécifications
  • Agents IA
  • Qualité logicielle
Schéma des trois façons de coder avec l'IA : vibe coding, prompt-driven et spec-driven development

En bref. Le spec-driven development (SDD) consiste à écrire d’abord la spécification d’un logiciel, puis à faire produire le code par l’IA à partir d’elle : la spec devient la source de vérité partagée par l’humain et l’IA. La méthode se pratique à trois niveaux d’engagement, du plus léger au plus radical, et le risque monte à chaque marche. Sa règle d’or : quand la réalité diverge, corriger la spec avant le code. Son piège : croire qu’une pile de documents vaut contrôle.

Sans prérequis technique. Le texte principal se lit de bout en bout sans bagage particulier ; les encadrés « Pour aller plus loin » ajoutent le vocabulaire précis pour qui veut creuser.

Imaginez deux cuisiniers. Le premier improvise : une pincée de ceci, un trait de cela, au feeling. Ça sent parfois très bon, mais personne, pas même lui, ne saura refaire le plat demain. Le second écrit sa recette avant de cuisiner : les ingrédients, les étapes, les quantités. Le plat n’est plus une surprise ; c’est l’exécution fidèle d’un plan.

Faire coder une IA fonctionne de la même façon. Pendant deux ans, on l’a pilotée à l’intuition : on lance une demande, on voit ce qui sort, on rejette, on recommence. En 2026, une autre habitude s’installe : écrire d’abord la « recette » (la spécification), puis laisser l’IA cuisiner à partir d’elle. Cette méthode porte un nom, le spec-driven development (SDD). Toute sa subtilité tient dans une question : qui tient la recette à jour quand le plat change ?

Dans cet article, la « recette » désigne la spec, ce document qui décrit ce que le logiciel doit faire. La métaphore est une image pédagogique, absente des sources.

Qu’est-ce que le spec-driven development ?

C’est une façon de développer avec l’IA où la spécification, écrite avant le code et tenue à jour, fait foi pour l’humain comme pour l’IA. On peut le situer sur un continuum, du plus instinctif au plus rigoureux :

Façon de faireCe qui compte vraimentCe qu’il en reste demain
On improvise (vibe coding)La demande jetée au fil de l’eauRien : le plat existe, la recette a disparu
On garde la note (prompt-driven)La demande, conservée comme traceUne note, mais qui n’engage personne
On maintient la recette (spec-driven)La recette elle-même, tenue à jourUn document vivant qui fait foi

Le déplacement est total : on ne cherche plus la bonne formule à taper, on entretient le bon document.

Pour aller plus loin : le continuum en termes exacts Le point de départ est le vibe coding, expression lancée par Andrej Karpathy en février 2025 : piloter l’IA à l’intuition. Le continuum proposé ici, grille de lecture de l’auteur, va du vibe coding (prompt jeté, aucune persistance) au prompt-driven (prompt conservé, sans contrat) puis au spec-driven (spec versionnée, synchronisation explicite dans les deux sens). On peut le rapprocher d’un éventail plus large de méthodes « AI-native » (SDD, BMAD, GSD…), en lui donnant sa question de fond : où réside la vérité du système.

Pourquoi la spec fait-elle foi plutôt que le code ?

Parce que c’est elle qui exprime l’intention, et qu’elle est partagée par l’humain qui décide et l’IA qui exécute. Birgitta Böckeler (Thoughtworks), qui a analysé les outils du domaine sur le site de Martin Fowler, le résume ainsi : « La spec devient la source de vérité pour l’humain et pour l’IA. »

En clair, on écrit la recette avant le plat, et c’est la recette qui tranche en cas de doute. Là où le cuisinier qui improvise traite ses notes comme un brouillon jetable, le spec-driven en fait le document de référence : rangé, relu, mis à jour, et surtout partagé. La recette cesse d’être un pense-bête pour devenir le contrat que les deux consultent.

Quels sont les trois niveaux du spec-driven development ?

Spec-first, spec-anchored et spec-as-source : trois marches, de la plus légère à la plus radicale. La spec peut ne servir qu’à la tâche du jour, accompagner la fonctionnalité pendant toute sa vie, ou devenir l’unique source dont le code n’est qu’une projection, sans jamais être retouché à la main.

Schéma des trois niveaux du spec-driven development : spec-first, spec-anchored et spec-as-source, du plus léger au plus radical

MarcheCe que couvre la recetteLe plat, ensuite…
Spec-firstLa tâche du jour seulement : la recette précède, puis on passe à autre chose…le cuisinier le retouche librement
Spec-anchoredElle dure : elle accompagne le plat pendant toute sa vie…on le fait évoluer en repartant de la recette
Spec-as-sourceElle est tout : le plat n’en est qu’une projection…personne n’a le droit d’y toucher à la main

Le vrai saut de risque se situe entre la deuxième et la troisième marche. Les deux premières gardent l’humain aux commandes du plat. La troisième le lui interdit : c’est un pari lourd sur la régularité d’une IA qui, justement, n’est pas régulière.

Pour aller plus loin : les trois niveaux selon Böckeler Böckeler décrit ces trois paliers dans un article du 15 octobre 2025 : spec-first (une spec écrite d’abord, pour la tâche en cours), spec-anchored (la spec est conservée après la tâche, pour faire évoluer et maintenir la fonctionnalité), spec-as-source (la spec est l’artefact principal, l’humain ne touche jamais au code). Le saut de risque entre les deux derniers niveaux est la lecture de l’auteur ; Böckeler, elle, s’interroge ouvertement sur le réalisme du spec-as-source.

Kiro, spec-kit ou Tessl : quel outil de spec-driven development ?

Le marché a produit trois outils, chacun incarnant un style : Kiro, le plus léger, spec-kit (GitHub), le plus cérémonieux, et Tessl, le plus ambitieux, encore en bêta privée.

OutilStyleEn une phrase
KiroLe plus légerTrois fiches de contexte suffisent ; la recette cadre, puis l’humain garde la main
Spec-kit (GitHub)Le plus cérémonieuxDes règles « constitutionnelles », huit fichiers dans l’exemple étudié, une branche par spec
Tessl (bêta privée)Le plus ambitieuxChaque bout de plat marqué « ne pas toucher » : il vise les marches les plus hautes

Le contraste entre Kiro et spec-kit est parlant. Même ambition affichée (spec-first), mais l’un tient sur trois fiches quand l’autre en empile huit, avec règles et branche dédiée. Plus de cérémonie n’est pas plus de contrôle. Tessl, lui, vise le graal du plat « ne pas toucher », alors même que Böckeler, en le testant, a vu le non-déterminisme des IA à l’œuvre : une bêta sur le pari le plus risqué du domaine.

Pour aller plus loin : les workflows exacts Kiro : Requirements → Design → Tasks, critères d’acceptation GIVEN/WHEN/THEN en markdown, mémoire « steering » sur trois fichiers (product.md, tech.md, structure.md), principalement spec-first. Spec-kit (CLI de GitHub) : Constitution → Specify → Plan → Tasks, principes constitutionnels immuables, huit fichiers dans l’exemple analysé par Böckeler, une branche par spec. Tessl (framework, bêta privée) : correspondance un pour un entre spec et fichier, avec le marqueur // GENERATED FROM SPEC - DO NOT EDIT ; vise le spec-anchored et explore le spec-as-source.

Comment éviter que la spec et le code divergent ?

En corrigeant toujours la spec d’abord, puis le code. C’est la règle d’or du SPDD (Structured-Prompt-Driven Development), une variante proposée en avril 2026 par Wei Zhang et Jessie Jie Xia (Thoughtworks), qui traite les demandes faites à l’IA comme des documents versionnés et maintenus au même titre que le code.

Le SDD seul ne dit pas comment empêcher la recette et le plat de dériver l’un de l’autre. Le SPDD y répond par une règle qui vaut pour tout le domaine :

« Quand la réalité diverge, corrige d’abord le prompt, puis mets à jour le code. » (Wei Zhang et Jessie Jie Xia)

Autrement dit : corrige la recette d’abord, le plat ensuite. C’est cette discipline, et elle seule, qui transforme la recette d’un papier mort en source de vérité vivante. Sans elle, le plat évolue dans son coin, la recette prend la poussière, et six mois plus tard plus personne ne sait laquelle des deux dit vrai.

Pour aller plus loin : SPDD et le REASONS Canvas Le SPDD structure la spec avec le REASONS Canvas, sept dimensions en trois groupes : la partie abstraite (Requirements, Entities, Approach, Structure), la partie spécifique (Operations) et les standards communs, côté gouvernance (Norms, Safeguards). Il s’insère dans un déroulé en six étapes avec des points de contrôle humains, dont une étape de clarification avec le métier. La règle d’or vise à empêcher que l’intention et l’implémentation ne dérivent l’une de l’autre (intent drift).

Le spec-driven development donne-t-il une fausse impression de maîtrise ?

Il le peut, dans sa version cérémonielle. Des spécifications trop bavardes donnent l’illusion de tout contrôler, alors que l’IA ignore ou sur-interprète souvent les consignes qu’on lui empile. Ce contrepoids vient de Birgitta Böckeler elle-même, qui a pourtant posé la grammaire des trois marches.

« Je préfère relire du code plutôt que toute cette pile de fichiers markdown. » (Birgitta Böckeler)

Son alerte, formulée comme une question, porte un nom : la fausse maîtrise. Huit fichiers, des règles, des check-lists : on croit gouverner, on remplit des formulaires que le cuisinier lit de travers.

Le terrain va dans son sens. Une équipe de six développeurs, suivie de l’intérieur pendant huit mois, a évalué l’outil le plus cérémonieux, l’a jugé trop lourd et a adopté un workflow plus léger. Et une étude a montré qu’une recette écrite par une IA peut être presque illisible pour une autre.

Cette critique, à mon sens, ne disqualifie pas le spec-driven, mais sa version cérémonielle. Empiler des documents n’est pas une sécurité ; c’en est parfois le déguisement. La règle simple qui en découle : une recette ne vaut que par le risque qu’elle écarte réellement, pas par le nombre de pages qu’elle compte.

Pour aller plus loin : la critique mot à mot Böckeler s’interroge sur un false sense of control : les workflows verbeux rassurent sans réduire le risque, car les agents ignorent ou sur-interprètent les instructions empilées. Son parallèle historique est le Model-Driven Development (MDD), qui promettait déjà de générer le code depuis un modèle et a buté sur son inflexibilité ; le SDD risquerait de combiner l’inflexibilité du MDD avec le non-déterminisme des LLM, le pire des deux mondes. Elle pose la question d’un mot allemand : Verschlimmbesserung, « améliorer en aggravant ». Deux échos en 2026. Sur le terrain, Nik Malykhin (Thoughtworks, 16 septembre), référent IA d’une équipe de six développeurs pendant huit mois, raconte avoir évalué spec-kit, l’avoir trouvé trop lourd, puis avoir adopté un workflow plus léger. En mesure, une étude d’ingénieurs d’EPAM Systems (arXiv 2608.21208, août 2026), sur une migration d’Oracle vers PostgreSQL, montre qu’une spec produite par Kiro et lue par Gemini ne donne que 2,33 % de SQL syntaxiquement valide : la spec n’est pas neutre d’un agent à l’autre.

Quel niveau de spec-driven development choisir ?

Commencer léger, en spec-first, pour l’immense majorité des équipes ; monter vers le spec-anchored quand le projet le mérite ; et se méfier du tout-spec, pas encore mûr. Le spec-driven est réel et utile, mais sa maturité est très inégale selon la marche.

MarcheVerdictPour qui
Spec-first pragmatiqueÀ adopter. Le meilleur rapport entre discipline et effort : la recette cadre, l’humain garde le plat.Toute équipe qui bute sur le « mur » de l’improvisation
Spec-anchoredÀ piloter. Payant sur les projets qui durent ; exige une vraie discipline de mise à jour.Équipes mûres, projets pérennes
Spec-as-sourceMéfiance. Le plat « ne pas toucher » parie sur une régularité que les IA n’ont pas.Expérimentation surveillée, pas la production

C’est souvent le chemin suivi par nécessité : quand l’improvisation heurte un mur (conventions qui dérivent, contrats qui cassent), le sauvetage consiste à écrire la recette avant de cuisiner.

Une recette lisible plutôt qu’un rituel rassurant

L’improvisation jetait la recette après le plat. Le spec-driven la garde, la range, la partage, et fait le pari qu’une recette lisible en amont vaut mieux qu’un contrôle bricolé après coup. Sur les deux premières marches, le pari est gagnant, et le terrain le confirme. Sur la troisième, il reste ouvert : l’outil qui la vise est encore en bêta, et les IA restent irrégulières.

Une pile de fichiers markdown n’est pas une preuve de maîtrise. Commencez léger, tenez la recette à jour, et méfiez-vous du rituel qui rassure sans rien sécuriser.

Sources

Et chez vous ?

Vos équipes utilisent déjà l’IA pour développer. La question n’est plus de savoir si, mais avec quel cadre : quelles consignes en amont, quels capteurs en aval, et qui les fait évoluer.

Chez Atecna, nous accompagnons les équipes de développement sur ce terrain : diagnostic de maturité, mise en place des guides et des capteurs, industrialisation multi-projets avec notre offre de développement IA, et montée en compétence des équipes.

Questions fréquentes sur le spec-driven development

Qu'est-ce que le spec-driven development ?

Le spec-driven development (SDD) est une façon de développer avec l'IA où l'on écrit d'abord la spécification du logiciel, puis où l'IA produit le code à partir d'elle. La spec, tenue à jour, devient la source de vérité partagée par l'humain et l'IA, au lieu d'être une demande jetable.

Quelle différence entre vibe coding et spec-driven development ?

Le vibe coding pilote l'IA à l'intuition : on lance une demande, on regarde le résultat, on recommence, et rien ne reste. Le spec-driven development écrit d'abord la recette et la maintient : elle reste un document vivant qui fait foi quand le code évolue, et que l'humain comme l'IA consultent.

Quels sont les niveaux du spec-driven development ?

Trois marches. En spec-first, la spec sert à la tâche du jour. En spec-anchored, elle est conservée pour faire évoluer et maintenir la fonctionnalité. En spec-as-source, elle est l'artefact principal et personne ne touche au code à la main. Le risque monte à chaque marche, surtout vers la dernière.

Que faire quand le code ne correspond plus à la spec ?

Corriger la spec d'abord, puis le code. C'est la règle d'or proposée par le SPDD, une variante du spec-driven development. Sans elle, le code évolue dans son coin, la spec prend la poussière, et plus personne ne sait lequel des deux dit vrai.

Faut-il beaucoup de documents pour bien faire du spec-driven ?

Non. Des specs trop bavardes donnent une fausse impression de maîtrise, car les agents ignorent ou sur-interprètent souvent les consignes empilées. Une équipe a d'ailleurs délaissé l'outil le plus cérémonieux pour un workflow plus léger. Une spec vaut par le risque qu'elle écarte, pas par son nombre de pages.

Trouver le bon niveau de spec pour vos équipes

Diagnostic, cadrage des agents, capteurs, montée en compétence : Ease, la marque IA d'Atecna, aide vos équipes de développement à structurer leur travail avec l'IA.

Parlons de votre projet

Une question après cette lecture ? Un expert Ease vous répond.