@madkoding
hace 179 días
Spec-Driven Development (SDD) - Guía Rápida
> La metodología que transforma especificaciones en código de calidad con IA
🚀 Resumen
SDD: La especificación es la fuente de verdad. El código se deriva de ella.
- ✅ Define QUÉ y POR QUÉ antes de CÓMO
- ✅ Compatible con agentes de IA
- ✅ 4 fases: Specify → Plan → Tasks → Implement
- ✅ 3 niveles: Spec-First → Spec-Anchored → Spec-as-Source
📚 ¿Qué es una Spec?
Artefacto estructurado que describe QUÉ debe hacer el software y POR QUÉ.
| Concepto | Alcance | Ejemplo |
|---|---|---|
| Spec | QUÉ + POR QUÉ | spec-notificaciones.md |
| Constitución | Principios del proyecto | CLAUDE.md, .cursorrules |
| Plan técnico | CÓMO implementar | plan-notificaciones.md |
| Tareas | Unidades ejecutables | tasks-notificaciones.md |
🎯 3 Niveles de Madurez
| Nivel | Spec primero | Spec actualizada | Código regenerado |
|---|---|---|---|
| Spec-First | ✅ | ❌ | ❌ |
| Spec-Anchored | ✅ | ✅ | ⚠️ Parcial |
| Spec-as-Source | ✅ | ✅ | ✅ Completo |
> 💡 Recomendación: Comienza con Spec-First y evoluciona gradualmente.
🔄 Las 4 Fases
Specify → Plan → Tasks → Implement
QUÉ+POR QUÉ → CÓMO → Unidades → Código+Tests
- Specify: Captura intención, criterios de éxito, límites
- Plan: Decide tecnologías, arquitectura, dependencias
- Tasks: Descompón en unidades atómicas ejecutables
- Implement: Agente IA genera código; humano valida contra spec
📝 Anatomía de una Spec
markdown# Título + resumen (1-2 oraciones)
## Contexto y motivación
¿Por qué se necesita? ¿Qué problema resuelve?
## Criterios de éxito
- Métricas cuantificables
## Requisitos funcionales
- Comportamientos esperados
## Restricciones
- Stack, APIs, patrones del proyecto
## Fuera de alcance ⚠️
- Qué NO construir
## Criterios de aceptación
- Given/When/Then verificables
Principios clave
- Separar QUÉ de CÓMO
- Ser precisa sin ser excesiva
- Incluir siempre "fuera de alcance"
- Si >2 páginas, descomponer la feature
🤖 SDD con Agentes IA
5 Principios
- Diseñar antes de implementar (no codificar sin spec revisada)
- Modelo capaz para spec/plan; modelo rápido para implementación
- Revisión humana entre cada fase
- Mantener spec dentro del contexto del agente
- Tests como guardrails automáticos
Flujo multi-agente
| Fase | Agente | Modelo | Output |
|---|---|---|---|
| Specify | Planificador | Alta capacidad | spec.md |
| Plan | Arquitecto | Alta capacidad | plan.md |
| Tasks | Planificador | Intermedio | tasks.md |
| Implement | Implementador | Rápido | Código+Tests |
| Review | Revisor | Alta capacidad | Observaciones |
> ⚠️ Usa agentes diferentes para código y tests.
✅ ¿Cuándo usar SDD?
Usar cuando:
- Proyecto nuevo + IA genera código
- Múltiples equipos trabajan en paralelo
- Requisitos de compliance/regulatorios
- Modernización de legado
- Funcionalidad compleja con múltiples stakeholders
Evitar cuando:
- Prototipo descartable
- Bugfix trivial
- Cambio pequeño por desarrollador con contexto completo
Guía rápida
| Pregunta | Si SÍ | Si NO |
|---|---|---|
| ¿Con asistencia de IA? | Recomendado | Opcional |
| ¿+2 personas? | Recomendado | Evaluar |
| ¿+3 criterios aceptación? | Recomendado | Historia de usuario basta |
| ¿Código vivirá +3 meses? | Recomendado | Evaluar prototipo |
| ¿Compliance/seguridad? | Necesario | Recomendado |
⚠️ Antipatrones Comunes
| Antipatrón | Consecuencia | Solución |
|---|---|---|
| Spec monolítica | Agente pierde contexto | Descomponer con INVEST |
| Spec como código | Pierde separación QUÉ/CÓMO | Mover detalles al plan |
| Spec abandonada | No refleja realidad | Incluir en Definition of Done |
| Over-specification | Parálisis por análisis | Aplicar MoSCoW |
| Bypass del review | Errores se propagan | Gates obligatorios entre fases |
🛠️ Buenas Prácticas
Sobre la Spec
- Empezar por una feature, no todo el sistema
- Spec más corta que sea completa (<2 páginas)
- Versionar specs junto al código (
specs/) - Usar lenguaje de dominio, no jerga técnica
Con Agentes IA
- Commit temprano y frecuente
- Code review cada 3-4 tareas
- Pedir plan antes de implementar
- Tests de integración lo antes posible
- Actualizar spec si se descubre algo nuevo
En el Equipo
- Spec escrita en colaboración (Product+Eng+QA)
- La calidad no depende del prompting individual
- Junior siguiendo el flujo = resultados de senior
🎯 Conclusión
> SDD no es Waterfall. Es la respuesta a: IA genera código rápido, pero velocidad sin dirección = deuda técnica.
Próximos pasos:
- Piloto con una feature real
- Definir constitución del proyecto
- Capacitar al equipo
- Iterar y ajustar
Visión: El ingeniero evoluciona de escribir código → definir intención → validar propósito.
📖 Glosario Rápido
| Término | Definición |
|---|---|
| SDD | Spec es artefacto primario |
| Drift | Divergencia spec-código |
| Vibe Coding | IA sin estructura previa |
| INVEST | Independent, Negotiable, Valuable, Estimable, Small, Testable |
| MoSCoW | Must/Should/Could/Won't Have |
@madkoding
hace 179 días
Spec-Driven Development (SDD) - Guía Rápida
> La metodología que transforma especificaciones en código de calidad con IA
🚀 Resumen
SDD: La especificación es la fuente de verdad. El código se deriva de ella.
- ✅ Define QUÉ y POR QUÉ antes de CÓMO
- ✅ Compatible con agentes de IA
- ✅ 4 fases: Specify → Plan → Tasks → Implement
- ✅ 3 niveles: Spec-First → Spec-Anchored → Spec-as-Source
📚 ¿Qué es una Spec?
Artefacto estructurado que describe QUÉ debe hacer el software y POR QUÉ.
| Concepto | Alcance | Ejemplo |
|---|---|---|
| Spec | QUÉ + POR QUÉ | spec-notificaciones.md |
| Constitución | Principios del proyecto | CLAUDE.md, .cursorrules |
| Plan técnico | CÓMO implementar | plan-notificaciones.md |
| Tareas | Unidades ejecutables | tasks-notificaciones.md |
🎯 3 Niveles de Madurez
| Nivel | Spec primero | Spec actualizada | Código regenerado |
|---|---|---|---|
| Spec-First | ✅ | ❌ | ❌ |
| Spec-Anchored | ✅ | ✅ | ⚠️ Parcial |
| Spec-as-Source | ✅ | ✅ | ✅ Completo |
> 💡 Recomendación: Comienza con Spec-First y evoluciona gradualmente.
🔄 Las 4 Fases
Specify → Plan → Tasks → Implement
QUÉ+POR QUÉ → CÓMO → Unidades → Código+Tests
- Specify: Captura intención, criterios de éxito, límites
- Plan: Decide tecnologías, arquitectura, dependencias
- Tasks: Descompón en unidades atómicas ejecutables
- Implement: Agente IA genera código; humano valida contra spec
📝 Anatomía de una Spec
markdown# Título + resumen (1-2 oraciones)
## Contexto y motivación
¿Por qué se necesita? ¿Qué problema resuelve?
## Criterios de éxito
- Métricas cuantificables
## Requisitos funcionales
- Comportamientos esperados
## Restricciones
- Stack, APIs, patrones del proyecto
## Fuera de alcance ⚠️
- Qué NO construir
## Criterios de aceptación
- Given/When/Then verificables
Principios clave
- Separar QUÉ de CÓMO
- Ser precisa sin ser excesiva
- Incluir siempre "fuera de alcance"
- Si >2 páginas, descomponer la feature
🤖 SDD con Agentes IA
5 Principios
- Diseñar antes de implementar (no codificar sin spec revisada)
- Modelo capaz para spec/plan; modelo rápido para implementación
- Revisión humana entre cada fase
- Mantener spec dentro del contexto del agente
- Tests como guardrails automáticos
Flujo multi-agente
| Fase | Agente | Modelo | Output |
|---|---|---|---|
| Specify | Planificador | Alta capacidad | spec.md |
| Plan | Arquitecto | Alta capacidad | plan.md |
| Tasks | Planificador | Intermedio | tasks.md |
| Implement | Implementador | Rápido | Código+Tests |
| Review | Revisor | Alta capacidad | Observaciones |
> ⚠️ Usa agentes diferentes para código y tests.
✅ ¿Cuándo usar SDD?
Usar cuando:
- Proyecto nuevo + IA genera código
- Múltiples equipos trabajan en paralelo
- Requisitos de compliance/regulatorios
- Modernización de legado
- Funcionalidad compleja con múltiples stakeholders
Evitar cuando:
- Prototipo descartable
- Bugfix trivial
- Cambio pequeño por desarrollador con contexto completo
Guía rápida
| Pregunta | Si SÍ | Si NO |
|---|---|---|
| ¿Con asistencia de IA? | Recomendado | Opcional |
| ¿+2 personas? | Recomendado | Evaluar |
| ¿+3 criterios aceptación? | Recomendado | Historia de usuario basta |
| ¿Código vivirá +3 meses? | Recomendado | Evaluar prototipo |
| ¿Compliance/seguridad? | Necesario | Recomendado |
⚠️ Antipatrones Comunes
| Antipatrón | Consecuencia | Solución |
|---|---|---|
| Spec monolítica | Agente pierde contexto | Descomponer con INVEST |
| Spec como código | Pierde separación QUÉ/CÓMO | Mover detalles al plan |
| Spec abandonada | No refleja realidad | Incluir en Definition of Done |
| Over-specification | Parálisis por análisis | Aplicar MoSCoW |
| Bypass del review | Errores se propagan | Gates obligatorios entre fases |
🛠️ Buenas Prácticas
Sobre la Spec
- Empezar por una feature, no todo el sistema
- Spec más corta que sea completa (<2 páginas)
- Versionar specs junto al código (
specs/) - Usar lenguaje de dominio, no jerga técnica
Con Agentes IA
- Commit temprano y frecuente
- Code review cada 3-4 tareas
- Pedir plan antes de implementar
- Tests de integración lo antes posible
- Actualizar spec si se descubre algo nuevo
En el Equipo
- Spec escrita en colaboración (Product+Eng+QA)
- La calidad no depende del prompting individual
- Junior siguiendo el flujo = resultados de senior
🎯 Conclusión
> SDD no es Waterfall. Es la respuesta a: IA genera código rápido, pero velocidad sin dirección = deuda técnica.
Próximos pasos:
- Piloto con una feature real
- Definir constitución del proyecto
- Capacitar al equipo
- Iterar y ajustar
Visión: El ingeniero evoluciona de escribir código → definir intención → validar propósito.
📖 Glosario Rápido
| Término | Definición |
|---|---|
| SDD | Spec es artefacto primario |
| Drift | Divergencia spec-código |
| Vibe Coding | IA sin estructura previa |
| INVEST | Independent, Negotiable, Valuable, Estimable, Small, Testable |
| MoSCoW | Must/Should/Could/Won't Have |