Estimación del despliegue de un indicador de función
Cómo planificar el lanzamiento de un «feature flag»: porcentajes por fases, «kill-switches», métricas de control y la limpieza que nadie programa. Un «feature flag» es un pequeño producto, no una implementación.
La historia se limita a lanzar la bandera y se olvida de la limpieza, de las métricas y del interruptor de emergencia.
Un indicador de función no es un mecanismo de implementación; es un pequeño producto. Requiere un valor por defecto, una vía de anulación, un registro de auditoría, un interruptor de emergencia y un plan de retirada. La mayoría de estos elementos no figuran en la solicitud original, que suele decir simplemente «integrarlo en un indicador». Esa solicitud es la puerta de acceso, no la función en sí.
La estimación debe tener en cuenta las fases de implementación (1 % → 10 % → 50 % → 100 %), los indicadores que determinan si se debe ampliar o revertir la implementación en cada fase, y la tarea de limpieza que elimina el indicador una vez que la funcionalidad se ha convertido en permanente. Los equipos que no programan esta limpieza terminan lanzando, en el plazo de un año, un código lleno de indicadores obsoletos, lo que constituye en sí mismo una deuda operativa.
Lo que se dice en la sala
Backend: «Envolver la llamada en un indicador: unas pocas líneas».
SRE: «¿Qué indicador nos indica que la implementación no está yendo bien?»
PM: «¿A qué cohortes se les activa el indicador en primer lugar?»
Titular: «¿Quién retira la bandera una vez que hayamos alcanzado el 100 %, y cuándo?»
Backend: «¿Existe un interruptor de emergencia independiente del indicador?»
Preguntas que conviene plantearse antes de votar
- Modalidad de implantación: ¿rampa lineal, basada en cohortes o cambio brusco?
- ¿Cuál es el valor por defecto si el servicio «flag» no está disponible? ¿Se trata del comportamiento anterior o del nuevo?
- ¿Qué indicadores determinan el paso a cada fase? ¿Qué se considera que «va bien»?
- ¿La ruta del «kill-switch» es independiente del sistema de indicadores?
- Ficha de retirada: ¿se crea por adelantado o «lo haremos más tarde»?
- Registro de auditoría: ¿quién cambió el indicador, cuándo y por qué?
La solución es la misma que en la mayoría de las historias de implementación: dividir la implementación, la puesta en marcha por fases y la limpieza en historias independientes, y cree el ticket de retirada antes de que se le olvide que existe.
Una bandera es un producto pequeño. Calcule la rampa, los parámetros de control de flujo y la limpieza, no solo el envoltorio.
Consulte cómo estimar la implantación de un límite de tasa para ver el mismo patrón de «la implantación se come el trabajo», así como los demás ejemplos prácticos de estimación. Abra una sesión gratuita de «planning poker» cuando se hayan definido las fases.