Voltar para Trilha 2
Modulo 2.3

Spec-Driven Development com IA

Especificacao primeiro, codigo depois. Design docs, decomposicao e testes como contrato entre humano e agente.

1

📋 Do problema ao design doc - Partir de requisitos antes de gerar codigo

O que e:

A pratica de comecar qualquer feature ou sistema com um design document estruturado, antes de escrever uma linha de codigo. O design doc define o problema, as restricoes, a abordagem tecnica, as alternativas consideradas e os criterios de sucesso.

Por que aprender:

Sem spec, um agente de IA gera codigo que resolve o problema que ele imagina, nao o que voce precisa. Com spec, voce da ao agente uma descricao precisa do que construir, reducao de ambiguidade de 80-90%. O design doc e o contrato entre a intencao humana e a execucao da IA.

Conceitos-chave:

Problem statement, constraints e non-goals, abordagem tecnica, alternativas consideradas, criterios de aceitacao, formato RFC/ADR, iteracao com IA no design.

2

🌟 GitHub Spec Kit - 72.7k stars, suporte a 22+ plataformas de agentes

O que e:

O GitHub Spec Kit e um framework open-source para spec-driven development com IA. Com 72.7k stars, se tornou o padrao de facto para estruturar requisitos que alimentam agentes de codigo. Suporta 22+ plataformas incluindo Claude Code, Cursor, Copilot e Windsurf.

Por que aprender:

Em vez de inventar seu proprio formato de spec, voce usa um que ja foi validado por milhares de projetos. O Spec Kit gera specs que os agentes entendem nativamente, com semelhantica clara e estrutura consistente. Adocao massiva significa documentacao e tooling ricos.

Conceitos-chave:

Spec templates, agent-compatible formats, multi-platform specs, spec validation, integration com CI, spec versioning, community patterns.

3

🔍 Decomposicao com IA - Escopo, premissas e identificacao de riscos

O que e:

Usar IA para decompor um problema grande em partes implementaveis, identificando premissas implicitas, riscos tecnicos e dependencias ocultas. A IA funciona como um "sparring partner" que questiona o escopo e revela blind spots no design.

Por que aprender:

Decomposicao ruim e a causa numero 1 de projetos que falham. A IA consegue identificar riscos que o dev nao ve porque esta proximo demais do problema. Usar IA para questionar premissas antes de codar economiza semanas de retrabalho.

Conceitos-chave:

Task decomposition prompts, assumption surfacing, risk matrix automatizada, dependency graph generation, scope validation, MECE decomposition com IA.

4

📄 Spec como contrato - Specs alimentam agentes, testes e CI simultaneamente

O que e:

Tratar a spec como a unica fonte de verdade que alimenta tres coisas simultaneamente: o agente de codigo (que implementa), o agente de testes (que valida) e o CI (que verifica). A spec nao e documentacao passiva, e um contrato executavel.

Por que aprender:

Quando spec, codigo e testes divergem, voce tem bugs. Quando a spec e o contrato central, qualquer mudanca no requisito se propaga automaticamente para testes e implementacao. Isso elimina a classe inteira de bugs causada por "o dev entendeu diferente do PM".

Conceitos-chave:

Spec como single source of truth, derivacao automatica de testes, spec-to-code traceability, change propagation, spec drift detection, contract testing.

5

🧪 Test-Driven com IA - Agente de testes e de codigo sem compartilhar contexto

O que e:

Um padrao onde dois agentes trabalham a partir da mesma spec mas sem ver o trabalho um do outro. O agente de testes gera os testes a partir da spec. O agente de codigo implementa a partir da mesma spec. Se os testes passam, a implementacao esta correta. Se falham, ha divergencia.

Por que aprender:

Quando o mesmo agente escreve codigo e testes, os testes tendem a validar o que o codigo faz (nao o que deveria fazer). Separar os agentes cria tensao saudavel: os testes refletem a spec, o codigo reflete a spec, e a discordancia entre eles revela bugs reais.

Conceitos-chave:

Context isolation entre agentes, spec como unico input compartilhado, test-first vs code-first race, red-green-refactor com IA, adversarial testing, mutation testing com agentes.

6

🔗 Alinhamento continuo - Requisito, design e implementacao sempre sincronizados

O que e:

A pratica de manter requisitos, design docs e codigo em sincronia permanente, usando IA para detectar drift entre as camadas. Quando um requisito muda, a IA identifica quais design docs e quais trechos de codigo precisam ser atualizados.

Por que aprender:

Em projetos reais, requisitos mudam toda semana. Sem alinhamento continuo, em dois meses o codigo nao reflete mais o design, que nao reflete mais os requisitos. Essa divergencia e a principal fonte de bugs em sistemas complexos. A IA pode automatizar a deteccao.

Conceitos-chave:

Drift detection, bi-directional traceability, automated impact analysis, change cascade, spec CI checks, living documentation, architecture decision records (ADRs) com IA.

📝 Exercicios

Spec Kata (60 min)

Ticket real ("adicionar autenticacao OAuth"): (1) AI expande em spec completa (requirements, edge cases, data model, API contract), (2) spec gera implementacao em etapas, (3) comparar com implementacao feita sem spec. Medir: bugs, iteracoes, aderencia ao requisito.

Exercicio: ADR para codigo (45 min)

Architecture Decision Record existente: extrair restricoes, codificar no CLAUDE.md, testar se o AI respeita as decisoes ao gerar codigo. Ex: ADR diz "usamos PostgreSQL, nunca MySQL" - o AI obedece?

Lab: OpenAPI para implementacao (90 min)

Schema OpenAPI dado: (1) gerar handlers de rota, (2) gerar testes de contrato, (3) gerar tipos/interfaces, (4) conectar ao banco. Avaliar: codigo respeita o contrato? O que precisou correcao manual?

Projeto: Feature completa spec-driven (4h)

Do zero: (1) escrever spec em markdown com criterios de aceite, (2) AI gera plano de implementacao, (3) decompor em tasks, (4) implementar task por task com review humano, (5) validar cada task contra criterios da spec. Nenhum codigo aceito sem passar nos criterios.