← Voltar ao blog

Feature Flags e lançamentos graduais

feature-flags devops agilidade

Feature flags permitem que você faça deploy de código sem que o usuário veja a funcionalidade. Isso separa duas atividades que sempre foram tratadas como a mesma coisa: entregar código e liberar funcionalidade.

O problema do deploy = release

Sem feature flags:

  1. Código vai para produção
  2. Feature fica visível para todos imediatamente
  3. Se algo der errado: rollback doloroso
  4. Resultado: medo de deployar e estimativas infladas

Com feature flags:

  1. Código vai para produção (através da flag)
  2. Feature fica invisível até ativar
  3. Se algo der errado: desativa a flag em segundos
  4. Resultado: confiança para deployar frequentemente

Impacto nas estimativas

Sem feature flags

“Precisamos garantir que tudo funciona perfeitamente no deploy. Isso adiciona 3 pontos de trabalho extra.”

Com feature flags

“Se der problema, desativamos a flag. Estimativa reflete só o esforço de construir.”

Menos risco = estimativas mais realistas

Times com feature flags estimam com menos medo porque sabem que o rollback é trivial.

Tipos de Feature Flags

TipoUsoDuração
ReleaseControlar lançamento de featuresSemanas
ExperimentA/B testing e validaçãoDias/semanas
OperaçãoPerformance e fallbackHoras/dias
PermissãoAcesso por plano/cargoPermanente

Estimativa de features com flags

Quando uma feature usa flag, considere na estimativa:

  • Lógica da flag (1 ponto extra) — adicionar o toggle
  • Testes da flag (1 ponto extra) — testar com flag on e off
  • Analytics (1-2 pontos) — tracking de uso da feature
  • Remoção — agendar para remover a flag depois de estabilizada

Ferramentas

  • LaunchDarkly — mais completa, enterprise
  • Unleash — open-source, self-hosted
  • Split — focado em experimentação
  • Flagsmith — alternativa simples e open-source
  • Solução própria — boolean flag no banco de dados

Boas práticas

  1. Nomes clarosenable-new-checkout-flow não flag1
  2. Remova flags velhas — se a feature já está estável, remova a flag
  3. Dashboard central — todas as flags visíveis e gerenciáveis
  4. Limites por ambiente — flags de operação não ativadas em produção sem aprovação
  5. Documente — cada flag deve ter dono e data de remoção

Feature Flags e Sprint Planning

Com feature flags, o Sprint Planning muda:

  • Mais confiança — rollback é fácil então planeje com menos buffer
  • Entrega incremental — features podem ser liberadas parcialmente durante o sprint
  • Review mais flexível — demo com flag ativada em staging

Conclusão

Feature flags são um multiplicador de velocidade e confiança. Separam deploy de release, reduzem o medo de errar e permitem que times estimem com mais precisão porque sabem que o rollback é instantâneo.