Spec-Driven Development (SDD)
Meta: explicar SDD em uma frase (especificação como fonte de verdade, versionada antes do código) e descrever o ciclo spec → plano → implementação com um exemplo.
O que é
Um estilo de desenvolvimento em que a especificação é o artefato primário — escrita, revisada e versionada antes do código — e o código é derivado dela. Em vez de “código é a documentação”, a spec é o contrato: o código muda, a intenção fica registrada e comparável.
No contexto de IA, o SDD ganhou força porque o agente que precisa de uma spec para trabalhar bem: spec é o que vai no contexto dele e é o critério para dizer se o resultado está certo ou errado.
Por que importa (aqui e no projeto)
- Foi item deste projeto (fase “SDD — Spec-Driven Development”) — o projeto é a demonstração de que spec-first e IA se complementam: a IA acelera a implementação, a spec segura a direção.
- É o antídoto processual contra o vibe coding descrito em Desenvolvimento de Software com IA.
- Sem spec, a revisão de código gerado por IA vira opinião; com spec, vira verificação (“bate com os critérios 1, 2, 3?”).
O ciclo
1. SPEC o que e por quê: requisitos + critérios de aceite + fora de escopo
↓ (revisável por humanos — aqui ainda é barato mudar de ideia)
2. PLANO como: arquivos, dependências, ordem de passos, riscos
↓
3. TASKS fatias executáveis, cada uma com verificação (teste/lint)
↓
4. IMPL. a IA executa tarefa a tarefa; humano aprova diffs
↓
5. FEEDBACK divergência entre spec e realidade → atualiza a spec PRIMEIROFerramentas do ecossistema: o spec-kit do GitHub popularizou comandos
/specify → /plan → /tasks → /implement; no repositório, o paralelo é o template da nota e o
checklist de aceite.
Ideias-chave
- Spec curta e testável vence spec gigante. Uma spec que ninguém relê não governa nada; o valor está em critérios que respondem “como sei que está pronto?”.
- Critérios de aceite são asserts humanos. “O usuário vê o preço antes de comprar” é verificável; “a UI deve ser boa” não é — o segundo não é spec, é desejo.
- A spec versiona junto com o código. Mudou a implementação de forma intencional? A spec muda no mesmo commit — senão ela vira mentira documentada.
- Fora de escopo é meia spec. Metade dos problemas em projeto com IA vem de escopo que a IA assumiu sozinha; declarar o que não fazer fecha a porta.
- A spec é o prompt de maior alavancagem. Um system prompt bem escrito é uma spec de micro-escala (ver Prompt Engineering - fundamentos) — a mesma disciplina, em outra granularidade.
- SDD não elimina descoberta, ela a localiza: explorar com spike é bom; descobrir requisito no diff de produção é ruim.
Autoavaliação
- Definir SDD em uma frase, sem citar ferramentas.
- Escrever spec + 3 critérios de aceite para uma tarefa pequena sua (com “fora de escopo”).
- Explicar por que SDD melhora especificamente o resultado de um agente de IA.
- Dizer o que fazer quando spec e implementação divergem (e em que ordem corrigir).
- Apontar a diferença entre um critério de aceite verificável e um desejo.