Escrito originalmente em francês. Traduzido por IA — o sentido foi preservado, não a prosa.
Ideia principal
Uma funcionalidade pede uma nova coluna no banco. Se o banco vive na casa do cliente e cada entrega em produção exige mandar um procedimento para o time dele, esperar uma validação, reservar uma janela de manutenção e verificar à mão que a migração passou, então a entrega não depende mais do fornecedor.
A consequência não é só um atraso. Um cliente aplica a migração na terça, outro espera até sexta, um terceiro adia para o mês seguinte. Você acaba com várias versões do motor, vários estados do esquema, e uma complexidade que cresce a cada entrega.
O que se perde aí é a vantagem estrutural do modelo: fazer evoluir continuamente um produto comum a todos os clientes.
Por que isso importa
A divergência não aparece no momento em que você aceita o arranjo — o primeiro cliente é fácil de atender. Ela aparece no décimo, quando é preciso testar cada correção contra vários estados do esquema.
E a tendência joga contra: à medida que a cadência de entrega aumenta, uma arquitetura que exige uma intervenção humana por cliente a cada evolução fica ainda mais cara.
Nuances e limites
A constatação vale para as evoluções de estrutura. Uma configuração, um conteúdo, um parâmetro podem variar por cliente sem produzir essa divergência.
E existem modelos assumidos de múltiplas versões — um software instalado na casa do cliente. São outros negócios, com outros custos.
Questões em aberto
- Até quantas variantes de esquema um time aguenta antes que o custo de teste fique proibitivo?