M1Fundamentos: qué es SDD y por qué importa

Semana 1 de 4 Carga 2-3 horas Entregable Tu primera spec

1.1 El problema que SDD resuelve

Antes de definir qué es SDD, hay que entender qué falla sin él.

Cuando usas IA para programar sin método, ocurre esto:

  1. Tienes una idea o un requisito vago en la cabeza.
  2. Se lo describes a la IA más o menos como te sale.
  3. La IA genera código. Parece que funciona.
  4. Empiezas a probarlo. Hay cosas que no cuadran.
  5. Corriges con otro prompt. La IA arregla unas cosas y rompe otras.
  6. Repites hasta que "más o menos funciona" o te rindes.

Este ciclo tiene un nombre: vibe coding. No es desarrollo. Es improvisación cara.

El problema no es la IA. El problema es que tú nunca definiste con precisión qué querías. La IA no puede adivinar lo que no articulas. Cuando el input es vago, el output es aleatorio.

SDD resuelve esto en la raíz: obligarte a pensar antes de pedir.

1.2 Qué es Spec-Driven Development

Definición:
SDD es un método de desarrollo en el que cada unidad de trabajo (feature, refactor, bug fix, integración) empieza por una especificación escrita, precisa y verificable — antes de tocar código.

La spec no es un comentario. No es un ticket de Jira. No es un README. Es un documento estructurado que responde a cuatro preguntas:

  1. ¿Qué contexto existe? — Qué sabe la IA sobre el sistema, el estado actual, las restricciones.
  2. ¿Qué comportamiento se espera? — Qué tiene que hacer exactamente el código que se va a generar.
  3. ¿Qué restricciones aplican? — Qué no puede hacer, qué patrones debe seguir, qué no debe tocar.
  4. ¿Cómo se valida? — Qué tests o criterios confirman que el resultado es correcto.

Con esas cuatro respuestas escritas, le das a la IA un contrato claro. Ella ejecuta. Tú validas contra la spec. No hay ambigüedad.

1.3 El ciclo SDD

Requisito Specaquí está el trabajo Implementaciónla IA Validacióncontra spec

Requisito → Spec → Implementación → Validación → Cierre.

REQUISITO
    ↓
  SPEC  ← (aquí está el trabajo real)
    ↓
IMPLEMENTACIÓN (la IA)
    ↓
VALIDACIÓN (contra la spec)
    ↓
  CIERRE o ITERACIÓN

El trabajo humano de valor está en la spec. La implementación es delegable casi al 100% a la IA. La validación es rápida si la spec tiene criterios claros.

1.4 SDD vs. otras aproximaciones

AproximaciónCómo funcionaResultado típico
Vibe codingPrompt vago → código → corrección → loopCaos, deuda técnica, frustración
Prompt engineeringPrompt mejor redactado → códigoMejora marginal, sigue siendo frágil
Ticket-drivenTicket de Jira → prompt → códigoDepende de la calidad del ticket
SDDSpec estructurada → implementación → validación automáticaPredecible, mantenible, escalable

La diferencia clave: en SDD el pensamiento va delante del código, siempre.

1.5 Por qué el testing es parte de la spec (no del final)

En el desarrollo tradicional, los tests vienen al final. En SDD, los criterios de validación se escriben en la spec, antes de implementar.

¿Por qué? Porque si no sabes cómo vas a verificar que algo funciona, tampoco sabes exactamente qué quieres que haga.

Los criterios de validación te obligan a ser preciso. Y una vez escritos, la IA puede generar los tests automáticamente desde la spec.

Principio: Si no puedes escribir cómo validar algo, es que aún no has terminado de pensar qué quieres.

1.6 Cuándo usar SDD

SDD aplica a casi todo, pero especialmente cuando:

No vale la pena escribir una spec completa para un cambio de dos líneas obvio. Para todo lo demás, sí.

1.7 SDD y tu método PIE

Tu método PIE (Planificar, Implementar, Evaluar) es compatible con SDD de forma natural:

En el Módulo 6 integraremos SDD completamente en tu flujo PIE. Por ahora, quédate con que no son métodos distintos: SDD es la capa técnica de PIE.

Ejercicio M1 — Tu primera spec

Instrucciones

  1. Elige algo real que tengas pendiente de construir o mejorar en cualquier proyecto tuyo. Puede ser pequeño. No importa el tamaño, importa que sea real.
  2. Escríbelo siguiendo esta estructura mínima:
CONTEXTO:
(Describe brevemente el sistema o proyecto. Qué existe. Qué estado tiene.)

COMPORTAMIENTO ESPERADO:
(Qué tiene que hacer exactamente la funcionalidad que vas a construir.
Sé específico. Nada de "que funcione bien". Qué input, qué output, qué flujo.)

RESTRICCIONES:
(Qué no puede hacer. Qué patrones debe respetar. Qué no debe tocar.)

CRITERIOS DE VALIDACIÓN:
(Cómo sabrás que está bien hecho. Qué tests o comprobaciones lo confirman.)

No te preocupes por hacerlo perfecto. El objetivo es escribir tu primera spec y detectar dónde te cuesta ser preciso — eso ya es aprendizaje.

Entregable M1

Documento con tu primera spec en texto plano. Puedes guardarlo en esta carpeta como: M1-Entregable-PrimeraSpec.md

Una vez la tengas, compártela con Claude para revisión y feedback. Eso abre el Módulo 2.

Resumen del Módulo 1