A maioria dos times usa um assistente de IA como usa o autocomplete: escreve um prompt vago, aceita o que vier e passa a tarde consertando o resultado. O problema raramente é o modelo. É que ninguém escreveu o que significa pronto antes de o trabalho começar.
O Spec-Driven Development inverte a ordem. Antes de qualquer código ser gerado, escrevemos uma especificação curta: as entradas, as saídas, os casos de borda e o que está explicitamente fora de escopo. É o mesmo documento que um engenheiro cuidadoso gostaria de ter antes de pegar uma tarefa — a diferença é que agora também entregamos ele ao modelo.
A especificação faz três coisas. Ela tira a ambiguidade do escuro enquanto ainda é barato resolvê-la. Ela dá ao assistente contexto suficiente para acertar as decisões chatas. E ela vira o checklist que a pessoa revisora lê, que é o que torna a revisão rápida em vez de exaustiva.
Este texto percorre o template que meu time usa, as partes que mais importam e os erros que cometíamos antes de adotá-lo.