qué es el sdd spec driven develoment ?
Tiempo estimado de lectura: 3 min
- Ideas clave:
- Escribe la especificación antes del código: la spec es la fuente de verdad.
- Mockea y genera clientes para trabajar en paralelo entre frontend y backend.
- Añade contract tests en CI: si la implementación rompe la spec, el despliegue falla.
- SDD reduce errores de integración y facilita integraciones con agentes/LLMs.
Introducción
Si odias las reuniones de “la API cambió, rompe todo” y quieres que tu equipo deje de jugar al teléfono roto entre frontend y backend, necesitas entender qué es el SDD (Spec Driven Development). En la práctica: escribes la especificación antes de tocar el código y conviertes la API en un contrato inmutable que todos cumplen.
Esto no es dogma académico. Es la forma de eliminar bloqueos, acelerar paralelismo y hacer que tus integraciones sean predecibles. Y sí: funciona con agentes de IA, n8n y cualquier cosa que consuma tu API.
Resumen rápido (lectores con prisa)
SDD: la spec (OpenAPI/AsyncAPI/GraphQL Schema) es la fuente de verdad. Se diseña primero, se mockea, se generan SDKs y se prueban contratos en CI. Mejora paralelo frontend/backend y reduce errores de integración.
qué es el sdd spec driven develoment ? — la definición práctica
SDD es una disciplina donde la especificación (OpenAPI, AsyncAPI o un Schema GraphQL) es la fuente de verdad. No es “documentación”, es contrato ejecutable. Se diseña primero, se mockea al instante, se generan SDKs y se prueba que la implementación respete el contrato.
Diferencia clave: en Code-First la verdad vive en el código. En SDD la verdad vive en un YAML/JSON que describe rutas, parámetros, tipos y respuestas. Punto.
Por qué importa (y rápido)
- Frontend y backend trabajan en paralelo sin adivinar.
- Reduces bugs por cambios inesperados.
- Ganas velocidad en onboarding: un dev nuevo lee la spec y ya sabe qué consumir.
- Facilitas integraciones con agentes/LLMs que necesitan “leer” tu API (OpenAI Functions, LangChain).
Referencias útiles: OpenAPI, Stoplight.
Workflow mínimo para empezar con SDD
- Define
openapi.yamlcon endpoints y schemas. - Levanta un mock (Prism) y deja que el frontend consuma datos “reales”.
- Genera clientes tipados y validadores.
- Implementa backend y añade Contract Tests en CI.
- CI/CD falla si la implementación no cumple la spec.
Ejemplo rápido: generar cliente TS desde un spec
npx @openapitools/openapi-generator-cli generate \
-i ./openapi.yaml -g typescript-axios -o ./src/api-client
Herramientas prácticas
- Mocking: Prism
- Lint/Rules: Spectral
- Contract tests: Pact, Dredd
- Codegen: OpenAPI Generator, Orval
Un ejemplo concreto que duele menos
Tienes un endpoint /orders/{id}. En el YAML defines exactamente:
- Qué headers acepta.
- Qué campos estarán en
200y en404. - Qué errores normalizarás (codes y body).
Con eso:
- Frontend crea UI y pruebas contra el mock.
- Backend implementa y corre Pact en CI.
- Si el backend devuelve un campo distinto, CI falla y el deploy no sale.
Sí, suena estricto. Funciona.
SDD y agentes de IA: por qué es crítico ahora
LLMs tienden a “alucinar” cuando no saben cómo interactuar con una API. Darles un OpenAPI bien formado reduce ese ruido: el agente sabe rutas, cuerpos y respuestas válidas. Si estás integrando GPT con funciones o construyendo agentes que llaman tus servicios, SDD no es una sugerencia; es requisito.
Contraindicaciones reales
- Prototipos de 1-2 días o hackathons: overhead inútil.
- Solopreneurs que iteran a ciegas: agilidad pura puede ser más valiosa.
La regla práctica: si tu API tiene más de dos consumidores (frontends, microservicios, terceros), SDD paga su coste en la primera iteración.
Cómo empezar hoy (lista corta y accionable)
- Crea
openapi.yamlen un repo/api-specs. - Añade Spectral como pre-commit para validar la spec.
- Levanta Prism:
npx @stoplight/prism@latest mock ./api-specs/openapi.yaml - Genera cliente TS: ver comando arriba.
- Integra Pact/Dredd en CI para contract testing.
Links rápidos
Conclusión — qué esperar después de implementar SDD
Implementar SDD cambia el ritmo: menos incendios en integración, más trabajo paralelo y APIs que se comportan como contratos. No es mágia gratis: exige disciplina y revisión del contrato antes del código. Pero si tu equipo quiere escalar con confianza, SDD convierte el caos en previsibilidad.
Haz esto ahora: define un endpoint crítico con OpenAPI, levanta un mock y obliga al frontend a usarlo dos días. Verás la diferencia en productividad y llamadas de emergencia. No es el final del camino — es el comienzo de un ciclo de despliegues confiable.
Para recursos y experimentos con agentes y workflows, visita Dominicode Labs. Es una continuación natural si estás aplicando SDD a integraciones con IA y automatizaciones.
FAQ
- ¿Qué es SDD?
- ¿Cuándo no conviene usar SDD?
- ¿Cómo empiezo hoy con SDD?
- ¿Qué herramientas recomiendan para mocking y lint?
- ¿Cómo ayuda SDD con agentes de IA?
- ¿Qué ocurre si la implementación no cumple la spec?
¿Qué es SDD?
SDD (Spec Driven Development) es una disciplina donde la especificación (OpenAPI, AsyncAPI o un Schema GraphQL) es la fuente de verdad. Se diseña primero, se mockea, se generan SDKs y se prueban contratos para asegurar que la implementación respeta la spec.
¿Cuándo no conviene usar SDD?
No es recomendable para prototipos de 1-2 días o hackathons por el overhead. Tampoco suele encajar para solopreneurs que priorizan iteración rápida sobre contratos estrictos.
¿Cómo empiezo hoy con SDD?
Crea openapi.yaml en un repo /api-specs, añade Spectral como pre-commit, levanta Prism con npx @stoplight/prism@latest mock ./api-specs/openapi.yaml, genera cliente TS y añade Pact/Dredd en CI.
¿Qué herramientas recomiendan para mocking y lint?
¿Cómo ayuda SDD con agentes de IA?
Un OpenAPI bien formado reduce “alucinaciones” al dar a los agentes información precisa de rutas, cuerpos y respuestas válidas, lo que es crítico para integraciones con GPT, OpenAI Functions y agentes que llaman servicios.
¿Qué ocurre si la implementación no cumple la spec?
Si la implementación no cumple la spec, los contract tests en CI hacen que CI/CD falle y el deploy no se realice hasta corregir la divergencia.

Leave a Reply