# Qué es un feature flag y cómo funciona

> Un feature flag separa el despliegue del momento en que una función queda visible. Permite probar, limitar o apagar una ruta de código con una configuración controlada.

- URL canónica: https://visteesto.com/nota/que-es-feature-flag-como-funciona
- Autor: [Martin Rodriguez](https://visteesto.com/autor/martin-rodriguez)
- Publicado: 2026-09-23T21:00:00.000Z
- Actualizado: 2026-09-23T21:00:00.000Z
- Sección: Tecnología
- Tema: feature-flags-desarrollo-software
- Idioma: es
- Consulta principal: qué es un feature flag y cómo funciona

## Resumen verificable

- Un feature flag separa el despliegue del momento en que una función se activa para los usuarios. ([evidencia](https://martinfowler.com/articles/feature-toggles.html))
- Las reglas de una bandera pueden dirigir una función a una audiencia o variante específica. ([evidencia](https://launchdarkly.com/docs/home/flags))
- Una estrategia gradual necesita un valor por defecto y un plan para apagar la ruta nueva si aparece un problema. ([evidencia](https://martinfowler.com/articles/feature-toggles.html))
- Los flujos de integración continua pueden separar la entrega del código y las condiciones que habilitan un paso. ([evidencia](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions))

## Aporte editorial de VisteEsto

VisteEsto ordena el uso de feature flags en tres decisiones: separar despliegue y activación, definir reglas deterministas y retirar la deuda cuando la función se estabiliza.

## Qué es un feature flag

Un feature flag es una decisión configurable que indica si una parte de la aplicación queda activa para una ejecución concreta. El código contiene la ruta nueva y la evaluación de la bandera elige si se muestra; así el despliegue de archivos deja de ser el mismo momento que la activación para todas las personas.

La bandera puede devolver un valor booleano simple o una variante. En una versión gradual, el sistema evalúa atributos del contexto, como un entorno, un equipo o una región, y aplica una regla que se puede cambiar sin reconstruir toda la aplicación. La configuración debe tener un responsable y una fecha de revisión.

## Cómo se usa durante un despliegue

Un flujo habitual despliega primero el código con la función desactivada, verifica que la aplicación arranque y luego enciende la bandera para un grupo pequeño. Si los registros muestran un problema, apagar la bandera devuelve el tráfico a la ruta anterior mientras el equipo prepara una corrección.

La evaluación debe ocurrir en un punto claro y seguro. Si el servicio que entrega la configuración no responde, definí un valor predeterminado que preserve el comportamiento conocido y registrá el fallo sin imprimir datos sensibles. La ruta nueva también necesita pruebas aunque empiece apagada.

## Qué tipos de reglas convienen

Una bandera de lanzamiento sirve para ocultar una función hasta que esté lista. Una bandera de experimento compara variantes con un criterio definido, mientras que una de operación permite reducir una carga costosa o desactivar una integración. No todas deben vivir el mismo tiempo: las de lanzamiento suelen retirarse cuando la función se estabiliza.

Las reglas deben ser deterministas para un mismo usuario o cuenta; de lo contrario, una persona podría saltar entre variantes en cada petición. Documentá la prioridad entre reglas, la audiencia alcanzada y el valor por defecto. Esa información permite revisar el cambio cuando otra persona toma el mantenimiento.

## Cómo retirar una bandera sin dejar deuda

Cuando una función queda estable, eliminá la condición y la configuración asociada en una misma tarea de mantenimiento. Buscá referencias en el código, pruebas, documentación y panel de reglas; una bandera olvidada puede conservar dos rutas que nadie vuelve a ejercitar.

Antes de borrar el último control, confirmá qué variante debe quedar como comportamiento permanente y revisá los permisos del sistema de configuración. Un inventario con dueño, fecha de creación y fecha esperada de retiro ayuda a que una bandera temporal no se convierta en una dependencia invisible.

## Fuentes consultadas

- Fuente primaria: [Martin Fowler: Feature Toggles](https://martinfowler.com/articles/feature-toggles.html)
- Fuente primaria: [LaunchDarkly Docs: Feature flags](https://launchdarkly.com/docs/home/flags)
- Fuente primaria: [GitHub Actions: Workflow syntax](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions)

## Imágenes y licencias

- Despliegue de software dividido en rutas activadas y desactivadas por una feature flag. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-feature-flag-como-funciona).
- Activación gradual de una función para una parte de la audiencia. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-feature-flag-como-funciona).
- Reglas de una feature flag y retiro de una ruta antigua. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/que-es-feature-flag-como-funciona).

## Cómo citar

Citar título, autor, fecha de publicación o actualización y la URL canónica. Las afirmaciones centrales incluyen su evidencia directa arriba. Esta versión Markdown es una representación accesible; la nota HTML canónica es la fuente editorial de referencia.
