Spec-Driven Development: ¿Es una buena idea?
Tratando de resolver la ambigüedad en el desarrollo de software
Estoy seguro de que lo has leído en los últimos meses: Spec Driven Development.
¡La nueva frontera! Desde los Specs de tu Product Manager al código implementado por un agente de IA.
Esa es la idea.
Pero te planteo una pregunta: ¿Nos devuelve Specs Driven Development a los tiempos del desarrollo en waterfall?
Primero, empecemos por el aprendizaje de hoy.
📜 ¿Qué es Spec Driven Development?
Spec-Driven Development (SDD) consiste en escribir especificaciones explícitas, ejecutables o fácilmente verificables, antes de escribir el código, y usar esas especificaciones como la fuente de verdad para que herramientas (incluidas IA/LLMs) generen, prueben y validen el software.
En la práctica, GitHub propone tratar Markdown como un “lenguaje de programación” para especificaciones: usar secciones, ejemplos, y bloques que describan comportamiento, API, datos y pruebas.
¿Por qué está ganando tracción?
Con el auge de los asistentes de código, saber describir con precisión lo que quieres se convierte en algo muy útil. La habilidad de redactar especificaciones claras, con ejemplos, criterios de aceptación y casos de prueba, es cada vez más valiosa; permite obtener código más fiable y reproducible de herramientas automáticas.
Si te lo resumiera en 3 pasos, serían:
Escribe la spec en Markdown: objetivo, contratos (endpoints, payloads), ejemplos de entrada/salida y criterios de aceptación.
Genera y prueba: usa la spec para generar código con un agente de IA o herramientas de scaffolding; valida contra los ejemplos y los tests incluidos.
Itera y versiona: la spec evoluciona y actúa como documentación viva y como suite de pruebas.
Si sabes escribir buenas especificaciones, tienes la oportunidad de sacarle mucho más partido a herramientas automáticas y a equipos que trabajan a escala. Como un prompt gigantesco vamos.
Y eso es, sobre el papel, Spec-Driven Development. Hasta aquí el aprendizaje de hoy.
Ahora, la reflexión con la que arranqué el email.
🏞️ ¿Volvemos a Waterfall?
SDD no está destinado necesariamente a devolvernos al waterfall, pero sí puede hacerlo si se aplica mal.
¿Especificaciones muy amplias? No, gracias.
SDD incentiva a escribir especificaciones muy completas antes de implementar. Si la organización exige specs “completas”, eso reproduce el comportamiento típico del waterfall: largos análisis antes de cualquier entrega concreta.
¿Te imaginas tener que hacer un code review de una feature completa implementada por un Agente de IA? Para una POC, tal vez, pero, ¿para código que va a Producción? 😱
¡Pero no hace falta que lo hagamos! Podemos elegir; podemos elegir proveer de especificaciones más pequeñas para que el Agente de IA las procese y desarrolle partes más concretas, más controladas.
¿Qué recomiendo si en tu caso tienes especificaciones grandes?
Trocea esas especificaciones en pequeños entregables
Y trabaja cada pequeño entregable con el Agente de IA
Así conseguirás resultados más efectivos, ya que el Agente de IA trabaja mejor con contextos más concretos.
Cuando las specs son ejecutables, como por ejemplo:
Tests automatizados.
Contratos que se pueden validar.
Implementar una lectura de datos desde Kafka.
En esos casos, actúan como feedback rápido. Eso encaja con ciclos iterativos y entrega continua, no con entregas gigantescas.
✨ Conclusión
Lo que quiero que te lleves del email de hoy es qué es Spec-Driven Development:
Una técnica para que los Agentes de IA desarrollen software a partir de unas especificaciones iniciales.
A partir de ahí, he querido abrir un debate en tu cabeza para que puedas esta técnica de una manera que te sea útil.
Alguien dijo una vez (o muchas):
Un gran poder conlleva una gran responsabilidad.
Spec-Driven Development se plantea como un intento para que los Agentes de IA se encarguen de todo, y en tu mano está concretar qué es ese “todo”.
Personalmente, pienso que si se acota y trocean las especificaciones, es decir, se reduce el scope para conseguir entregables pequeños de forma iterativa, es una técnica que nos puede ayudar en nuestras interacciones con los Agentes de IA.
Me encantaría conocer tu experiencia con Spec-Driven Development; ya sea que estés empezando con ello o que ya te hayas rodado con esta técnica. Puedes responder a este email, comentar si estás en Substack, o mandarme un mensaje por redes sociales 👇🏻
¿Te ha gustado la edición de hoy? Compártela con tus amistades 👇🏻

