Desenvolvimento orientado por evidências
A disciplina ausente na engenharia assistida por IA
As equipes adotaram ferramentas de codificação de IA, observaram picos de velocidade de curto prazo e depois pagaram a taxa de verificação posteriormente em depuração, regressões e incidentes de produção.
A lacuna não é geração. A lacuna é a prova. O Desenvolvimento Orientado a Evidências transforma essa lacuna em um fluxo de trabalho repetível com portas explícitas.
O circuito
O modelo é simples: definir a intenção, provar a lacuna, capturar a linha de base, implementar, provar a aprovação, capturar o resultado e verificar as dimensões de qualidade antes da revisão.
A restrição crítica é a sequência. As etapas anteriores à implementação criam confiabilidade; etapas após a implementação criam confiança.
| Fase | O que acontece | Por que é importante | | --- | --- | --- | | Documento | Escreva o que significa feito antes da implementação. | Evita requisitos divergentes e critérios de sucesso vagos. | | Teste: Falha | Defina e execute testes que comprovem a existência da lacuna. | Confirma que você está testando comportamento, não suposições. | | Captura: Antes | Registre os resultados da linha de base antes de iniciar a implementação. | Fornece prova inegociável para revisores e auditorias futuras. | | Implementar | Aplique a mudança com assistência de IA sob restrições. | A execução permanece rápida enquanto a barra permanece definida pelo homem. | | Teste: Aprovado | Execute testes direcionados e confirme se o comportamento foi aprovado. | Valida a mudança e resolve os critérios de aceitação exatos. | | Captura: Depois | Colete artefatos pós-mudança equivalentes. | Permite uma comparação clara antes/depois. | | Verifique | Audite segurança, acessibilidade, desempenho, documentos e desvios. | Captura testes de modos de falha sozinhos. | | Revisão | O revisor humano aceita ou rejeita com base em evidências. | Mantém a responsabilidade com os engenheiros, não com as instruções. |
:::nome gráfico: Legenda ImplementationLoopDiagram: O loop de implementação: restrições definidas por humanos, execução assistida por IA. :::
| Fase | O que acontece | Por que importa |
|---|---|---|
| Document | Escreva o que significa feito antes da implementação. | Evita requisitos divergentes e critérios de sucesso vagos. |
| Teste: Falha | Defina e execute testes que comprovem a existência da lacuna. | Confirma que você está testando comportamento, não suposições. |
| Captura: Antes | Registre os resultados da linha de base antes de iniciar a implementação. | Fornece prova inegociável para revisores e auditorias futuras. |
| Implement | Aplique a mudança com assistência de IA sob restrições. | A execução permanece rápida enquanto a barra permanece definida pelo homem. |
| Teste: Aprovado | Execute testes direcionados e confirme se o comportamento foi aprovado. | Valida a mudança e resolve os critérios de aceitação exatos. |
| Captura: Depois | Colete artefatos pós-mudança equivalentes. | Permite uma comparação clara antes/depois. |
| Verify | Audite segurança, acessibilidade, desempenho, documentos e desvios. | Captura testes de modos de falha sozinhos. |
| Review | O revisor humano aceita ou rejeita com base em evidências. | Mantém a responsabilidade com os engenheiros, não com as instruções. |
Antes que a evidência seja irreversível na prática
As equipes podem, teoricamente, reconstruir uma linha de base após o início da implementação, mas quase ninguém o faz. O impulso muda para se fixar no futuro.
É por isso que a falta de evidências anteriores é tratada como uma condição de reinicialização em loops disciplinados.
:::nome gráfico: Legenda MaturityLadder: Modelo de maturidade: ad-hoc para engenharia verificada por auditoria. :::
A auditoria: dez dimensoes
| Dimensao | O que detecta |
|---|---|
| Build | Compilação, lint e integridade do pacote |
| Telemetry | Vazamentos de PII e cargas de registro inseguras |
| Accessibility | Marcos, fluxo do teclado, hierarquia de títulos |
| Security | Segredos, risco de injeção, falhas de dependência |
| Performance | Caminhos N+1, loops ilimitados, vazamentos de memória |
| Documentation | Desvio de especificação e implementação |
| Cobertura de teste | Mudanças de comportamento sem testes correspondentes |
| Dívida TODO | Acompanhamentos ignorados e espaços reservados não resolvidos |
| Tratamento de erros | Erros engolidos e vazamentos internos |
| Verbosidade da IA | Comentários redundantes e abstrações desnecessárias |
A Auditoria: Dez Dimensões
| Dimensão | O que pega | | --- | --- | | Construir | Compilação, lint e integridade do pacote | | Telemetria | Vazamentos de PII e cargas úteis de registro inseguras | | Acessibilidade | Marcos, fluxo do teclado, hierarquia de títulos | | Segurança | Segredos, risco de injeção, falhas de dependência | | Desempenho | Caminhos N+1, loops ilimitados, vazamentos de memória | | Documentação | Desvio de especificação e implementação | | Cobertura de teste | Mudanças de comportamento sem testes correspondentes | | TODO Dívida | Acompanhamentos ignorados e espaços reservados não resolvidos | | Tratamento de erros | Erros engolidos e vazamentos internos | | Verbosidade da IA | Comentários redundantes e abstrações desnecessárias |
:::nome gráfico: Legenda do AuditRadarChart: Postura da auditoria antes e depois das verificações baseadas em evidências. :::
Exemplos de evidencia por dominio
| Dominio | Evidencia antes | Evidencia depois |
|---|---|---|
| Ponto de extremidade da API | resposta curl com status errado | resposta curl com status e esquema esperados |
| Migração de banco de dados | Consultar antes da migração | Consulta mostrando novas colunas e valores preenchidos |
| Infrastructure | Resultado do plano atual | Planejar e aplicar o resultado desejado |
| Performance | Linha de base do benchmark | Delta de referência após otimização |
| Patch de segurança | Localização do scanner | Relatório de limpeza do scanner |
O ônus da prova em solicitações pull
Referencias
- Kent Beck (2025) Codificação Aumentada: Além das Vibrações
- ThoughtWorks (2025) Desenvolvimento de primeiro teste auxiliado por IA
- METR (2025) Ferramentas de IA tornaram desenvolvedores experientes 19% mais lentos
- Addy Osmani (2026) AI escreve código mais rápido. Seu trabalho ainda é provar que funciona.
- Microsoft.NET (2026) Dez meses com o Copilot Coding Agent em dotnet/runtime