> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/pt-br/2021/w22-prototypes-and-tracers.md).

# W22-Protótipos e balas traçantes

Em *O programador pragmático*, encontrei dois conceitos de execução de projetos, protótipos e balas traçantes, úteis para a reformulação de arquitetura em que estamos trabalhando.

Um protótipo é como um molde feito antes de entrar na linha de produção: uma pequena demonstração com código descartável. Seu objetivo é explorar um aspecto específico do sistema final, avaliar viabilidade e validar uma solução. Depois, descartamos o protótipo inteiro e guardamos as lições para orientar o projeto real. Por exemplo, qual solução de build e implantação sustenta a nova arquitetura e como a gestão de dependências melhora o reúso da infraestrutura.

Uma reformulação de arquitetura leva meses. Em um ambiente que muda, surgem interações imprevisíveis, como alterações no fluxo de trabalho da equipe e efeitos em entradas de tráfego do negócio. O desenvolvimento com balas traçantes é uma resposta confiável.

O que é uma bala traçante?

> Ela é colocada no carregador entre munições comuns. Ao ser disparada, seu fósforo se acende e deixa um rastro luminoso entre a arma e o alvo. Se a traçante acerta, as balas comuns seguintes também acertarão. Soldados a usam para ajustar a mira: um método prático que oferece feedback em tempo real nas condições reais.

Entendo essa abordagem como próxima das ideias do padrão estrangulador e do desenvolvimento enxuto. A maior diferença da traçante é o feedback imediato. Ao implementar algo novo, repetimos o ciclo mirar, disparar, observar e ajustar, aproximando-nos do alvo real aos poucos. Na prática, traçantes e balas comuns devem se alternar. As primeiras definem a trajetória e uma estrutura com espaços claros, para que os colaboradores saibam como preenchê-los com as demais.

Em um ambiente desconhecido e muito variável, combinar protótipos e traçantes é uma boa forma de avançar. O protótipo pode ser visto como o reconhecimento e a coleta de informação antes do disparo. O código traçante constrói partes da estrutura do sistema final: simples, mas completas. Depois, cada bala comum acrescenta profundidade até alcançar o objetivo.

<br>
