Por que lotes pequenos vencem
A intuição diz que entregar menos vezes é mais seguro: cada deploy é um risco, então reduza o número de deploys. A pesquisa de entrega de software diz o contrário — os times que publicam com mais frequência também quebram menos e se recuperam mais rápido.
Não é paradoxo. É consequência de como o risco se comporta com o tamanho do lote.
Risco cresce mais que linearmente
Seção intitulada “Risco cresce mais que linearmente”Uma mudança com dez alterações não tem dez vezes o risco de uma com uma alteração. Tem mais, porque o risco não está só nas alterações: está nas interações entre elas.
Some a isso o que o lote grande carrega junto: mais tempo desde que o código foi escrito (logo, menos contexto na cabeça de quem escreveu), mais conflitos de merge, mais chance de que uma das partes precise ser revertida sem as outras.
E há o efeito psicológico, que é real: quanto maior o lote, maior a resistência a reverter. “Tem coisa boa aí dentro” é o argumento que mantém em produção uma mudança que já se sabe problemática.
Diagnóstico é onde a diferença aparece
Seção intitulada “Diagnóstico é onde a diferença aparece”Este é o argumento decisivo. O deploy quebrou:
- Lote de uma mudança: a causa é aquela mudança. Reverte-se em minutos.
- Lote de quarenta mudanças: começa a investigação. Qual das quarenta? Bissecção, hipóteses, gente parada.
O tempo de diagnóstico cresce com o tamanho do lote, e ele é a maior parte do tempo de um incidente — não a correção. É por isso que times com deploy frequente têm tempo de recuperação menor: não porque consertam mais rápido, mas porque descobrem mais rápido.
O ciclo virtuoso
Seção intitulada “O ciclo virtuoso”Lotes pequenos e capacidade de entrega se reforçam:
lotes menores → deploy menos assustador → publica-se mais vezes → mais prática em publicar → automação melhora → deploy fica confiável → dá para publicar lotes ainda menoresE o ciclo oposto também é estável, o que explica por que times travam nele: deploy raro → lote enorme → deploy assustador → aprovação e cerimônia → deploy mais raro ainda. Cada volta piora a seguinte, e o mecanismo de “proteção” é justamente o que aumenta o risco.
O que impede lotes pequenos
Seção intitulada “O que impede lotes pequenos”Quando um time não consegue publicar em lotes pequenos, a causa costuma ser uma destas — e todas são resolvíveis:
- Testes lentos ou instáveis. Se o pipeline leva uma hora, ninguém publica cinco vezes ao dia. Veja acelerar um pipeline lento.
- Deploy manual ou arriscado. Automatize e garanta reversão em minutos.
- Branch de longa duração. Integração adiada é lote grande por construção; veja estratégias de branch.
- Funcionalidade que só faz sentido inteira. Resolve-se com feature flag, separando entrega de liberação.
- Aprovação externa por deploy. Substitua a aprovação genérica por controle automatizado com evidência.
- Migração de banco acoplada. Resolve-se com expand/contract.
Repare que nenhuma delas é “o negócio não deixa”. A restrição quase sempre é técnica ou de processo, e portanto endereçável.
O limite honesto
Seção intitulada “O limite honesto”Lote pequeno não é fim em si. Publicar uma alteração de espaçamento vinte vezes ao dia não melhora nada, e há contextos em que o custo por entrega é irredutível: software embarcado com atualização em campo, cliente desktop distribuído, sistema regulado com homologação externa. Aí a resposta é reduzir o custo do lote quando possível, e agrupar conscientemente quando não for.
Há também um custo real de coordenação: cada entrega consome comunicação, verificação e atenção. O objetivo não é o menor lote concebível, e sim o menor lote que ainda entrega valor coerente — com o custo por entrega baixo o suficiente para que isso seja sustentável.
Leituras relacionadas
Seção intitulada “Leituras relacionadas”- Deploy não é release
- Métricas DORA — os dados por trás desta página
- Trunk-based vs GitFlow
- Mapeamento de fluxo de valor