A Resposta Curta
Uma boa estratégia de ambientes responde a três perguntas: onde cada tipo de trabalho é realizado, como as mudanças avançam e como reverter quando algo falha. A estrutura que funciona para a maioria das organizações é um ambiente Developer para cada desenvolvedor, um ambiente de integração compartilhado, um ambiente UAT com dados representativos e um ambiente de Produção — com o Git como única fonte de verdade e implantação automatizada pelo menos até o UAT.
Mapa de Ambientes
| Ambiente | Tipo | O que acontece | Dados |
|---|---|---|---|
| Desenvolvimento Pessoal | Developer | Construção, experimentos, testes de unidade | Apenas Metadados |
| Integração | Developer Pro | Mesclagem do trabalho de toda a equipe, CI | Pequena amostra sintetizada |
| UAT | Partial ou Full | Aceitação de negócios, treinamento, cenários de ponta | Dados reais mascarados |
| Staging / Full | Full | Ensaio geral para Release, testes de volume | Cópia completa mascarada |
| Produção | — | Operação contínua | Reais |
Um Sandbox para Hotfix é recomendado para organizações cujos releases demoram mais de duas semanas: sem ele, qualquer correção urgente exige a implantação de um trabalho que ainda não está pronto.
De Change Sets ao Source-Driven
A transição ocorre em três etapas. Primeiro, exporta-se os metadados existentes para um repositório (Repo) e estabelece-se uma estrutura e estratégia de ramificação simples — uma branch principal, uma branch de Release e branches de Feature curtas. Em seguida, conecta-se o CI que executa a cada Pull Request Validation Deploy no ambiente de integração, testes Apex e testes estáticos. Na terceira etapa, conecta-se a implantação automática ao UAT, e a implantação para Produção é mantida como uma ação manual aprovada, com uma janela de release definida.
O que impede a transição não é a ferramenta, mas a abrangência: tentar incluir toda a Org no Repo de uma vez gera milhares de arquivos que ninguém consegue revisar. É melhor começar com um grupo de metadados de uma única área de negócio e expandir gradualmente.
O Que Não Entra no Repo
Parte do estado não são metadados que podem ser implantados: registros de configuração em Custom Settings e Custom Metadata que dependem do ambiente, valores de Named Credentials, Assignment Rules que mudam frequentemente e conteúdo de Knowledge. Para cada uma dessas categorias, deve haver um documento curto que defina quem atualiza, onde e como sincronizar entre ambientes. A falta dessa definição é a causa mais comum de falhas que aparecem apenas em Produção.
A relação entre a velocidade de release e a metodologia de trabalho é detalhada em Agile vs. Waterfall Híbrido e no Guia de Implementação do Salesforce.
Atualização e Manutenção de Ambientes
Um Sandbox não atualizado há nove meses já não representa a Produção, e qualquer teste nele dá uma falsa sensação de segurança. A regra simples: o ambiente UAT é atualizado antes de cada Release significativo, os ambientes de desenvolvimento são atualizados ao final de cada sprint. É importante planejar com antecedência o que é perdido na atualização — dados de teste, usuários, configurações — e ter um script Post-Refresh que os restaure em uma hora, e não em três dias.
Riscos Comuns e Ações Preventivas
O primeiro risco é o Drift: lacunas que se acumulam silenciosamente entre a Produção e o Repo. Uma comparação automatizada semanal de metadados com alerta é a única defesa eficaz.
O segundo risco são os testes Apex escritos apenas para atingir o limite de cobertura. Uma cobertura de 75% sem Assertions reais não é uma rede de segurança e oferece uma falsa segurança exatamente no momento em que a segurança real é necessária. O terceiro risco é o gargalo humano: uma única pessoa autorizada a implantar. É preciso ter pelo menos duas, com permissões documentadas.
Como Medir o Sucesso
Quatro métricas: frequência de releases, tempo desde a mesclagem até a Produção, taxa de implantações falhas e número de Hotfixes no mês após cada Release. Uma melhoria real se manifesta assim: frequência crescente, tempo decrescente e taxa de falhas e Hotfixes caindo simultaneamente. Um aumento na frequência junto com um aumento nos Hotfixes significa que o caminho é mais rápido, mas os testes são insuficientes.
