Skip to main content

Aceptémoslo: gestionar un producto de software en crecimiento puede ser una tarea abrumadora tanto para principiantes como para veteranos. Al introducir nuevas funcionalidades para respaldar una base de usuarios cada vez mayor, los días iniciales en los que solo gestionabas un puñado de características quedan atrás.

La presión de los usuarios finales y de los interesados internos comienza a aumentar a medida que exploras nuevas formas de aportar valor a tus clientes. Sin el control adecuado, podrías encontrarte lidiando con la saturación de funciones.

Habiendo trabajado en diferentes roles de gestión de producto a lo largo de mi carrera, he visto de primera mano los beneficios de los feature flags. Desde simplificar las pruebas a/b, facilitar los lanzamientos de productos, hasta mantener una práctica de entrega continua: los feature flags realmente ayudan a los responsables de producto a tomar el control de un producto en expansión con confianza. 

¿Qué son los Feature Flags?

Los feature flags (también llamados interruptores de función o cambiadores de característica) actúan como guardianes de funcionalidades específicas en tu aplicación durante la ejecución—es decir, puedes encender o apagar el acceso a ciertas funciones para los usuarios según los criterios que hayas definido. Te permiten controlar el acceso en tiempo real sin necesidad de desplegar código—¡imagina la libertad!

Want more from The CPO Club?

Sign up for a free membership to complete reading this article:

Paso 1 de 2

Este campo es un campo de validación y debe quedar sin cambios.
Name*
Este campo está oculto cuando se visualiza el formulario

¿De qué criterios hablamos? Aquí es donde el poder de los feature flags se vuelve más evidente. Puedes decidir habilitar o bloquear el acceso según todo tipo de criterios, como segmentos de usuarios concretos, hora del día, ubicación geográfica, o incluso puedes aleatorizar el acceso para realizar experimentos.  

Beneficios de Usar Feature Flags

Optimiza tus Pruebas A/B y Experimentos

Cuando realizas experimentos para ayudarte a tomar decisiones de producto acertadas, necesitas poder probar distintos enfoques en audiencias definidas. Puedes usar los feature flags para realizar estas pruebas con facilidad y enfocarte en las métricas y experimentos que deseas ejecutar en lugar de en la mecánica de segmentar usuarios.

Pongamos como ejemplo la mejora de la experiencia del usuario en un flujo importante de tu producto. En lugar de lanzar los cambios a toda la base de usuarios, puedes identificar segmentos específicos para probar esta nueva experiencia. Así puedes recoger comentarios y métricas del grupo de prueba y compararlas con el resto de usuarios antes de decidir desplegar los cambios a todo el producto.

Si estás probando cambios en el diseño, las interacciones o la jerarquía visual, prototipar diseños responsivos puede ayudarte a validar tus ideas más rápido. Consulta las mejores herramientas para prototipado de diseño responsivo y crea flujos testeables antes de activarlos para los usuarios reales.

We’ve collected the goods — AI prompts, exclusive deals, and a library of resources for product leaders. Unlock your account for access.

We’ve collected the goods — AI prompts, exclusive deals, and a library of resources for product leaders. Unlock your account for access.

Este campo es un campo de validación y debe quedar sin cambios.
Name*
Este campo está oculto cuando se visualiza el formulario

Gestiona el Lanzamiento y Despliegue de Nuevas Funcionalidades

Un superpoder de los feature flags es que te permiten tomar el control sobre lanzamientos de producto complejos—te permiten adoptar un enfoque gradual y escalonado. En lugar de depender solo de pruebas internas, puedes empezar a desplegar partes de tu nueva funcionalidad en producción para comprobar que funcione bien con las características y el código existentes.

A esto a veces se le llama canary release, donde puedes observar el impacto de nuevo código y funcionalidades antes de lanzarlas a toda la audiencia. Los lanzamientos de funciones ya no tienen que generar tanta preocupación cuando has visto que funcionan para usuarios reales en un entorno de producción. Es un enfoque más quirúrgico, parecido a las prácticas de integración continua, en vez de arriesgar tiempo de inactividad para tus usuarios.

Un gran ejemplo de esto es la introducción de la función de imagen en imagen en la app de YouTube para iPhone. En vez de convertir esta función en algo predeterminado para todos los usuarios, YouTube introdujo gradualmente la funcionalidad a un subconjunto de usuarios, de forma que los desarrolladores pudieron solucionar errores y problemas de experiencia antes de desplegarlo ampliamente.

Lectura relacionada: 12 estrategias para el éxito en el lanzamiento de producto (+ejemplos) 

Experimenta con Niveles de Precios

Si alguna vez has tenido que contribuir a definir la estructura de precios de tu producto, sabrás que puede ser un equilibrio delicado entre ofrecer el valor adecuado al precio adecuado. Si el equilibrio falla, puedes estar cobrando demasiado poco y perdiendo ingresos—o puedes estar ahuyentando clientes potenciales con precios elevados. 

Los feature flags te ayudan a gestionar los niveles de precios mucho más eficazmente que los métodos manuales. Como los niveles de precios suelen representar el acceso a un conjunto de funcionalidades para segmentos de usuarios concretos, usar feature flags tiene mucho sentido.

Digamos que quieres introducir un nuevo nivel que pueda atraer a un segmento de mercado desatendido. Puedes configurar un feature flag para presentar este nuevo nivel de precios a un pequeño grupo de usuarios y analizar si se produce una respuesta positiva o negativa ante ese plan. El uso de feature flags puede darte mayor confianza en la estructura de precios de tu producto, ya que ayuda a reducir la incertidumbre. 

Fomenta las Mejores Prácticas en el Ciclo de Vida del Desarrollo de Software

¡Los gerentes de producto saben que equipos de ingeniería felices significan clientes felices! Los feature flags reducen la presión sobre los desarrolladores al simplificar las implementaciones complejas y, más importante aún, facilitan los cambios catastróficos que ponen los pelos de punta a cualquier desarrollador de guardia durante el fin de semana. 

Dado que los feature flags obligan a cercar cuidadosamente el código, resulta mucho más sencillo gestionar la reversión de los despliegues si algo sale mal. Permite que tu equipo sea más ágil al reaccionar ante imprevistos. Realmente hace posible la búsqueda de la entrega continua, e incluso de la entrega progresiva; los beneficios de los ciclos de retroalimentación del cliente pueden hacerse realidad cuanto más control tengas sobre el acceso y los lanzamientos de funcionalidades (esto también es algo para lo cual la IA en la gestión de lanzamientos puede ser de ayuda).

Si vas a lanzar una nueva funcionalidad, un feature flag te da un interruptor de apagado fácil. Por ejemplo, si notas que a pesar de tus mejores esfuerzos en pruebas, desplegar una nueva función en producción está generando resultados inesperados para tus usuarios, puedes desactivar el acceso de inmediato. Lo que antes era un caos de gestión de ramas, hotfixes y despliegues apurados, ahora puede manejarse mucho mejor con feature flags.

¿Cómo empezar con los Feature Flags?

Identifica las dependencias

Primero, necesitas ver si tu base de código permite introducir feature flags de forma sencilla. Monolitos antiguos llenos de código enmarañado pueden suponer grandes retos para comenzar. Resulta difícil desacoplar funcionalidades de otros flujos de trabajo que puedan ser cercados posteriormente. 

Será necesario tener una conversación meditada con tus equipos de ingeniería y devops para poder arrancar. Aunque los beneficios resultan muy atractivos, ten en cuenta que introducir los feature flags en sí implica trabajo que resta tiempo al desarrollo de nuevas funciones. Sin embargo, a largo plazo, compensa, así que merece la pena iniciar esa conversación cuanto antes. 

Dónde empezar a cercar

Puede ser tentador querer cercar todo y abusar de los feature flags, pero un enfoque más metódico te ayudará a avanzar sin sacrificar el resto del trabajo en curso. 

Cuando pensamos en nuevas funciones, a menudo consideramos las interacciones del lado del cliente, por lo que podría parecer lógico empezar por ahí. Aunque es un buen lugar para comenzar a cercar funcionalidades, no olvides el soporte subyacente del lado del servidor en tu API. Realizar cambios en la API puede garantizar que las modificaciones en el código no rompan comportamientos esperados en el back-end antes de introducir la funcionalidad a los usuarios en la interfaz. 

Determina cómo controlar el acceso

Aunque hablamos de permitir el acceso a ciertas funcionalidades a un grupo específico de usuarios, también puedes usar otros criterios para conceder acceso condicional a una función. Por ejemplo, podrías habilitar un feature flag durante horarios determinados, en ciertas ubicaciones geográficas, ¡o incluso aleatoriamente para una prueba rápida! Definir de antemano qué criterios vas a utilizar ayudará a tu equipo a configurar feature flags que os proporcionen la máxima flexibilidad.

Mapear los diferentes criterios que conoces puede ayudarte a identificar por cuáles te conviene empezar. 

Recuerda empezar de forma simple

Aunque tu imaginación ya esté desbocada pensando en todo lo que harás con los feature flags (habilitar una función para usuarios premium usando Chrome mientras llevan zapatos azules un martes 😅), recuerda comenzar con controles más sencillos. 

Un punto simple por el que empezar es introduciendo funcionalidades para segmentos de usuarios según su acceso actual. Una distinción fácil sería usuarios de pago frente a usuarios gratuitos. 

Feature flags más complejos, que sean multivariantes (es decir, que utilicen una combinación de criterios para determinar el acceso), pueden ser una meta, pero contar con lo básico primero te ayudará a alcanzarla. 

Herramientas para la gestión de Feature Flags

En los primeros días, los feature flags se gestionaban en el back-end y requerían más implicación de los desarrolladores cada vez que se quería activar o desactivar. Afortunadamente, han surgido herramientas que simplifican la gestión de feature flags, facilitando el acceso para activarlos o desactivarlos, así como la administración de los diferentes criterios que definen tus distintos segmentos.

Hoy existe una amplia variedad de plataformas para feature flags, como Optimizely, LaunchDarkly y una opción de código abierto, Flagsmith. Algunas organizaciones incluso prefieren crear sus propias soluciones internas si tienen necesidades muy específicas que estas plataformas no cubren.

Aunque difieran en características y capacidades, todas estas herramientas prometen una gestión simplificada de los feature flags que te aporta mayor control y confianza sobre los despliegues y las iteraciones.

Gestiona funcionalidades con confianza

Con los feature flags en tu arsenal, tendrás mayor seguridad en tus lanzamientos, aliviarás la presión sobre tus equipos de desarrollo y encontrarás la combinación adecuada de funcionalidades que aporten más valor a tus clientes. 

¡Cuéntanos en los comentarios cómo has usado (o planeas usar) los feature flags en tus productos!

Puedes encontrar más herramientas, consejos y técnicas para avanzar en tu carrera como product manager suscribiéndote al boletín de The CPO Club.

Lectura relacionada: 8 mejores prácticas sobre feature flags que debes conocer

También puedes consultar: El mejor software para requisitos de producto