SDD (Specification-Driven Development)
Piensa en ello como construir a partir de planos en lugar de instrucciones verbales. Un contratista al que le dan dibujos arquitectonicos detallados — dimensiones de habitaciones, materiales, requisitos de carga, rutas de plomeria — produce resultados predecibles e inspeccionables. Dale una descripcion vaga ("que quede bonito") y cada decision se convierte en una suposicion. Specification-Driven Development aplica este principio a la IA: en lugar de darle a un agente instrucciones vagas y esperar lo mejor, proporcionas especificaciones estructuradas que definen exactamente como luce el exito, y la salida del agente se valida contra esas especificaciones.
Prerrequisitos
Antes de leer esta pagina, asegurate de estar familiarizado con:
- Agents — software que usa un LLM para observar, razonar y actuar hacia un objetivo
- Agentic Workflows — flujos de multiples pasos donde los agentes planifican, ejecutan y verifican tareas
- Skills — paquetes modulares de capacidades que brindan a los agentes conocimiento especifico de dominio
Como Funciona
El diagrama muestra el ciclo SDD de cuatro etapas. Primero, una especificacion define el contrato — entradas que el agente recibira, salidas que debe producir, restricciones que debe respetar y criterios para validacion. Esto no es un prompt casual; es un documento estructurado con requisitos verificables.
El agente de IA recibe la especificacion y ejecuta contra ella. A diferencia del prompting ad-hoc donde el agente interpreta instrucciones vagas, SDD le da al agente un contrato concreto. Sabe exactamente que archivos crear, que patrones seguir y que criterios de aceptacion cumplir. La ambiguedad se elimina antes de que comience el trabajo — el agente no adivina lo que quieres porque la especificacion se lo dice.
La salida del agente — codigo, documentacion, configuracion — pasa por validacion. La validacion verifica si la salida satisface los criterios de exito de la especificacion. Existen los archivos? Contienen los patrones requeridos? Pasan los tests? La estructura coincide con el contrato? La validacion puede ser automatizada (verificaciones con grep, suites de tests, comandos de build) o manual (revision humana contra criterios definidos).
Si la validacion falla, la especificacion proporciona el ciclo de retroalimentacion. El agente recibe informacion especifica sobre que criterios no se cumplieron e itera. La especificacion no cambia — la implementacion se adapta hasta que satisface el contrato. Esto transforma el trabajo con IA de subjetivo ("parece correcto?") a objetivo ("cumple con la especificacion?").
Por Que Importa
SDD resuelve el problema fundamental de confiabilidad en el desarrollo asistido por IA. Sin especificaciones, los agentes producen trabajo que se ve plausible pero puede omitir requisitos, introducir errores sutiles o desviarse del diseno previsto. Con SDD, cada pieza de trabajo tiene una definicion de terminado que puede verificarse mecanicamente.
Esto importa mas en agentic workflows donde multiples agentes colaboran. Si cada agente sigue su propia interpretacion de instrucciones vagas, la integracion se rompe. SDD asegura que los agentes acuerden contratos — la especificacion de salida de un agente coincide con la especificacion de entrada del siguiente agente. Los agentes trabajan independientemente en tareas paralelas y sus salidas se componen correctamente porque todos construyeron contra las mismas especificaciones.
Los principios de SDD se aplican en la practica cuando las especificaciones se tratan como artefactos de planificacion, los criterios de aceptacion funcionan como contratos de validacion, y la verificacion sirve como prueba de cumplimiento.