Spec-Driven Development
La práctica de reemplazar historias de usuario informales con especificaciones legibles por máquina que sirven como contratos entre humanos y agentes.
Definición
Spec-Driven Development es la práctica de reemplazar historias de usuario informales y descripciones de tickets con especificaciones legibles por máquina que sirven como contratos deterministas entre humanos y agentes. Hace operativos los pilares fundamentales del desarrollo agéntico: sin especificaciones precisas, el contexto está incompleto, las compuertas de gobernanza no tienen nada contra qué verificar, y las decisiones de enrutamiento carecen de la información que necesitan.
Spec-Driven Development comparte principios fundamentales con Test-Driven Development (TDD) pero difiere en tres aspectos:
- Alcance — las especificaciones operan a nivel de característica en lugar de a nivel de función, cubriendo requisitos de comportamiento, contexto de negocio y restricciones arquitectónicas en un solo documento.
- Audiencia — las especificaciones se escriben tanto para agentes como para humanos, no solo para ejecutores de pruebas. Deben ser lo suficientemente precisas para la ejecución de la máquina y a la vez legibles para la revisión humana.
- Riqueza — las especificaciones incluyen contexto arquitectónico, ejemplos de referencia, y conocimiento del dominio junto con los criterios de aceptación, proporcionando a los agentes la visión completa necesaria para una implementación autónoma.
El flujo de trabajo sigue una secuencia clara: los humanos escriben las especificaciones, los agentes las implementan, y el Módulo de Evaluación valida los resultados contra los criterios de aceptación de la especificación. Esto crea un bucle verificable donde cada pieza de salida del agente se remonta a una especificación creada por humanos.