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

Descubre más desde FeaturIT

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo