Metodología de desarrollo donde la especificación se escribe antes del código, sirviendo como contrato entre equipos y como fuente de verdad para la implementación.
Spec-Driven Development (SDD) es una metodología donde se escribe una especificación detallada antes de escribir código. La especificación — no el código — es la fuente de verdad del proyecto.
Es lo opuesto al enfoque «code-first» donde primero se implementa y luego se documenta (si es que se documenta). En SDD, la especificación funciona como un contrato: define qué debe hacer el sistema, cómo se comunican sus partes y qué esperar de cada interfaz.
SDD no es nuevo — el diseño API-first con OpenAPI/Swagger existe desde hace años. Pero la llegada de agentes de IA que generan código ha hecho que esta metodología sea más relevante que nunca.
Cuando un agente de IA genera código, necesita instrucciones claras y no ambiguas. Una especificación bien escrita es exactamente eso: un documento estructurado que define comportamiento esperado, tipos de datos, contratos de interfaz y criterios de aceptación.
Sin especificación, el agente adivina. Con especificación, el agente implementa.
El uso más establecido. Se escribe la especificación OpenAPI primero, se generan stubs de servidor y clientes, y luego se implementa la lógica.
Beneficios concretos:
Cuando se usa un agente de IA para generar código, la especificación actúa como prompt estructurado:
Esto reduce significativamente las alucinaciones y el código incorrecto porque el agente tiene un contrato claro contra el cual trabajar.
El Model Context Protocol es un ejemplo de SDD aplicado a protocolos de IA. La especificación define exactamente cómo deben comunicarse clientes y servidores, qué mensajes son válidos y qué respuestas esperar. Cualquier implementación que cumpla la especificación es interoperable.
| Formato | Uso principal |
|---|---|
| OpenAPI | APIs REST |
| JSON Schema | Validación de datos |
| Protocol Buffers | APIs gRPC, serialización |
| AsyncAPI | APIs basadas en eventos |
| JSON-RPC | Protocolos como MCP |
En estos casos, un enfoque iterativo donde la especificación emerge del código puede ser más práctico.
Protocolo abierto creado por Anthropic que estandariza cómo las aplicaciones de IA se conectan con herramientas, datos y servicios externos mediante una interfaz universal.
Campo de la informática dedicado a crear sistemas capaces de realizar tareas que normalmente requieren inteligencia humana, desde el razonamiento y la percepción hasta la generación de lenguaje.
Reflexiones clave del último keynote de Dr. Werner Vogels en AWS re:Invent 2025, donde presenta el framework del «desarrollador renacentista» y argumenta por qué la IA no reemplazará a los desarrolladores que evolucionen.
Demostración de arquitectura de interfaz dual donde la misma lógica de negocio sirve tanto a una aplicación web tradicional como a un servidor MCP para herramientas de IA.
Superset tipado de JavaScript que añade tipos estáticos opcionales, mejorando la productividad del desarrollador, la detección de errores y la mantenibilidad del código.
Práctica de tratar la documentación con las mismas herramientas y procesos que el código: versionada en Git, revisada en PRs, y generada automáticamente cuando es posible.
Prácticas y herramientas para documentar APIs de forma clara, interactiva y mantenible, desde especificaciones OpenAPI hasta portales de documentación.
Principios y prácticas para diseñar interfaces de programación claras, consistentes y evolucionables que faciliten la integración entre sistemas.
Herramientas que usan LLMs para ayudar a desarrolladores a escribir, entender, depurar y refactorizar código, desde autocompletado hasta agentes que implementan features completas.