Lección 1 de 8 · 6 min
Más allá del VibeCoding aparece el Spec-Driven Development
En esta página
Seguro que te ha pasado.
Abres tu agente de IA, arrancas un proyecto nuevo y empiezas a pedirle cosas. Y te las hace. Y oye, qué bien funciona esto. Sigues adelante, tarde tras tarde, montando ese proyecto que siempre habías querido construir.
Hasta que vuelves a la tercera tarde y aquello no está.
No funciona como debería. Abres el código a ver qué pasa y… el horror. ¿Verdad?
Eso que has estado haciendo tiene nombre: vibe coding. Programar por las vibraciones, por la sensación de que lo que escupe la IA se parece a lo que querías. Y está bien. Para un sábado por la tarde, está perfecto. Pero el software no es solo esperar que las cosas funcionen: es que estén bien hechas por dentro y aguanten el martes que viene.
Aquí entra otra forma de trabajar.
¿Qué es el Spec Driven Development? ¶
El Spec Driven Development (SDD) le da la vuelta a todo lo anterior.
En vez de pedirle a la IA lo primero que se te pasa por la cabeza, primero escribes una especificación: un documento que dice qué quieres construir de verdad, antes de que se escriba una línea de código. No es un plan. Es el contrato que tu agente va a leer y respetar.
¿Y en qué formato? En Markdown. Esos ficheros .md que las IA han puesto de moda. Texto plano que la máquina entiende y que tú puedes leer y corregir cuando quieras. Esa es tu fuente de verdad.
El flujo cambia según la herramienta, pero casi siempre tiene estas cuatro piezas:
- La spec — el qué y el quién. Historias de usuario, escenarios de éxito y de fracaso. Aquí no hay detalles técnicos todavía.
- El diseño — el cómo. Stack, modelos de datos, endpoints, arquitectura. Y, lo que más se olvida, lo que NO hay que tocar.
- Las tareas — la lista de la compra. Una checklist con sus casillas para ir marcando lo hecho.
- La implementación — el código, ya con todo el contexto delante.
¿De dónde sale esto? ¶
No es un invento de la era de la IA.
Esto viene de la gente que manda cohetes a la Luna. Cuando un cohete despega no hay muchas oportunidades de cambiar nada: o sube o explota. Así que todo tiene que estar bien especificado antes de encender motores.
Y si llevas tiempo programando, te sonará de algo más cercano: el TDD y el BDD, escribir los tests antes que el código. La idea aquí es gemela: escribir la especificación antes de que la IA escriba el código.
Seamos sinceros: documentar no mola. Nunca ha molado. Escribir los tests antes tampoco molaba, hasta que te acostumbrabas y el software salía mucho más robusto. La buena noticia es que no vas a documentar a mano: para eso están los frameworks de SDD. Y en este curso vamos a usar uno.
🔑 SDD en una frase: en vez de adivinar a base de chat, defines qué quieres en un documento que la IA respeta. Lo opuesto al vibe coding.
Qué vas a hacer en este curso (y qué no) ¶
Aquí vas a usar OpenSpec, un framework sencillo, open source y —esto importa— pensado para proyectos que ya existen, no solo para empezar de cero.
Y lo vamos a hacer de la forma más cómoda que hay: con su modo asistido. Le dices a OpenSpec que te lleve de la mano y recorre el ciclo entero por ti, sobre un proyecto de juguete (una API de chistes de Chiquito de la Calzada, sí, ese gran humorista). Tú miras, él conduce.
Al terminar vas a:
- Tener OpenSpec instalado y funcionando en un proyecto real.
- Haber visto el ciclo completo de principio a fin: spec, diseño, tareas, código y archivado.
- Entender qué hace cada artefacto y por qué está ahí.
- Haber dado tu primer ciclo a mano, sin rueditas.
Y ahora lo que NO vas a aprender aquí, que prefiero soltártelo de entrada:
Esto no te convierte en piloto. Vas de copiloto. No vas a ver cómo se toma el control fino del proceso, ni cómo se mete SDD en un proyecto grande o heredado, ni cómo te montas tu propio flujo a medida. Eso es otra liga y llega más adelante.
Lo que sí te llevas es el mapa mental completo y la herramienta funcionando. Que no es poco para una tarde.
Empezamos ¶
En la siguiente lección instalamos OpenSpec y conocemos el proyecto con el que vas a trabajar.
¿Listo para dejar de programar a vibraciones? Abre la terminal, que vamos.