Sin repetir el contenido de https://martinfowler.com/articles/feature-toggles.html , ya que es una explicación en profundidad sorprendente sobre qué alternan las banderas de funciones. Solo me enfocaré en los aspectos de DevOps.
Según el Informe sobre el estado de DevOps de 2014 preparado por PuppetLabs, existen cuatro métricas principales para medir el rendimiento de TI:
- Plazo de entrega para los cambios
- Frecuencia de lanzamiento
- Hora de restaurar el servicio
- Cambiar tasa de falla
Estos también contribuyen al desempeño organizacional en general. Por lo tanto, significa que si a su TI le está yendo muy bien en estas métricas, su resultado final obtiene más $$$.
La entrega continua está habilitada por estas métricas, y se ha descrito en profundidad en el libro Entrega continua: lanzamientos confiables de software a través de la automatización de la compilación, prueba e implementación de Jez Humble.
En el contexto de la entrega continua , hay una distinción importante que lo diferencia de la implementación continua . Y esa es la decisión de cuándo hacer una versión de funciones (para los clientes).
Mantener cambios más pequeños en tamaño, y el despliegue (copiar código) características a medias a los sistemas de producción con una bandera característica activarse fuera permite acortar el tiempo de entrega para los cambios .
Cuando las características finalmente están terminadas, hacer un lanzamiento es una decisión que le queda al negocio. Tal vez una versión de una nueva función debe estar alineada con algún marketing, o una versión en otra parte del negocio, como una función en la aplicación móvil.
Las funciones se pueden lanzar utilizando experimentos A / B solo a una parte de la base de clientes, o a personas específicas, o incluso directamente a disponibilidad general (GA). Aunque la liberación a GA a menudo se realiza solo después de que haya suficiente certeza de que la función funciona como se esperaba. Uno podría argumentar que esto en efecto afecta que la frecuencia de liberación sea mayor.
Este desacoplamiento de la liberación y la implementación es casi imposible de lograr sin alternar el indicador de características.
Naturalmente, cuando no se requiere un despliegue para cambiar una característica fuera , entonces el tiempo para restablecer el servicio se reduce sustancialmente.
Y mediante el uso de indicadores de características que lanzan características a una pequeña porción de la base de clientes, la métrica de tasa de falla de cambio también se puede mejorar significativamente.
Por lo tanto, un mecanismo simple denominado alternancia de indicador de característica permite un rendimiento de TI mucho mejor y, a su vez, mejora el rendimiento general de la organización.
Un gran ejemplo de cómo se hace esto en compañías reales se puede encontrar en Flickr (una de las primeras publicaciones públicas sobre el tema) y en Etsy . Pero muchos otros adoptaron la práctica y hablaron sobre ella en profundidad, por ejemplo, la famosa cultura de ingeniería en los videos de Spotify .
Etsy está mostrando su herramienta interna para administrar indicadores de funciones , llamada Catapult, en múltiples presentaciones que se encuentran en la web. Y Intuit lanzó una herramienta de código abierto llamada Wasabi que ayuda a administrar las banderas de características.