Ce billet de blog explore le concept de "Spec-Driven Development" (SDD) comme alternative à la méthode de "vibe coding" avec les outils d'IA de codage. L'auteur, travaillant dans l'ingénierie des paiements, explique que le SDD consiste à écrire une spécification structurée avant de laisser l'IA implémenter le code, contrairement à la méthode intuitive de "vibe coding" où l'on affine les prompts jusqu'à obtenir un résultat fonctionnel. L'article met en lumière les problèmes de perte de contexte et de dérive architecturale liés à l'utilisation excessive des prompts, surtout dans des systèmes critiques comme les paiements, où les failles de sécurité peuvent avoir des conséquences graves. Le SDD, avec des outils comme OpenSpec, permet de formaliser le processus de développement et d'éviter ces pièges.
La Specification Driven Development (SDD) est une approche de développement logiciel qui replace la spécification détaillée des exigences avant l’écriture du code comme artefact central du projet : cette spécification, souvent en texte structuré (ex. Markdown), décrit le comportement attendu du système et sert de source de vérité pour guider conception, implémentation et tests, contrastant avec les méthodes où les tests ou documents techniques viennent après le code ; historiquement issue d’une évolution des pratiques (TDD → BDD), elle vise à réduire les erreurs, ambiguïtés et malentendus entre parties prenantes en clarifiant l’intention dès le départ et en maintenant la documentation vivante et accessible dans le même dépôt que le code.