Deploy e lançamento não precisam ser a mesma coisa. Feature flags permitem colocar código em produção e decidir separadamente quem verá a mudança, quando ela será ativada e como voltar atrás se algo falhar.
Esse controle é útil em sistemas web porque reduz a pressão do tudo ou nada. Uma funcionalidade pode começar escondida, aparecer para o time interno, avançar para poucos usuários e só depois virar padrão.
Quando usar
Flags ajudam em mudanças com risco de comportamento, integrações novas, migrações graduais, testes A/B e liberações por cliente ou perfil. Elas são menos úteis para correções pequenas e óbvias que podem ser publicadas diretamente.
Também servem para desligar partes não essenciais quando uma dependência externa falha. Nesse caso, a flag funciona como mecanismo operacional, não apenas como estratégia de produto.
Disciplina necessária
Toda flag precisa de dono, objetivo e data de revisão. Sem isso, o código acumula caminhos antigos e novos, dificultando testes e aumentando custo de manutenção.
Registre o valor padrão, quem pode alterar, quais métricas acompanhar e como fazer rollback. A simplicidade do toggle não elimina a responsabilidade da mudança que ele controla.
Remova depois
Depois que a funcionalidade estiver estável, remova a flag e o caminho antigo. Feature flag boa reduz risco temporário; quando fica para sempre, vira dívida técnica com interface bonita.