IA4 nov 2026

¿Spec-Driven Development es waterfall? Depende del ciclo de vida y del tipo de aplicación

Tiempo de lectura: 12 minutos


Cada vez que hablamos de Spec-Driven Development (SDD) en un curso o en una empresa aparece la misma objeción: "esto es waterfall con otro nombre". Y casi siempre aparece también la respuesta contraria, igual de rotunda: "no, las specs son ligeras y se iteran".

Las dos frases tienen parte de razón, y las dos fallan por lo mismo: hablan de Spec-Driven Development en general. Escribir una spec antes de que el agente genere código puede ser justo lo que necesita un equipo. Y, en otro contexto, la forma más rápida de construir, y muy bien, algo que nadie quería.

En resumen
  • Por qué te importa: con agentes de IA, programar lo que dice una spec cuesta cada vez menos. Por eso el error caro ya no está en el código, sino en la spec: si describe algo que el cliente no necesita, el agente lo construye rápido y bien, pero no es lo que hacía falta. Y que SDD acabe siendo un waterfall depende del contexto, no del método.
  • Qué aporta este artículo: dónde está exactamente el riesgo, cómo cambia según la etapa del ciclo de vida del producto (y de cada parte de él) y según el tipo de aplicación, y cómo combinar SDD con un dual track (descubrir y construir a la vez) para no especificar antes de tiempo.
  • Qué te llevas: unas tablas para situar tu contexto, criterios para saber cuándo algo está listo para convertirse en spec y cómo lo aprendido vuelve a la Definición de Done.

Dónde está el riesgo de que SDD se convierta en waterfall

Spec-Driven Development consiste en escribir, antes de generar código, una especificación con el contexto, el alcance, los criterios de aceptación y las decisiones técnicas, para que personas y agentes construyan lo mismo. Lo explicamos en la guía de Spec-Driven Development.

El riesgo no está en escribir specs. Está en lo que se da por sabido al escribirlas. Estas son las señales de que el proceso se está pareciendo a un waterfall:

  1. Specs grandes y cerradas antes de aprender. Se especifica una funcionalidad completa cuando todavía no se sabe si resuelve el problema del cliente.
  2. La spec se firma y se entrega. Alguien la escribe, otro la ejecuta y nadie la vuelve a abrir aunque aparezca información nueva.
  3. Da pena tirar lo escrito. Como la spec costó mucho de escribir, se construye aunque ya se intuya que no es lo que hacía falta.
  4. El feedback llega tarde. El agente genera rápido, pero el primer usuario real ve el resultado cuando ya está todo construido.
  5. La velocidad tapa el error. El equipo entrega mucho y bien hecho, y tarda en descubrir que no era lo que había que hacer.

Y estas son las señales de que no lo es: specs pequeñas, de una parte del sistema que ya se entiende; specs que se reescriben cuando aparece algo nuevo; y feedback de usuarios o de producción en cada Sprint.

Para compartir

Con agentes de IA, programar lo que dice una spec cuesta cada vez menos. Por eso el error caro ya no está en el código, sino en la spec.

Por qué no se puede responder en general

Decir "SDD es waterfall" o "SDD no es waterfall" sin contexto es tan arriesgado como decir que todos los productos necesitan el mismo nivel de investigación de usuarios. Hay al menos dos variables que cambian la respuesta: en qué etapa del ciclo de vida está lo que vas a construir y qué tipo de aplicación es.

Las dos responden a la misma pregunta: ¿cuánto sabemos ya del problema, del cliente y de la técnica? Cuanto más se sabe, más útil es una spec detallada. Cuanto menos, más riesgo tiene escribirla demasiado pronto.

Primer eje: el ciclo de vida del producto (y de cada parte de él)

Un producto pasa por nacimiento, crecimiento, madurez y declive. En cada etapa cambia lo que se sabe y, con ello, lo que conviene especificar.

EtapaQué se sabeQué hacer con las specsRiesgo si se aplica mal
NacimientoPoco: ni el cliente, ni el modelo de negocio, ni a veces la técnica están clarosSpecs de experimentos: pequeñas, para prototipos que se pueden tirar. Casi todo es descubrirEspecificar el producto entero antes de saber si alguien lo quiere
CrecimientoEl núcleo funciona, pero llegan clientes nuevos, decisiones de escala y de arquitecturaSpec de lo que ya está validado; lo nuevo pasa antes por descubrimientoCongelar con specs decisiones que todavía se están moviendo
MadurezMucho: usuarios, contexto y arquitectura conocidosSDD con poca exploración funciona bien: el contexto conocido alimenta la specQue la rutina impida ver un cambio de mercado o de tecnología
DecliveMucho, y el objetivo es mantener, migrar o retirarSpecs precisas para no romper lo que funciona al cambiarloInvertir en specs detalladas de algo que se va a retirar

El matiz más importante: la etapa no es solo del producto, también de cada parte. Un producto maduro puede tener un módulo en pleno nacimiento: un canal nuevo, una funcionalidad con IA, un mercado nuevo. Decidir el nivel de spec por producto entero es otra forma de generalizar.

Cuatro columnas, una por etapa del ciclo de vida, con una barra que muestra cuánto del trabajo es descubrir y cuánto construir. Nacimiento: casi todo es descubrir; specs de experimentos, pequeñas y desechables. Crecimiento: algo más de la mitad es descubrir; spec de lo validado y lo nuevo pasa antes por descubrimiento. Madurez: casi todo es construir; specs completas porque el contexto se conoce. Declive: casi todo es construir; specs precisas para mantener, migrar o retirar sin romper. Una nota indica que vale para el producto y para cada parte de él.

Segundo eje: el tipo de aplicación

La otra variable es dónde está la incertidumbre. No es lo mismo una herramienta interna que un producto para miles de consumidores.

Tipo de aplicaciónDónde está la incertidumbreCuánto descubrir antes de la spec
Interna, con usuarios conocidosPoca en el cliente (están en la empresa y se les puede preguntar); a veces en la integración con otros sistemasPoco: una conversación con los usuarios y una revisión técnica suelen bastar para escribir la spec
B2B o a medida para un clienteEn lo que el cliente necesita de verdad frente a lo que pide, y en el contexto técnico de su organizaciónLo justo para validar con el cliente antes de comprometer alcance; la spec ayuda a cerrar el acuerdo, pero no sustituye a la validación
B2C con incertidumbre de clienteMucha en el cliente: no lo conoces, no puedes preguntarle cuando quieras y se va si no le sirveMucho en lo que toca a la experiencia y al valor; spec detallada solo de lo que ya se ha validado con usuarios
Empresa o producto nuevoEn todo a la vez: cliente, negocio y técnicaCasi todo: experimentos pequeños, prototipos y specs que se escriben para aprender, no para durar

Esta distinción no es nueva. Ya la usábamos al hablar de integrar UX y Scrum con un dual track (te lo explico en el apartado siguiente): en desarrollos internos se puede validar hablando con el usuario; en productos para clientes externos, el descubrimiento es vital.

Las dos tablas se resumen en una pregunta doble: cuánto sabéis del cliente y del negocio, y cuánto de la técnica. Cruzadas, dan cuatro situaciones, y solo en una conviene escribir la spec completa desde el principio:

Matriz de dos por dos para decidir entre SDD directo y dual track. Eje horizontal: cuánto sabéis del cliente y del negocio; eje vertical: cuánto sabéis de la técnica. Mucho de los dos: SDD directo, riesgo de waterfall bajo (aplicación interna madura, declive para migrar sin romper, la reserva de clases de GymApp). Poco del cliente y mucho de la técnica: dual track de producto, riesgo medio; se descubre el qué con usuarios y solo se especifica lo validado (B2C en crecimiento, B2B con diferencia entre lo que pide y lo que necesita, la racha de asistencia). Mucho del cliente y poco de la técnica: dual track técnico, riesgo medio; una prueba técnica corta antes de la spec (integración con otros sistemas, decisiones de escala y arquitectura). Poco de los dos: experimentos y no specs de producto, riesgo alto (producto o empresa nueva, nacimiento, el entrenador con IA). Cuanto más sabéis, más útil es una spec detallada; vale para el producto y para cada parte de él.
Para compartir

"SDD es waterfall" y "SDD no es waterfall" fallan por lo mismo: hablan en general. La respuesta depende de cuánto sabes ya del cliente, del negocio y de la técnica.

Dual track: descubrir qué construir antes de construirlo bien

Cuando el contexto tiene incertidumbre, la forma práctica de usar SDD sin caer en un waterfall es combinarlo con un dual track. Son dos corrientes de trabajo:

  1. Descubrir qué construir. El porqué y el qué: decisiones sobre el cliente, sobre un contexto técnico que todavía no es maduro y sobre la arquitectura. Aquí se trabaja con entrevistas, prototipos, datos de uso y pruebas técnicas cortas (spikes).
  2. Construir bien lo que ya se ha decidido. Cuando una decisión está madura, pasa a construcción (delivery): una spec lo bastante precisa para que un agente la convierta en código, agentes que generan, personas que revisan y la Definición de Done.

Dos aclaraciones prácticas. No son dos equipos, ni dos fases: el mismo equipo hace las dos cosas en el mismo Sprint, en proporciones distintas según la etapa y el tipo de aplicación. Y no todo pasa por descubrimiento: lo que ya es estable va directo a spec, y ahí SDD aporta toda su eficiencia.

En Scrum, esta separación encaja con el refinamiento estratégico y el táctico: el estratégico decide qué merece construirse; el táctico lo prepara para el Sprint. Y lo que se aprende en una corriente realimenta la otra.

Así se ve en tres sprints de GymApp, la app del caso que usamos en formación (lo contamos con más detalle más abajo):

Dual track en tres sprints de GymApp. Arriba, la fila de descubrir (qué construir: cliente, técnica y arquitectura); abajo, la de construir con SDD (spec, agentes y revisión). En el sprint 1, la racha de asistencia se prueba con un grupo pequeño de socios y, cuando está lista para spec, baja a construir en el sprint 2, donde se escribe la spec de la versión que funcionó. Sus resultados suben en el sprint 3 a descubrir, para validar si mueve la retención. Mientras, el entrenador con IA sigue en descubrimiento con entrevistas y un prototipo que se tira, y dos funcionalidades que ya se entienden (la lista de espera y mover una reserva) entran directas del backlog a construir, sin pasar por descubrir.

Cuándo una decisión está lista para convertirse en spec

Para que el paso de descubrir a construir no dependa de la intuición, ayuda tener unos criterios explícitos. Una parte del producto está lista para spec cuando:

  1. El problema está validado con usuarios o con datos, no solo con la opinión de quien lo pide.
  2. El alcance cabe en un Sprint o se puede partir en trozos que caben.
  3. Las decisiones técnicas están tomadas, o hay una prueba técnica corta que las ha despejado.
  4. Los criterios de aceptación se pueden escribir de forma verificable (por ejemplo, con Given/When/Then o EARS).
  5. Es poco probable que cambie durante el Sprint. Si el equipo espera que cambie a mitad, todavía es descubrimiento.

Si no se cumplen, la alternativa no es "no hacer nada": es un experimento, un prototipo desechable o una prueba técnica. Para eso, el vibe coding (pedirle a la IA que programe sin spec, conversando) es perfectamente razonable: sirve para aprender rápido, no para quedarse en producción.

Para compartir

No todo pasa por descubrimiento. Lo que ya es estable va directo a spec, y ahí Spec-Driven Development aporta toda su eficiencia.

Cómo vuelve lo aprendido a la Definición de Done

El dual track no es un embudo de una sola dirección. Lo que descubre el equipo cambia también qué significa "terminado":

  • Un requisito de rendimiento o de accesibilidad que aparece al probar con usuarios reales pasa a ser un criterio de la Definición de Done.
  • Un riesgo técnico descubierto en una prueba corta (una dependencia frágil, un dato sensible) se convierte en una comprobación que todo cambio debe pasar.
  • Un error en producción que nadie previó se traduce en un nuevo criterio, o en un ajuste de la plantilla de spec.

Así, la Definición de Done y las specs mejoran con lo que se aprende al descubrir. Qué conviene revisar en la Definición de Done cuando la IA hace parte del trabajo lo contamos en ¿Cómo adaptar la Definición de Done al desarrollo con IA?.

Un ejemplo: tres funcionalidades de GymApp, tres tratamientos distintos

Este es el caso que usamos en formación: GymApp, la app de la cadena de gimnasios GymTonic, con Nuria como Product Owner. En el mismo producto conviven tres partes en etapas distintas.

La reserva de clases es una parte madura. Los socios la usan desde hace tiempo, las reglas de negocio se conocen y la arquitectura no da sorpresas. Una mejora (por ejemplo, la lista de espera) va directa a spec: contexto, alcance, criterios de aceptación y decisiones técnicas, y el agente la construye con revisión humana. Aquí, especificar bien es lo eficiente.

La racha de asistencia está en crecimiento. La hipótesis es que mostrar la racha mejora la retención, pero todavía no se sabe qué versión funciona. Nuria y el equipo prueban primero con un grupo pequeño de socios, miden y solo después escriben la spec de la versión que ha demostrado mover la retención.

Un entrenador con IA que propone rutinas está en nacimiento. No se sabe si los socios lo quieren, ni qué datos puede usar sin problemas de privacidad, ni qué arquitectura conviene. Aquí no hay spec de producto: hay experimentos pequeños, entrevistas y alguna prueba técnica desechable.

El mismo equipo, con el mismo método, en el mismo Sprint. La diferencia es cuánto descubrimiento hay antes de cada spec.

Cómo implantarlo según tu contexto

Una forma concreta de empezar, según dónde estés:

Tu contextoQué hacéis cada SprintQué medís
Aplicación interna maduraCasi todo es delivery con SDD; reservad una revisión con usuarios cuando entre algo nuevoRetrabajo de specs y defectos que se escapan
B2B o a medidaValidad con el cliente antes de comprometer alcance; spec de lo acordado y validadoCambios de alcance después de escribir la spec
B2C en crecimientoUna parte del Sprint a descubrimiento (prototipos, pruebas con usuarios); spec solo de lo validadoUso real de lo entregado y specs reescritas tras feedback
Producto o empresa nuevaExperimentos pequeños cada Sprint; specs de prototipos, no de producto finalTiempo desde la idea hasta el primer feedback de usuario

Quién decide qué pasa a spec: el Product Owner, con el equipo, en el refinamiento. Qué queda por escrito: los criterios de "lista para spec" que el equipo haya acordado. Y un límite a tener presente: si todo pasa siempre por descubrimiento, tampoco funciona. El objetivo no es explorar más, sino explorar donde hay incertidumbre y entregar con eficiencia donde no la hay.

Para empezar

Si quieres probar Spec-Driven Development en la parte estable de tu producto, el kit de Spec-Driven Development es gratuito: plantilla de spec, checklist de las cinco preguntas y una Definición de Done para código generado con IA.

FormaciónPara escribir specs ejecutables con un caso real de principio a fin, el curso online Specification-Driven Development. Para la corriente de descubrimiento, Product discovery y validación, también online. Y si trabajas el producto con IA, Professional Scrum Product Owner con IA o, para integrar diseño y desarrollo, Professional Scrum with UX.

Preguntas frecuentes

¿Spec-Driven Development es lo mismo que waterfall?

No necesariamente. Se parece a waterfall cuando se escriben specs grandes y cerradas antes de aprender y nadie las vuelve a abrir. No se parece cuando las specs son pequeñas, de partes que ya se entienden, y se reescriben con lo que aparece cada Sprint. Depende sobre todo del contexto.

¿Cuándo tiene sentido Spec-Driven Development sin mucho descubrimiento previo?

Cuando se conoce bien el contexto: productos o partes en madurez, aplicaciones internas con usuarios accesibles o cambios en sistemas cuya arquitectura no da sorpresas. Ahí el conocimiento acumulado alimenta la spec y SDD aporta toda su eficiencia.

¿Qué es el dual track y cómo se combina con Spec-Driven Development?

Son dos corrientes de trabajo del mismo equipo: descubrir qué construir (cliente, contexto técnico, arquitectura) y construir bien lo ya decidido. Con SDD, solo lo que está maduro pasa a spec; lo incierto sigue en descubrimiento con prototipos o pruebas cortas.

¿Cómo sé si una funcionalidad está lista para escribir su spec?

Cuando el problema está validado con usuarios o datos, el alcance cabe en un Sprint, las decisiones técnicas están tomadas, los criterios de aceptación se pueden escribir de forma verificable y no se espera que cambie durante el Sprint.

¿Spec-Driven Development sirve para una startup o un producto nuevo?

Sirve, pero de otra forma: para especificar experimentos y prototipos pequeños, no el producto final. En un producto nuevo casi todo es descubrimiento, y especificar demasiado pronto es el riesgo principal.


Recursos relacionados

Curso gratis · 1 hora · certificado

Fundamentos de IA en la práctica

De "he probado ChatGPT alguna vez" a usar la IA con criterio en tu trabajo: prompts que funcionan, dónde encaja de verdad y qué no debes pedirle.

RECURSO GRATIS

¿Te ha servido? Llévate esto.

Recursos prácticos que reflejan nuestra forma de trabajar. Sin compromiso, sin pop-ups molestos.