Spec-Driven Development: especificaciones técnicas que guían agentes de IA

12 Marzo, 2026

Spec-Driven Development: Por Qué la Especificación Es el Futuro del Desarrollo

Hay una conversación que se repite en casi todos los equipos de ingeniería. Alguien le da una instrucción a un agente de IA, el agente produce algo que técnicamente funciona, y sin embargo está mal. No porque el modelo sea malo. Sino porque nadie especificó qué significaba "bien".

Bienvenidos al nuevo cuello de botella del desarrollo de software.

Durante décadas, la escasez fue de velocidad de escritura. El código tardaba en producirse porque los humanos tardamos en escribir. Hoy esa restricción desapareció: un agente de IA puede generar miles de líneas de código en segundos. El problema es que esas líneas pueden estar perfectamente escritas y perfectamente equivocadas al mismo tiempo.

La escasez ahora es de claridad de intención. Y el Spec-Driven Development (SDD) es la respuesta metodológica más sólida que la industria ha producido para enfrentarla.

El problema real del vibe coding

"Vibe coding" se popularizó como término gracioso. Pero lo que describe no tiene gracia: es la práctica de darle instrucciones vagas a un agente y esperar que adivine la arquitectura correcta.

"Hacé un sistema de notificaciones." "Agregá autenticación." "Implementá el checkout."

Cada una de esas instrucciones obliga al modelo a tomar decenas de decisiones silenciosas. ¿Notificaciones por email, push, o in-app? ¿Autenticación con JWT o sessions? ¿El checkout maneja idempotencia? ¿Qué rol puede ejecutarlo?

El agente no adivina al azar. Completa patrones. Toma la decisión más probable dado el contexto disponible. El problema es que "más probable" no es lo mismo que "correcta para tu negocio", y esa brecha es exactamente donde vive la deuda técnica acelerada. Lo que antes tardaba meses en acumularse, hoy puede generarse en horas.

Casos como el de MercadoLibre —que implementó agentes de IA para casi 20.000 desarrolladores— lo demuestran con claridad: el cuello de botella no era el modelo ni el IDE. Era la calidad del input. Sin contexto explícito, los agentes hacen lo único que pueden: adivinar.

Por qué este problema viene de más atrás

Vale la pena reconocer algo: la IA no creó este problema. Lo amplificó.

Durante décadas, la industria aceptó una inversión jerárquica silenciosa donde el código fuente es tratado como la única fuente de verdad, mientras que los requisitos, los diagramas de arquitectura y los documentos de diseño se consideran artefactos secundarios que inevitablemente se desactualizan. El resultado fue una generación de desarrolladores entrenados para hacer ingeniería inversa de la intención — no para leer documentación, porque esa documentación miente, sino para leer el código y deducir qué se supone que hace.

Un conocimiento tribal, costoso, que vive en las cabezas de las personas y se pierde con cada rotación de equipo.

Los agentes de IA heredaron este mundo. Y en ese mundo sin contexto explícito, producen alucinaciones arquitectónicas tan plausibles que pasan todos los tests de sintaxis y fallan en producción de formas que nadie anticipó.

Qué es el Spec-Driven Development

El Spec-Driven Development propone algo que suena casi obvio cuando lo decís en voz alta: antes de escribir código, escribí una especificación. No un documento de Word que nadie va a leer. Una especificación técnica estructurada, versionada en el repositorio, que define qué hace el sistema, por qué, cómo se integra con lo existente, cuáles son los edge cases, y cuáles son los criterios de aceptación.

Y después —recién después— le pedís al agente que la implemente.

La diferencia no es sutil. Cuando le entregás al agente una especificación bien construida, no le estás dando más contexto. Le estás eliminando el espacio de ambigüedad. La especificación se convierte en el harness: el sistema de restricciones que hace que el agente se comporte de forma predecible, repetible, y alineada con tu intención.

El SDD no es solo una práctica de documentación. Es, en esencia, context engineering en su forma más pura: diseñar y controlar todo lo que un LLM ve antes de generar un solo token.

La evolución desde TDD y BDD

Para entender por qué el SDD importa, vale la pena ubicarlo en la trayectoria de las metodologías que lo precedieron.

El Test-Driven Development (TDD) fue pionero al proponer que las pruebas definieran la funcionalidad antes de la implementación, garantizando corrección técnica a nivel de unidad. Sin embargo, el TDD suele carecer de la visión macroscópica necesaria para alinear componentes técnicos con objetivos estratégicos de negocio.

El Behavior-Driven Development (BDD) extendió este concepto introduciendo lenguajes naturales estructurados (como Gherkin) para facilitar la colaboración entre perfiles técnicos y no técnicos. Mejor alineación con el negocio, pero sin abordar la pregunta de qué pasa cuando quien implementa no es un humano sino un agente de IA.

El Spec-Driven Development subsume y expande ambos. Mientras que el TDD se enfoca en la corrección granular y el BDD en el comportamiento observable, el SDD sitúa la especificación técnica y funcional completa en el centro del ecosistema. La especificación no es una lista de deseos: es un contrato ejecutable que guía a los agentes de IA a través de fases de planificación, descomposición de tareas y validación continua.

TDD BDD SDD
Artefacto central Pruebas unitarias Escenarios de comportamiento Especificaciones y planes técnicos
Audiencia Desarrolladores Devs, QA y Stakeholders Arquitectos, Producto y Agentes de IA
Nivel de abstracción Bajo (código y funciones) Medio (flujos de usuario) Alto (arquitectura e intención)
Enfoque en IA Generación de lógica local Automatización de criterios Orquestación autónoma de sistemas

El flujo: Specify → Plan → Tasks → Implement

La mayoría de los frameworks líderes de SDD —incluyendo GitHub Spec Kit y AWS Kiro— convergen en un flujo de cuatro fases. Cada una tiene un propósito específico y juntas eliminan el espacio donde los agentes cometen errores.

Fase 1: Specify — El "qué" y el "por qué"

El proceso arranca con la creación de una especificación funcional que captura la intención sin entrar todavía en detalles técnicos de implementación. El desarrollador describe el objetivo de alto nivel y la IA ayuda a estructurar una especificación detallada que incluye recorridos de usuario, criterios de éxito, límites del sistema y casos borde.

Esta fase es crítica porque establece el contrato contra el cual se medirá todo el trabajo posterior. En lugar de vivir en un Confluence olvidado, la especificación en SDD es un archivo Markdown versionado en el repositorio — la fuente de verdad absoluta.

Algunas herramientas avanzadas como Traycer incorporan procesos de elicitación: la IA desafía al desarrollador con preguntas estructuradas para eliminar ambigüedades antes de que el proceso avance. ¿Cuántas veces un bug en producción se podría haber evitado con una sola pregunta incómoda al principio?

Fase 2: Plan — La arquitectura del "cómo"

Con la especificación funcional bloqueada, se introduce el plan técnico: el stack, los modelos de datos, los contratos de API, y las restricciones arquitectónicas. El desarrollador guía a la IA para seleccionar los patrones que mejor se adapten al sistema existente, asegurando que la nueva funcionalidad se sienta nativa y no como un parche.

Esta separación de preocupaciones permite que el LLM concentre su capacidad de razonamiento en un objetivo estrecho. Cuando intentás diseñar e implementar al mismo tiempo, el modelo divide su atención — y eso se nota en la calidad del output.

En entornos empresariales, esta fase es donde se aplican las "constituciones" del proyecto: reglas no negociables sobre estándares de codificación, requisitos de seguridad, y presupuestos de rendimiento. La IA evalúa el plan contra estas restricciones antes de que se escriba una sola línea de código.

Fase 3: Tasks — Descomposición atómica

El plan técnico se desglosa en una lista de tareas pequeñas, accionables y revisables. Cada tarea debe poder implementarse y testearse de forma aislada. Esta granularidad permite que los agentes de IA operen de manera más determinista: cada unidad de trabajo tiene entradas, salidas y criterios de éxito explícitamente vinculados a la especificación original.

Para un Tech Lead, esta fase tiene un beneficio adicional: la lista de tareas es una representación exacta del trabajo pendiente, con trazabilidad total hacia la decisión que la originó. No más "¿por qué está este código acá?"

Fase 4: Implement & Validate — El rol del supervisor

Con el backlog de tareas definido, la IA procede a la generación de código. El rol del desarrollador cambia: de escritor a supervisor. Se revisan los diffs contra la especificación y el plan. La validación no es un evento final, sino un proceso continuo donde cada tarea se verifica mediante artefactos de evidencia — trazas de ejecución, resultados de pruebas — generados antes de cada commit. Al final, se cierra el ciclo con una validación completa contra la especificación inicial.

No es Waterfall con otro nombre

La crítica más común al SDD es que suena a Waterfall: escribís todo antes de empezar, y eso mata la agilidad.

Es el argumento equivocado.

El Waterfall fallaba porque el costo de cambio era enorme. Cambiar un requisito tarde en el proceso significaba reescribir código, re-documentar, re-testear. El ciclo de feedback era tan largo que para cuando llegaba la información de que algo estaba mal, ya había demasiado construido sobre esa base errónea.

El SDD con agentes de IA invierte esa economía. Cambiar una especificación antes de que se escriba el código cuesta minutos. Cambiar el código después de que está integrado y en producción cuesta semanas. El SDD no frena la velocidad: la redirige hacia donde el cambio es barato.

La agilidad real no es la ausencia de planificación. Es la capacidad de cambiar en el momento correcto del ciclo.

Tres niveles de rigor: elegís vos según el contexto

El SDD no es una metodología monolítica. Es un espectro de prácticas que se adaptan a las necesidades del equipo y la complejidad del dominio.

Spec-First es el nivel más accesible. La especificación guía el desarrollo inicial pero puede quedar en segundo plano una vez que el código está validado. Ideal para prototipos y features aisladas donde la claridad inicial es vital pero el mantenimiento a largo plazo de la documentación no es la prioridad.

Spec-Anchored es el modelo más equilibrado para equipos de producción empresariales. La especificación permanece en el repositorio y evoluciona junto con el código: cualquier cambio en el comportamiento del sistema requiere una actualización previa o simultánea de la especificación. Se usan puertas de validación automatizadas para detectar la "deriva" entre el código y el contrato. Este nivel garantiza trazabilidad total y facilita el onboarding de nuevos miembros.

Spec-As-Source es el nivel más riguroso. El código se trata como un artefacto de compilación efímero y la especificación es el único código fuente mantenido por humanos. Los desarrolladores editan la especificación y las herramientas de IA regeneran la implementación completa. Extremadamente poderoso para dominios con estructura muy rígida, como el diseño de API o sistemas financieros.

Spec-First Spec-Anchored Spec-As-Source
Fuente de verdad Código (post-impl.) Spec + Código Especificación únicamente
Mantenimiento Bajo Medio Alto en spec, nulo en código
Caso de uso ideal Prototipos y features aisladas Sistemas empresariales Diseño de API y dominios regulados

El ecosistema de herramientas ya está maduro

Una de las barreras de adopción más comunes es asumir que el SDD requiere procesos artesanales complejos. La realidad es que el ecosistema de herramientas ya ofrece soporte nativo para este flujo.

GitHub Spec Kit es un toolkit open source que facilita el flujo Specify-Plan-Tasks-Implement mediante comandos integrados en asistentes como Copilot, Claude Code o Gemini CLI. Mantiene todos los artefactos en el espacio de trabajo local del desarrollador, sin dependencias externas.

AWS Kiro es un IDE agéntico diseñado para mover el desarrollo más allá del prompt reactivo. Implementa un modo de especificación donde la IA y el humano colaboran activamente en la creación de planos del sistema, automatizando no solo el código sino también la infraestructura y la documentación directamente desde la especificación.

Traycer se destaca por su capacidad de verificación automática, comparando continuamente el código escrito contra el plan y la especificación para identificar brechas de lógica antes de que se conviertan en incidentes de producción. Está diseñado específicamente para repositorios reales y complejos donde el vibe coding suele fallar.

Google Antigravity otorga autonomía al modelo para decidir qué artefactos de especificación o planificación son necesarios según la complejidad de la tarea. Esto resuelve el dilema de talla única: la IA es rigurosa en refactorizaciones críticas pero ágil en cambios menores.

En el espacio de lenguajes de especificación, OpenAPI y AsyncAPI siguen siendo el estándar para el diseño de API. Amazon impulsa Smithy para arquitecturas políglotas masivas, y Microsoft lanzó TypeSpec — inspirado en TypeScript — que se convirtió en el estándar interno para Azure.

Lo que cambia en tu equipo

Adoptar SDD no es solo un cambio técnico. Es una transformación cultural que afecta a todos los roles del ciclo de vida del desarrollo de software.

  • Liderazgo técnico y arquitectos pasan a codificar las restricciones técnicas y los patrones de integración en harnesses o constituciones reutilizables que guíen a los agentes de IA. Su trabajo es que las decisiones de arquitectura estén explícitas y no vivan solo en sus cabezas.
  • Ingenieros de software transitan de redactores de sintaxis a arquitectos de contexto y supervisores de calidad. La capacidad de pensar en términos de sistemas, restricciones y modelos de datos se vuelve más valiosa que el dominio de un lenguaje de programación específico.
  • Equipos de producto deben articular el contexto de negocio con una claridad suficiente para que los agentes comprendan el valor para el usuario y los criterios de aceptación. En la práctica, esto los fuerza a ser más rigurosos en sus propios procesos de definición.
  • QA evoluciona de probar el producto final a validar los propios marcos de especificación y las herramientas de verificación, asegurando que las restricciones estén codificadas correctamente para atrapar divergencias tempranamente.

El caso para proyectos brownfield: no es solo para greenfield

Una objeción frecuente es que el SDD solo funciona en proyectos nuevos (greenfield). La realidad es más matizada.

En proyectos greenfield, el SDD es el multiplicador de velocidad definitivo. Permite capturar la lógica de negocio pura y diseñar una arquitectura fresca sin el lastre de decisiones pasadas.

En entornos brownfield — sistemas existentes con años de historia y deuda técnica —, el desafío radica en la ingeniería de contexto avanzada. Antes de proponer cambios, la IA debe "comprender" el sistema actual. Herramientas como el Context Engine de Augment Code realizan análisis arquitectónicos profundos a través de grandes bases de código, permitiendo que las nuevas especificaciones respeten las convenciones y dependencias existentes.

La clave en brownfield no es intentar especificar todo el sistema existente de golpe — eso sí sería SpecFall. Es adoptar SDD incrementalmente: para cada nueva feature o módulo que toqués, empezás con una especificación. Con el tiempo, la cobertura crece orgánicamente.

Los números que importan

La justificación económica del SDD se basa en la reducción del retrabajo y el aumento de la longevidad del software. Los datos que empiezan a acumularse son difíciles de ignorar:

  • 30-50% de reducción en tiempo de entrega, por eliminación de ambigüedades y generación automatizada de código
  • 40% de reducción en densidad de defectos, por validación temprana contra especificaciones
  • 20-45% de ahorro en costo de mantenimiento a largo plazo, por documentación viva y coherencia arquitectónica forzada
  • Onboarding sustancialmente más rápido, porque las especificaciones son por definición documentación actualizada

Sí, el esfuerzo inicial de especificación lleva más tiempo que tirar un prompt vago. Pero ese tiempo se recupera en la primera iteración que no necesitás hacer.

Hay un beneficio adicional que se menciona menos: el SDD protege a las organizaciones contra el vendor lock-in de herramientas de IA específicas. Al tener especificaciones en formatos abiertos como Markdown o YAML, el equipo puede migrar entre diferentes modelos o asistentes de codificación sin perder el contexto fundamental de sus sistemas.

¿Querés implementar SDD en tu equipo?

En Neuronic ayudamos a equipos de ingeniería a estructurar flujos de desarrollo con IA. Hablemos.

Agendar Llamada

Los riesgos reales: el SpecFall y la fatiga de revisión

Sería deshonesto presentar el SDD sin hablar de sus riesgos genuinos.

El riesgo del SpecFall

Existe el peligro de que los equipos adopten las ceremonias del SDD sin el cambio cultural necesario, resultando en capas masivas de documentación desactualizada que no impulsan activamente a los agentes — un obstáculo burocrático en lugar de un acelerador técnico. El SDD debe ser iterativo y ligero para ser efectivo en marcos ágiles. La especificación óptima es la más corta que elimina toda ambigüedad, no la más exhaustiva que demuestra que se pensó mucho.

La fatiga de revisión humana

A medida que la IA aumenta la velocidad de producción, el cuello de botella se traslada a la revisión humana. Los ingenieros pueden experimentar fatiga al validar grandes volúmenes de código generado, lo que aumenta el riesgo de que vulnerabilidades de seguridad o errores de lógica sutiles pasen inadvertidos. La mitigación requiere invertir en automatización de pruebas robusta y herramientas de análisis estático que filtren el ruido antes de la intervención humana.

Las brechas en herramientas para sistemas distribuidos

La mayoría de las herramientas de SDD actuales están diseñadas con foco en desarrolladores individuales y repositorios únicos. Los sistemas empresariales modernos están distribuidos en múltiples microservicios, bibliotecas compartidas y repositorios de infraestructura. Existe una necesidad urgente de herramientas que gestionen especificaciones que abarquen múltiples límites de servicio y mantengan coherencia transaccional a través de toda la organización.

Cómo empezar sin crear una burocracia nueva

Si dirigís un equipo de ingeniería y querés explorar el SDD sin comprometer un cambio organizacional masivo, esta es la hoja de ruta más pragmática:

  1. Estandarizá tus interfaces de API con OpenAPI o TypeSpec. Esto establece la base para contratos ejecutables sin cambiar cómo tu equipo trabaja día a día — es el camino de menor resistencia hacia una cultura de diseño-primero.
  2. Experimentá en un proyecto pequeño. Tomá una nueva feature aislada y aplicá el flujo Specify-Plan-Tasks-Implement con GitHub Spec Kit o AWS Kiro. El objetivo no es la perfección: es entender cómo la descomposición de tareas impacta en la velocidad y la calidad antes de escalar.
  3. Documentá las restricciones no negociables de tu proyecto — estándares de seguridad, patrones de integración, convenciones de arquitectura — en formatos que los agentes de IA puedan ingerir. Esto no requiere adoptar SDD completo: es simplemente hacer explícito lo que hoy vive en las cabezas de los ingenieros más seniors.
  4. Invertí en las habilidades de articulación de tu equipo. La habilidad más valiosa en la era del SDD no es dominar un lenguaje de programación. Es saber modelar sistemas, pensar en restricciones, y escribir con la claridad suficiente para que una máquina te entienda sin margen de interpretación.

Conclusión: la pregunta que vale la pena hacerse

Si dirigís un equipo de ingeniería hoy, hay una pregunta que vale la pena hacerse: ¿tu equipo está usando la IA para producir código más rápido, o para producir resultados más rápido?

La diferencia importa. Código más rápido sin especificaciones claras es deuda técnica a velocidad de máquina. Resultados más rápido requiere que la intención esté explícita antes de que el agente arranque.

El SDD desplaza el cuello de botella desde la velocidad de implementación hacia la capacidad de articulación. Y eso tiene una implicación directa para los equipos: los ingenieros que desarrollen la habilidad de pensar en sistemas y especificar con precisión van a ser extraordinariamente productivos. Los equipos que la institucionalicen — como práctica y no como excepción — van a construir software de una calidad y velocidad que va a parecer injusta comparado con los que siguen vibeando.

El Spec-Driven Development no transforma la IA de una caja mágica en otra caja mágica más confiable. La transforma de un motor de adivinación en un compilador de intención: vos diseñás el sistema, la IA lo construye. Esa división de trabajo, cuando se hace bien, es el futuro del desarrollo de software.

Preguntas Frecuentes sobre Spec-Driven Development

¿Qué es el Spec-Driven Development (SDD)?

El Spec-Driven Development es una metodología que propone escribir una especificación técnica estructurada y versionada antes de generar código. La especificación define qué hace el sistema, por qué, cómo se integra, cuáles son los edge cases y los criterios de aceptación. Es, en esencia, context engineering aplicado al desarrollo con agentes de IA.

¿En qué se diferencia el SDD del TDD y el BDD?

El TDD se enfoca en corrección granular mediante pruebas unitarias. El BDD amplía esto con escenarios de comportamiento en lenguaje natural. El SDD subsume ambos y añade especificaciones técnicas completas que sirven como contrato ejecutable para guiar agentes de IA en planificación, descomposición de tareas e implementación autónoma.

¿El SDD no es simplemente Waterfall con otro nombre?

No. Waterfall fallaba porque el costo de cambio era enorme. El SDD con agentes de IA invierte esa economía: cambiar una especificación antes de escribir código cuesta minutos, mientras cambiar código integrado en producción cuesta semanas. El SDD no frena la velocidad, la redirige hacia donde el cambio es barato.

¿Qué herramientas existen para implementar SDD?

El ecosistema incluye GitHub Spec Kit (toolkit open source), AWS Kiro (IDE agéntico), Traycer (verificación automática contra especificaciones), y Google Antigravity (autonomía adaptativa). Para lenguajes de especificación: OpenAPI, AsyncAPI, Smithy de Amazon y TypeSpec de Microsoft.

¿El SDD sirve solo para proyectos nuevos (greenfield)?

No. En proyectos brownfield, la clave es adoptar SDD incrementalmente: para cada nueva feature o módulo, empezás con una especificación. Con el tiempo, la cobertura crece orgánicamente. Herramientas como el Context Engine de Augment Code permiten que la IA comprenda el sistema existente antes de proponer cambios.

¿Cuáles son los riesgos del SDD?

Los principales riesgos son: el SpecFall (adoptar ceremonias sin cambio cultural, generando documentación burocrática), la fatiga de revisión humana (cuello de botella al validar grandes volúmenes de código generado), y las brechas en herramientas para sistemas distribuidos que abarcan múltiples microservicios.

En Neuronic ayudamos a equipos de ingeniería a implementar flujos de desarrollo con IA de forma estructurada y predecible. Si querés explorar cómo el SDD puede aplicarse en tu organización, hablemos.

Implementá SDD en tu Organización

Ayudamos a equipos de ingeniería a pasar del vibe coding al desarrollo estructurado con IA.

Hablemos