Extra BEjercicios prácticos guiados — paso a paso
Cada ejercicio aquí tiene instrucciones concretas: qué abrir, qué escribir, qué click dar.
Ejercicio M1 — Tu primera spec (versión guiada)
Objetivo: Escribir tu primera spec en 30 minutos o menos.
Herramienta: Claude.ai (este chat) + un editor de texto cualquiera (Notes, VSCode, Word)
No necesitas: instalar nada, tener un proyecto perfecto, saber programar bien
Paso 1 — Elige el objeto de la spec (5 minutos)
Piensa en algo que tengas pendiente de hacer en cualquier proyecto tuyo. Puede ser muy pequeño. Ejemplos reales:
- "Quiero añadir un botón de 'volver arriba' en gowy.es"
- "Quiero que el dashboard de mi proyecto interno muestre un badge cuando hay tareas pendientes de revisión"
- "Quiero crear la página de inicio de sesión de Recepcionista Digital"
- "Quiero que mi CLAUDE.md base esté listo para cualquier proyecto nuevo"
Si no tienes nada pendiente concreto, usa este:
"Quiero una página simple en HTML que muestre mis proyectos activos con nombre, estado y un link"
Paso 2 — Rellena la plantilla mínima (15 minutos)
Abre un editor de texto y copia esto:
CONTEXTO:
[Describe el proyecto o sistema. Qué existe ahora mismo. Stack si lo sabes.]
COMPORTAMIENTO ESPERADO:
[Qué tiene que hacer exactamente. Sé específico: qué ve el usuario, qué pasa cuando hace X.]
RESTRICCIONES:
[Qué no puede hacer. Qué tecnologías debe o no debe usar. Qué no debe tocar.]
CRITERIOS DE VALIDACIÓN:
[Cómo sabrás que está bien hecho. Escribe al menos 2 criterios verificables.]
Rellénalo con tu caso. No te preocupes por hacerlo perfecto. Si un bloque te cuesta, escribe lo que puedas y pon "❓" donde tengas duda.
Paso 3 — Pégala (2 minutos)
Cuando tengas algo escrito (aunque sea imperfecto), pégalo en el chat con el mensaje:
"Aquí mi primera spec. Revísala."
Recibirás feedback concreto sobre qué está bien y qué mejorar. Ese feedback es el aprendizaje real del M1.
Señales de que lo estás haciendo bien
- ✅ El comportamiento esperado describe qué ve o hace el usuario, no solo qué hace el sistema
- ✅ Los criterios de validación son concretos ("retorna 200", "muestra el mensaje X", "el botón aparece")
- ✅ Hay al menos una restricción técnica o de alcance
- ✅ Puedes leerla en voz alta y alguien que no sabe del proyecto entiende qué se va a construir
Señales de que hay que mejorar
- ❌ El comportamiento dice "que funcione bien" o "que sea intuitivo"
- ❌ No hay criterios de validación o son subjetivos ("que se vea bien")
- ❌ El contexto está vacío o dice solo "es un proyecto web"
- ❌ No hay ninguna restricción
Ejercicio M2 — Spec completa de 9 bloques (versión guiada)
Objetivo: Ampliar tu spec del M1 al formato completo profesional.
Herramienta: Editor de texto + Claude.ai para revisión
Tiempo estimado: 45-60 minutos
Paso 1 — Recupera tu spec del M1
Abre el archivo donde guardaste la spec del M1.
Paso 2 — Añade los bloques que faltan
Copia esta plantilla completa y rellena los nuevos bloques:
# SPEC: [TÍTULO — usa un verbo: "Implementar X", "Añadir Y", "Crear Z"]
**Fecha:** [hoy]
**Estado:** en-progreso
**Proyecto:** [nombre del proyecto]
---
## CONTEXTO
[Lo que ya tenías en el M1. Amplíalo: menciona archivos concretos si los sabes.]
## OBJETIVO
[Por qué se hace esto. 1-2 frases. El valor que aporta, no el qué.]
## COMPORTAMIENTO ESPERADO
[Lo que ya tenías. Amplíalo con TODOS los estados:
- ¿Qué pasa en el caso exitoso (happy path)?
- ¿Qué pasa si hay un error?
- ¿Qué pasa mientras carga (si aplica)?
- ¿Qué pasa si no hay datos?]
## RESTRICCIONES
[Lo que ya tenías. Añade al menos 2 más si puedes.]
## CASOS LÍMITE
[NUEVO — Los casos no obvios. Pregúntate: ¿qué pasa si...?
- ¿Qué pasa si el usuario hace click dos veces seguidas?
- ¿Qué pasa si no hay conexión a internet?
- ¿Qué pasa si el campo está vacío?
- ¿Qué pasa si el dato viene en formato inesperado?]
## CRITERIOS DE VALIDACIÓN
[Lo que ya tenías. Convierte cada comportamiento en un test verificable.
Formato: "Dado [situación] → [resultado esperado]"]
## NOTAS TÉCNICAS
[NUEVO — Información útil para quien implemente.
¿Hay código existente que se puede reutilizar?
¿Hay una API o función que ya hace parte del trabajo?
Si no tienes nada, escribe "N/A — no hay contexto técnico previo relevante"]
## FUERA DE ALCANCE
[NUEVO — Lista explícita de lo que NO entra en esta spec.
Si no se te ocurre nada, piensa en lo que vendría "después natural" de esta feature.]
Paso 3 — Comprueba con la checklist
Antes de compartir la spec para revisión, marca cada punto:
□ El título empieza con un verbo de acción
□ El contexto menciona al menos un archivo o módulo concreto
□ El comportamiento describe el happy path Y al menos un estado de error
□ Hay al menos 3 restricciones
□ Hay al menos 2 casos límite
□ Los criterios siguen el formato "Dado X → resultado Y"
□ Hay algo en FUERA DE ALCANCE
Si hay algún □ vacío, rellénalo antes de pegar la spec.
Paso 4 — Pégala para revisión
Mensaje sugerido:
"Spec completa del M2. He rellenado los 9 bloques. Revísala."
Ejercicio M3 — Configurar el entorno (versión guiada)
Objetivo: Crear la estructura SDD en un proyecto real tuyo.
Herramienta: Terminal (Mac/Linux) o Explorador de archivos + VSCode
Tiempo estimado: 30-45 minutos
Paso 1 — Elige el proyecto (2 minutos)
Elige uno de tus proyectos que tengas en local en tu ordenador. Criterio: el que abras más frecuentemente esta semana.
Paso 2 — Crea la estructura de carpetas
Opción terminal (Mac/Linux):
cd /ruta/a/tu/proyecto
# Crear estructura SDD
mkdir -p ai/specs/pendientes
mkdir -p ai/specs/en-progreso
mkdir -p ai/specs/completadas
mkdir -p ai/decisiones
mkdir -p ai/contexto
mkdir -p ai/plantillas
# Crear archivos base
touch CLAUDE.md
touch ai/plantillas/spec-template.md
touch ai/plantillas/adr-template.md
echo "Estructura SDD creada correctamente"
ls ai/
Opción explorador de archivos (Windows o si prefieres GUI):
- Abre la carpeta del proyecto en el Explorador
- Crea carpeta
ai - Dentro de
ai, crea:specs,decisiones,contexto,plantillas - Dentro de
specs, crea:pendientes,en-progreso,completadas - En la raíz del proyecto, crea el archivo
CLAUDE.md
Paso 3 — Escribe el CLAUDE.md
Abre CLAUDE.md y rellena esta plantilla (la versión completa la tienes en el M3).
Paso 4 — Mueve la spec del M2 a su carpeta
Copia el archivo de tu spec del M2 a ai/specs/en-progreso/. Nómbralo con este formato: feature-[nombre-corto].spec.md
Ejemplo: feature-filtro-estado.spec.md
Paso 5 — Comparte el CLAUDE.md para revisión
"CLAUDE.md del proyecto [nombre]. Revísalo."
Ejercicio M4 — Ciclo completo (versión guiada)
Objetivo: Ejecutar SDD end-to-end con una feature real.
Herramienta: La que uses habitualmente (Copilot, Claude.ai, Claude Code)
Tiempo estimado: 2-3 horas
Paso 1 — Elige la feature a implementar
Usa la spec que tienes de los ejercicios anteriores. Si quieres algo nuevo, elige algo que puedas implementar en 1-2 horas.
Paso 2 — Prepara la sesión de implementación
Abre la herramienta que uses. Prepara este mensaje de inicio:
Voy a darte contexto del proyecto y luego una spec para implementar.
Lee ambos documentos completos antes de escribir una sola línea de código.
Cuando termines de leer, dime en un párrafo:
1. Qué vas a implementar
2. En qué orden
3. Qué archivos vas a crear o modificar
Solo cuando yo diga "adelante", empieza.
--- CONTEXTO DEL PROYECTO ---
[Pega aquí el contenido de tu CLAUDE.md]
--- SPEC A IMPLEMENTAR ---
[Pega aquí tu spec completa]
Paso 3 — Verifica el plan antes de implementar
Lee el párrafo de confirmación de la IA. Comprueba:
- ¿Va a implementar lo que dice COMPORTAMIENTO ESPERADO?
- ¿Va a respetar las RESTRICCIONES?
- ¿Los archivos que menciona son los correctos?
Si algo no cuadra, corrígelo antes de decir "adelante":
"En el punto 2 has dicho X pero la spec dice Y. Ajusta el plan."
Si todo cuadra, escribe: "adelante"
Paso 4 — Supervisa la implementación
Mientras la IA implementa, ten la spec abierta en otra ventana. Comprueba en tiempo real:
- ¿Está implementando algo que está en FUERA DE ALCANCE? → Para y reconduces
- ¿Está ignorando una RESTRICCIÓN? → Para y reconduces
- ¿Está manejando los CASOS LÍMITE? → Si llega a esa parte de la implementación
Reconducción estándar:
"Para. La spec dice en el bloque RESTRICCIONES que [X]. Por favor ajusta."
Paso 5 — Valida contra la spec
Cuando la IA termine, toma los CRITERIOS DE VALIDACIÓN uno a uno:
Criterio 1: [cópialo de la spec]
Resultado: ✅ / ❌
Notas: [qué pasó]
Criterio 2: [cópialo de la spec]
Resultado: ✅ / ❌
Notas: [qué pasó]
Si alguno falla → le dices a la IA: "El criterio [N] falla. La spec dice [X]. Corrígelo." No corrijas el código tú. Que lo corrija la IA desde la spec.
Paso 6 — Documenta la sesión
Crea ai/worklog.md y añade una entrada:
## Sesión [fecha]
**Spec implementada:** [nombre del archivo de spec]
**Estado al cerrar:** completada / en progreso / bloqueada
**Criterios validados:** N/M pasaron
**Desviaciones detectadas:**
- [Lista de veces que la IA se desvió y cómo la reconduces]
**Fuera de scope detectado:**
- [Lista de cosas que emergieron y no estaban en la spec → nuevas specs pendientes]
**Próximo paso:**
- [Qué viene ahora]
Ejercicio M5 — Árbol de specs (versión guiada)
Objetivo: Mapear todo el trabajo pendiente de un proyecto en forma de árbol de specs.
Herramienta: Editor de texto + Claude.ai para ayuda si la necesitas
Tiempo estimado: 2 horas
Paso 1 — Lista todo lo que "está pendiente" en el proyecto
No pienses en specs todavía. Solo lista en texto libre todo lo que queda por hacer. Puede ser desordenado.
- Falta el login
- El filtro de categorías no funciona bien
- Hay que añadir paginación
- El scraper falla a veces con fuentes externas
- Falta la página de perfil de usuario
- Las alertas por email no están implementadas
- El diseño mobile está roto en la página de detalle
Paso 2 — Agrupa y clasifica
Agrupa los items en features (funcionalidades coherentes):
Feature A: Autenticación → [login, registro, perfil de usuario]
Feature B: Listado y filtros → [filtro categorías, paginación]
Feature C: Notificaciones → [alertas por email]
Feature D: Scraper → [fallo con fuentes externas]
Feature E: Mobile → [diseño roto en detalle]
Paso 3 — Prioriza y mapea dependencias
Para cada feature, responde:
- ¿De qué depende? (¿necesita otra feature para funcionar?)
- ¿A qué bloquea? (¿sin esta, otra feature no puede avanzar?)
- ¿Cuál es la prioridad? (alta / media / baja)
Feature A (Auth): sin dependencias. Bloquea: C (alertas necesitan usuario). Prioridad: alta
Feature B (Filtros): sin dependencias. No bloquea nada crítico. Prioridad: media
Feature C (Notificaciones): depende de A. Prioridad: baja hasta completar A
Feature D (Scraper): sin dependencias. Prioridad: alta (afecta datos core)
Feature E (Mobile): sin dependencias. Prioridad: media
Paso 4 — Escribe la System Spec
Usa la plantilla del M5 para escribir la System Spec del proyecto. Incluye la tabla de features con su estado y dependencias.
Paso 5 — Escribe Feature Specs para las 2 más prioritarias
Para las 2 features de mayor prioridad, escribe la Feature Spec completa (9 bloques).
Paso 6 — Comparte el árbol completo para revisión
"Árbol de specs del proyecto [nombre]. Revísalo."
Ejercicio M6 — Tu Playbook (versión guiada)
Objetivo: Escribir tu protocolo operativo personal de SDD.
Herramienta: Editor de texto o Google Docs
Tiempo estimado: 1-2 horas
Paso 1 — Responde estas preguntas primero (no las omitas)
Escribe las respuestas en texto libre, sin estructura:
- ¿Qué es SDD para ti, en tus propias palabras? (no copies la definición del curso)
- ¿Qué es lo más difícil de aplicarlo hasta ahora?
- ¿Qué parte del método notas que ya te sale más natural?
- ¿Cuáles son las 3 cosas que hacías antes de SDD y que ahora reconoces como anti-patterns?
- ¿Cómo lo aplicarás diferente en tu contexto corporativo vs. en tus proyectos personales?
Paso 2 — Construye el Playbook desde las respuestas
Usa la estructura del M6 y rellénala con lo que acabas de escribir. No inventes. Usa tus propias palabras reales.
Paso 3 — Define tus 5-7 reglas personales
Las reglas deben venir de tu experiencia durante el curso, no de los módulos. Ejemplos de reglas reales:
- "Nunca abro el chat de Copilot sin tener la spec lista"
- "Si no puedo escribir los criterios de validación, no he terminado de pensar la feature"
- "El CLAUDE.md se actualiza cada vez que tomo una decisión técnica nueva"
Paso 4 — Comparte el Playbook
"Mi SDD Playbook v1.0. Revísalo."
Recibirás feedback sobre qué está bien consolidado y qué todavía suena a teoría no interiorizada.