# O que é Spec-driven Development?

Antes de começar a codificar o software, todos os detalhes e regras são feitos de acordo com um documento pré-determinado.

## Definição
Nesta abordagem, o que o software fará e como funcionará é definido com uma especificação detalhada antes de o código ser escrito. A equipe esclarece todas as regras e resultados esperados antes de entrar no processo de codificação. Desta forma, as incertezas que podem ocorrer durante o desenvolvimento são minimizadas.

## Como funciona
Primeiro, os requisitos são coletados e compilados em um documento. Os desenvolvedores de software produzem seus códigos usando este documento como guia. Os testes também são realizados de acordo com as regras deste documento.

## Onde é usado
É preferido em projetos de software complexos, grandes sistemas corporativos e software crítico onde a margem de erro deve ser baixa.

## Costuma ser confundido com
Representa um processo planejado e disciplinado, em vez de métodos flexíveis onde são feitas mudanças constantes durante o desenvolvimento.

## Perguntas frequentes
**Isso faz você perder velocidade?**
Embora o processo de planejamento leve tempo no início, ele economiza tempo no longo prazo, pois evita erros que podem ocorrer posteriormente.

**Podem ser feitas alterações?**
Isso pode ser feito, mas cada alteração exige a atualização do documento.


## Termos relacionados
- [AI Coding Agent](/pt/dictionary/ai-coding-agent/)
- [Agentic Coding Tool](/pt/dictionary/agentic-coding-tool/)
- [LSP](/pt/dictionary/lsp/)

## Ferramentas relacionadas
- [Spec Kit](/pt/discover/spec-kit/)
- [OpenSpec](/pt/discover/openspec/)

---
Fonte: TreScout Glossário · https://trescout.com/pt/dictionary/spec-driven-development/
