Escrito originalmente en francés. Traducido por IA — se ha preservado el sentido, no la prosa.
Definición corta
Interruptor con nombre, inscrito en el código y ajustado fuera de él, cuyo estado decide cuál de varios comportamientos posibles se ejecuta para un entorno o un cliente dado.
Definición detallada
El término viene de las prácticas de entrega continua, donde nombra el medio de disociar la puesta en producción de un código de la activación de la funcionalidad que lleva. El uso técnico distingue allí varias familias según la vida útil y quién pilota el interruptor: el flag de despliegue, retirado una vez generalizada la funcionalidad; el flag de explotación, accionado en caso de incidente; el flag de experimentación, que sirve a una medición; el flag de acceso, que abre una funcionalidad a una cuenta y no a otra.
En los artículos de este blog, la palabra se emplea por lo que le hace a una pregunta de producto más que por su mecánica de entrega. Un repositorio que contiene un flag no contiene un comportamiento sino dos, y no dice cuál se aplica. El término designa, por tanto, el punto exacto en que leer el código deja de bastar y en que el estado de un entorno se vuelve necesario para responder.
El uso sobre el terreno se aparta de la norma en la duración: la definición de origen tiene el flag por temporal, y muchos repositorios llevan flags de dieciocho meses que determinan el producto que ven varias cuentas. La palabra se emplea aquí para ambos casos, ya que el estado del flag cuenta más que su edad.
Uso en el ámbito
Interviene en los razonamientos sobre la consulta al código como fuente de verdad de producto: figura entre los elementos que una respuesta debe poder citar, y nombra la razón más frecuente por la que esa respuesta debe seguir siendo condicional. Interviene también en las discusiones sobre lo que un soporte o un comercial puede afirmar a un cliente concreto.
Sinónimos y variantes
"Feature toggle", "flag", "toggle", "bandera", "interruptor de funcionalidad". El giro local "según el estado del flag" sirve para señalar que una respuesta es condicional.
No confundir con
- Fuente de verdad — Fuente de verdad — artefacto designado como el que da fe en caso de desacuerdo entre varias representaciones. El feature flag es lo que obliga a completar esa fuente con un segundo elemento, el estado del entorno desplegado.
- Rama de funcionalidad — línea de desarrollo separada, donde un código sin terminar vive fuera del tronco hasta su fusión. El flag opera sobre código ya fusionado: lo que se retiene no es la integración, es la ejecución.
- Test A/B — dispositivo de medición que expone dos variantes a dos poblaciones para decidir según un indicador. Se implementa a menudo mediante un flag; su objeto es la comparación, no la puesta a disposición.
- Derecho de acceso — regla que dice lo que un perfil de usuario puede hacer en el producto. Pertenece al dominio y se lee como tal en el código; el flag es un ajuste de entrega, ajeno al vocabulario de negocio.
- Opción de configuración — ajuste expuesto al cliente, que forma parte de la oferta y se documenta. El flag es, en principio, invisible para el cliente y está destinado a desaparecer.
Ejemplos
"El código muestra dos comportamientos posibles según el estado del feature flag."
"Si la IA no tiene acceso a ese estado, debe responder de forma condicional: si el flag está activado, entonces el comportamiento es este; si no, es distinto."
En la lista de elementos que pueden servir de prueba a una respuesta de producto, figura junto a la función, la excepción, el test, el commit y la merge request.
Ambigüedades / debates
Coexisten dos usos sin que ninguno se haya impuesto. El primero reserva la palabra a los interruptores temporales y llama configuración al resto; el segundo llama flag a todo interruptor cuyo estado decide el comportamiento observado, sea cual sea su vida útil. Es el segundo el que vale aquí.
El singular abarca además dos cosas según los equipos: el interruptor en sí, y el dispositivo que los aloja y los pilota.