Se você usa inteligência artificial para programar, já deve ter sentido o problema: o código gerado funciona, mas depois de algumas alterações ninguém sabe mais qual era a intenção original. O “vibe coding” — descrever a tarefa e deixar a IA cuspir código — escala bem até a terceira mudança. Depois disso, o código vira a única fonte de verdade, e ele é péssimo para contar por que algo foi feito.

É aí que entra o Spec-Driven Development (SDD), uma metodologia que inverte a lógica tradicional: em vez de o código ser o artefato principal, a especificação passa a ser a fonte da verdade. O código vira um subproduto gerado a partir dela. O conceito não é novo, TDD e BDD já pregavam algo parecido, mas a chegada dos assistentes de código com IA tornou o SDD não apenas viável, mas necessário.
Origem do Spec-Driven Development
O termo Spec-Driven Development foi formalizado por Deepak Babu Piskala no artigo acadêmico “Spec-Driven Development: From Code to Contract in the Age of AI Coding Assistants”, publicado no arXiv em fevereiro de 2026 e submetido ao AIWare 2026. Piskala, engenheiro de software baseado em Seattle, propôs uma taxonomia de três níveis de rigor que se tornou a referência do mercado:
Spec-First: a especificação é escrita antes do código, mas não é necessariamente mantida depois. Funciona como um ponto de partida claro para o agente de IA.
Spec-Anchored: a especificação evolui junto com o software. Conforme os requisitos mudam, a spec é atualizada para refletir o estado atual do sistema.
Spec-as-Source: o nível mais radical. A spec é o único artefato editado por humanos. Qualquer mudança na spec dispara automaticamente a geração do código correspondente. O desenvolvedor nunca toca no código diretamente.
O artigo de Piskala analisou ferramentas que vão do Behavior-Driven Development clássico até os modernos toolkits como o GitHub Spec Kit, e estabeleceu um fluxo de quatro fases, specify, plan, tasks, implement, que se tornou o padrão de facto da metodologia.
SDD vs Harness Engineering: a mesma coisa?
Uma confusão comum é tratar Spec-Driven Development e Harness Engineering como sinônimos. Não são, embora se complementem.
Harness Engineering é um termo cunhado por Ryan Lopopolo, engenheiro da OpenAI, para descrever o sistema completo que envolve o agente de IA: skills, estrutura de repositório, documentação, testes, linters, agentes de revisão, checks de CI e ferramentas que injetam as instruções certas no momento certo. Nas palavras de Lopopolo, “humanos guiam, agentes executam” — e o harness é o ambiente que torna isso possível.
Enquanto o SDD foca no conteúdo da especificação, o que construir, por que construir, quais são os critérios de aceite, o Harness Engineering foca no ambiente que cerca o agente: como o contexto é entregue, como o feedback loop funciona, como a qualidade é garantida. Um não substitui o outro. O SDD responde “o que fazer”. O Harness Engineering responde “como garantir que seja bem feito”.
Na prática, as duas abordagens andam juntas. Times que adotam SDD em produção geralmente também constroem um harness ao redor, e times de harness engineering invariavelmente acabam escrevendo specs.
SDD sem você perceber: o caso do Antigravity IDE
Uma das coisas mais interessantes sobre o Spec-Driven Development é que ele já está acontecendo sem que a maioria dos usuários perceba. Ferramentas modernas de desenvolvimento com IA incorporaram o fluxo de spec → plano → tarefas → código como parte integrante da pipeline, não como uma etapa opcional.
O Google Antigravity IDE é um exemplo claro. Quando um desenvolvedor pede para o Antigravity criar uma aplicação, a ferramenta automaticamente gera um arquivo de planejamento com a especificação do que será construído, divide o trabalho em tarefas, define os testes necessários e só então começa a gerar código. O usuário precisa aprovar o plano antes de qualquer linha ser escrita. Isso é SDD em ação, mesmo que o desenvolvedor nunca tenha ouvido falar do termo.
O mesmo acontece com o Claude Code e o AGENTS.md: um arquivo markdown na raiz do repositório que funciona como uma especificação viva, lida pelo agente antes de qualquer tarefa. O desenvolvedor não está “escrevendo uma spec”, está configurando o contexto do agente. Mas o efeito é o mesmo: a intenção é capturada antes da execução.
Esse é o ponto que muita gente perde: SDD não é necessariamente um processo burocrático com documentos formais. Muitas vezes é apenas a decisão consciente de capturar a intenção antes de gerar código, algo que as ferramentas modernas já fazem, mesmo que o usuário não perceba.
Frameworks e ferramentas populares de SDD
O ecossistema de SDD cresceu rápido em 2025 e 2026. Hoje existem dezenas de ferramentas, mas algumas se destacam como referências:
GitHub Spec Kit, o mais popular, com mais de 115 mil estrelas no GitHub. É um CLI open source (MIT) que funciona com qualquer agente de código: Claude Code, GitHub Copilot, Cursor, Amazon Q, Gemini CLI. Ele escaffolda uma estrutura de diretórios com constitution.md, spec.md, plan.md e uma pasta de tasks. Os comandos são slash commands como /specify, /plan e /implement. É a porta de entrada mais simples para SDD.
AWS Kiro, uma IDE completa construída em torno do SDD. Diferente do Spec Kit, que é um CLI que você acopla a um agente existente, o Kiro é um ambiente de desenvolvimento onde a spec é cidadã de primeira classe. Tem três documentos obrigatórios: requirements, design e tasks. O preço vai de gratuito (50 créditos) a US$ 200/mês no plano Power.
OpenSpec, outro CLI open source com 55 mil estrelas, focado em mudanças incrementais. Em vez de especificar o projeto inteiro de uma vez, o OpenSpec trabalha com proposals: mudanças pequenas e revisáveis que se acumulam ao longo do tempo. Ideal para times que já têm uma base de código e querem adotar SDD gradualmente.
Tessl, a abordagem mais radical. O Tessl trata a spec como o código fonte de verdade: os arquivos de código gerados têm um comentário no topo dizendo “GERADO A PARTIR DA SPEC . NÃO EDITAR”. A edição é feita exclusivamente na spec, e o código é gerado a partir dela. Ainda em beta, mas já é a ferramenta que mais se aproxima do nível spec-as-source definido por Piskala.
BMAD-METHOD, um framework de planejamento multi-agente com 49 mil estrelas. Diferente dos outros, o BMAD não gera código diretamente, ele orquestra múltiplos agentes (coordenador, implementador, verificador) que trabalham a partir de uma especificação central. É mais pesado, mas indicado para features grandes que exigem PRD e arquitetura antes da implementação.
Para quem quer começar sem instalar nada, o Spec Kit é a escolha óbvia: gratuito, maduro, funciona com qualquer agente. O Kiro é para quem prefere uma IDE dedicada. O Tessl é para quem quer levar o SDD ao extremo.
O Spec-Driven Development não é uma revolução, é a constatação de que, na era dos agentes de IA, a especificação voltou a ser o artefato mais importante do desenvolvimento de software. O código, que por décadas foi o centro de tudo, está se tornando apenas a última milha de um processo que começa muito antes, na clareza da intenção.
Fontes:
arXiv:2602.00180 . Spec-Driven Development: From Code to Contract in the Age of AI Coding Assistants (Deepak Babu Piskala, 2026)
IBM . What is Spec-Driven Development?
Microsoft for Developers . Spec-Driven Development: A Spec-First Approach to AI-Native Engineering
Augment Code . What Is Spec-Driven Development? A Complete Guide
Martin Fowler . Understanding Spec-Driven Development: Kiro, Spec-Kit, and Tessl (Birgitta Böckeler)
GitHub Spec Kit, repositório oficial
TabNews . Spec-Driven Development: quando a especificação vira a fonte da verdade, não o código (wildrik)




