Spec-Driven Development
A prática de substituir histórias de usuário informais por especificações legíveis por máquina que servem como contratos entre humanos e agentes.
Definição
Spec-Driven Development é a prática de substituir histórias de usuário informais e descrições de tickets por especificações legíveis por máquina que servem como contratos determinísticos entre humanos e agentes. Isso torna operacionais os pilares centrais do desenvolvimento baseado em agentes: sem especificações precisas, o contexto fica incompleto, os portões de governança não têm nada para verificar, e as decisões de roteamento carecem das informações necessárias.
Spec-Driven Development compartilha princípios fundamentais com o Test-Driven Development (TDD), mas difere de três maneiras:
- Escopo — as especificações operam no nível da funcionalidade, e não no nível da função, cobrindo requisitos comportamentais, contexto de negócio e restrições arquitetônicas em um único documento.
- Público — as especificações são escritas tanto para agentes quanto para humanos, não apenas para executores de testes. Elas devem ser precisas o suficiente para a execução por máquina, ao mesmo tempo em que permanecem legíveis para revisão humana.
- Riqueza — as especificações incluem contexto arquitetônico, exemplos de referência e conhecimento de domínio, juntamente com critérios de aceitação, fornecendo aos agentes o quadro completo necessário para a implementação autônoma.
O fluxo de trabalho segue uma sequência clara: humanos escrevem as especificações, agentes as implementam, e o Conjunto de Avaliação valida os resultados contra os critérios de aceitação da especificação. Isso cria um ciclo verificável onde cada peça de saída do agente remonta a uma especificação elaborada por humanos.