¿Cuál es la mejor manera de administrar indicadores de función o alternar características para equipos de desarrollo más grandes?

Trabajo para una empresa (Rollout.io – Feature Flags As a Service) que realmente proporciona software de gestión de indicadores de características. Si bien, por supuesto, me encantaría que elija nuestra oferta, solo diré que debe elegir alguna solución de terceros para la gestión de indicadores de funciones: la nuestra, la de un competidor o de código abierto.

De hecho, escribimos una publicación de blog argumentando esto en detalle hace un tiempo, pero resumiré brevemente. A medida que el mundo cambia a un producto / DevOps / enfoque ágil, la alternancia de funciones se está convirtiendo en un aspecto de sistema de primera clase, como el registro. Y al igual que el inicio de sesión, usted podría rodar dolorosamente el suyo … o podría hacer lo que ahora es estándar y usar una solución existente que proporcione no solo la funcionalidad básica sino también una funcionalidad importante a su alrededor. La gestión de indicadores de funciones le ofrece una API lista para usar, un panel de control centralizado, integración con datos en su aplicación, etc.

Por lo tanto, busque y pruebe una solución que se vea atractiva y tenga una idea de lo que puede hacer por usted.

¿Asumo que te refieres a equipos con más de 10 desarrolladores? Esto se complica porque necesita manejar múltiples entornos y administrar el ciclo de vida completo de sus indicadores de funciones (desde el inicio hasta la puesta del sol).

Este artículo puede ayudarlo a comprender los requisitos empresariales para la alternancia de funciones / gestión de indicadores de funciones.

Por lo general, los sistemas de señalización de características locales proporcionan un nivel mínimo de funcionalidad viable para la gestión del ciclo de vida. En otras palabras, estos sistemas permiten activar o desactivar las funciones, pero no cuentan con un amplio soporte para el registro de auditorías, el seguimiento de cambios o los controles de acceso del equipo.

Esto lleva a la acumulación de deuda técnica, que se refiere a la implementación de indicadores de características que parece rápida y fácil a corto plazo (es decir, usar un archivo de configuración), pero que puede causar más problemas a largo plazo si no se mantiene o escala correctamente. Las banderas de características se convierten en deuda técnica debido a complicaciones con:

  • Implementación y coherencia del indicador: los indicadores de características deben diseñarse cuidadosamente e implementarse de manera coherente dentro de su aplicación para evitar la degradación del rendimiento y garantizar que funcionen correctamente. Muchas veces, las organizaciones usarán métodos contradictorios como administrar múltiples archivos de configuración o usar alternar en línea.
  • Escalabilidad del indicador: agregar más indicadores de funciones hace que las pruebas y la administración sean exponencialmente más difíciles con el tiempo. Se hace muy difícil saber qué banderas son necesarias u obsoletas.
  • Gestión de indicadores: el mantenimiento de indicadores de características en múltiples entornos de desarrollo (local, control de calidad, preparación, producción) se vuelve arduo y requiere mucho tiempo. Se hace cada vez más difícil rastrear quién creó la bandera, el uso previsto de la bandera y los cambios realizados en el despliegue de la bandera.

Estados de bandera de funciones

Piense en el estado de un indicador de función como una forma de mostrar datos completos sobre su indicador y proporcionar actualizaciones en tiempo real sobre el estado de su indicador (activo, inactivo, nuevo).

Estos estados de banderas permiten a los equipos administrar tanto banderas a corto como a largo plazo, y saber cuándo las banderas son seguras para eliminar. Los estados pueden mostrar cuándo se agregó la bandera, cuándo se solicitó por última vez, el estado actual de la bandera y el porcentaje de implementación. Esto brinda a los equipos una visibilidad total de los ciclos de vida de sus banderas de funciones, la capacidad de limpiar las banderas que están obsoletas y saber qué funciones se implementan.

Registro de auditoría y controles de acceso

La gestión de banderas de funciones fundamental a efectiva es la capacidad de rastrear los cambios y controlar el acceso a las banderas de funciones. Los equipos deben construir un registro de auditoría que contenga un registro de todos los cambios realizados en cada indicador de función, incluido quién realizó esos cambios y cuándo.
El registro de auditoría también es crítico para las organizaciones que tienen obligaciones de cumplimiento, ya que les da a los gerentes una visibilidad completa de quién, qué y cuándo los cambios en los indicadores de funciones.

Soporte de equipo funcional cruzado

Con el soporte de equipo multifuncional, debería ser capaz de crear equipos, administrar roles de miembros y personalizar permisos. Esto le permite a su equipo coordinar su flujo de trabajo alrededor de un punto central.

A nivel empresarial, los gerentes podrían crear diferentes equipos para supervisar los objetivos organizacionales específicos, como las tasas de conversión, la gestión del rendimiento y las métricas de ventas.

Otros casos de uso incluyen:

  • Equipos de marketing que aprovechan los datos de prueba A / B para aumentar las conversiones
  • Diseñe equipos que prueben la usabilidad y experimenten con nuevas características
  • Equipos de DevOps que gestionan el rendimiento de las aplicaciones
  • Los equipos de ingeniería desacoplan el despliegue de funciones de las implementaciones de código

En general, le recomiendo que considere construir un tablero de instrumentos, realizar un seguimiento del registro de auditoría y una forma de administrar los estados de sus banderas.

Puede visitar Banderas de funciones, Alternar, Controles si está buscando algunas bibliotecas de código abierto o LaunchDarkly para una plataforma de gestión de alternancia de banderas / funciones.

More Interesting

¿Se pueden anotar videos usando el aprendizaje automático?

¿Qué tecnologías que no son de IBM se están utilizando para mejorar el ecosistema de IBM Watson?

Cómo detectar logotipos si están distorsionados

Cómo implementar clustering basado en densidad

¿Cuál puede ser un buen problema de investigación computacional para trabajar con el conjunto de datos de Wikipedia?

¿Puedo usar el aprendizaje automático para pronosticar datos de series temporales para puntos de datos discretos dispersos?

¿Qué otros algoritmos / métodos se pueden usar como alternativa al algoritmo vecino más cercano para la medición de distancia y cuál funciona mejor que NN?

¿La correlación entre dos variables cuenta como evidencia débil de un vínculo causal entre ellas?

¿Hay nueva información sobre el tema X o la gente sigue copiando y pegando?

¿En qué se diferencia el aprendizaje profundo de la propagación por error (error)?

¿Es posible crear sistemas de recomendación combinando datos de Twitter / Facebook y datos de preferencia del cliente? Si es así, ¿con qué herramientas?

¿Cuál es el lenguaje más utilizado para el aprendizaje automático en la industria?

¿Cuáles fueron algunos de los artículos de conferencias / revistas de investigación del discurso más interesantes / dignos de mención en 2012?

¿Cómo nos beneficia exactamente el entrenamiento previo en los métodos de aprendizaje profundo?

¿Qué tan avanzado es el aprendizaje autónomo robótico?