Skip to main content

¿Qué son las Feature Flags y para qué sirven? Una Feature Flag, también conocida como “feature toggle” o “feature switch”, es una técnica de desarrollo de software que permite habilitar o deshabilitar una funcionalidad específica del software. Esto se consigue sin tener que modificar el código fuente y realizar una nueva compilación y despliegue del software.

En esencia, una feature flag es una variable booleana que indica si una determinada funcionalidad o Feature está habilitada o deshabilitada.

Feature Flag: (Feature, Context) -> true/false

El contexto es toda aquella información que tenemos disponible para tomar la decisión de si una Feature va a estar activa o no en un momento dado. Por ejemplo:

  • El email del usuario.
  • La fecha actual.
  • El entorno de la plataforma (development, staging, production).
  • El país desde donde se realiza la petición.
  • El plan que tiene contratado el cliente que visita la página.

¿Para qué queremos Feature Flags?

Si envolvemos nuestras Features con Feature Flags, conseguimos los siguientes beneficios o casos de uso:

  • Pruebas A/B: Las feature flags permiten a los desarrolladores realizar pruebas A/B para comparar el rendimiento de diferentes versiones de una funcionalidad y tomar decisiones basadas en datos sobre qué versión lanzar. Más información en el post ¿Cómo definir un test A/B para una funcionalidad?
  • Lanzamiento gradual de nuevas funcionalidades: Las Feature Flags permiten a los desarrolladores lanzar nuevas funcionalidades de forma gradual, para un conjunto limitado de usuarios o en entornos específicos, y realizar pruebas para asegurarse de que todo funciona correctamente antes de lanzar la funcionalidad a todos los usuarios.
  • Reducción de riesgos: Las Feature Flags permiten a los desarrolladores probar nuevas funcionalidades en producción sin tener que realizar cambios importantes en el código fuente y sin tener que realizar una nueva compilación y despliegue del software.
  • Control de acceso: Las Feature Flags también se utilizan para controlar el acceso a funcionalidades específicas en función de diferentes factores, como la ubicación del usuario, el nivel de permisos, etc.
  • Desactivación de funcionalidades: Las Feature Flags permiten a los desarrolladores desactivar funcionalidades específicas del software en caso de problemas o errores, sin tener que realizar cambios importantes en el código fuente y sin tener que realizar una nueva compilación y despliegue del software.

Si permitimos que estas Feature Flags se configuren fuera del código, permitimos desacoplar la gestión de las Features de su programación.

Deja un comentario

A %d blogueros les gusta esto: