Flag de funcionalidade é um interruptor que controla, em tempo real, se uma parte do produto está ativa ou não. O código da funcionalidade já está lá, mas envolto numa condição. Com a flag ligada, a funcionalidade aparece. Desligada, fica invisível. E dá pra ligar só pra um grupo: um time interno, dez por cento dos usuários, uma região.
O valor é desacoplar entregar código de liberar funcionalidade. A engenharia pode subir algo inacabado em segurança, porque está desligado. O time pode liberar aos poucos e observar. Se algo der errado, desliga na hora, sem esperar um novo deploy. É o que torna lançamento gradual e teste A/B viáveis na prática.
Na prática, flags exigem disciplina. Cada flag é uma bifurcação no código, e flag esquecida ligada por meses vira dívida e confusão. O combinado saudável é ligar, observar, decidir, e então remover a flag.