Entrega progresiva: prueba de software a través de versiones limitadas


A veces, la implementación continua simplemente no es suficiente para las empresas que constantemente prueban y agregan funcionalidades, especialmente para las empresas que desean que la funcionalidad esté disponible para audiencias cada vez más grandes. La respuesta a eso es la entrega progresiva.

El término entrega progresiva fue introducido a mediados de 2018 por Adam Zimman, vicepresidente de plataforma en LaunchDarkly, y James gobernador, analista y cofundador RedMonkpara ampliar la idea de entrega continua, implementaciones y lanzamientos separados para las organizaciones.

Las empresas que adoptaron la entrega continua desde el principio eran principalmente organizaciones que priorizaban el software, y su principal valor añadido procedía de algún tipo de paquete de software. Las organizaciones que no tenían software como su única fuente de valor se enfrentaron a desafíos que la entrega continua realmente no abordaba.

CONTENIDO RELACIONADO:
Industry Watch: ¿Qué sigue en CD? Entrega progresiva
Conozca su software paso a paso

“Cuando comienzas a hablar con la empresa, Continuous Delivery y Continuous Delivery suelen parecer un poco atemorizantes. Si habla con la empresa y dice, mire, no vamos a desacoplar estas cosas. Usted decide cuándo tiene lugar la activación comercial y puede hacerlo porque algo está muy bien probado y puede probarlo en producción. Puede estar seguro de cuándo se implementarán los servicios y eso reducirá el riesgo de lo que está haciendo y luego parecerá que ha vuelto a tener el control ”, dijo el gobernador.

Todos los conceptos básicos de prueba de entrega progresiva existían en entrega continua. Ahora se trata de lo que está realmente enfocado, ya que las empresas pueden hacer mucho más mientras usan la nube.

El despliegue progresivo es un término que se puede aplicar a una variedad de disciplinas ya utilizadas por las personas, ya sea que se trate de un excelente desempeño en la entrega y fabricación u organizaciones que realizan pruebas de manera efectiva y tienen un alto nivel de confianza en que sus operaciones tengan una cultura de resolución de problemas y observabilidad .

«Si miras a Google, Amazon y Microsoft desde una perspectiva de nube pública, todos hacen esas cosas, aunque no siempre lo llaman implementación progresiva», dijo el Gobernador. «Una vez que comienza a ingresar a la banca y las telecomunicaciones, se convierte en un conjunto más general de enfoques y tecnologías».

Según Zimman, la entrega progresiva se reduce a dos principios básicos: progreso de la liberación y delegación.

El progreso de la versión consiste en ajustar la cantidad de usuarios que podrán ver o interactuar con las nuevas funciones y el código a un ritmo apropiado para su negocio. También se trata de extenderlo solo a las partes apropiadas en un momento dado como parte de la prueba. Esto puede significar que la función solo se ofrece para el acceso temprano a los usuarios beta y luego se expande a un grupo de usuarios de confianza antes de expandirse a todos. O tal vez el estado final sea dar acceso solo a las personas que están en el plan premium.

«La cosa que [continuous delivery] poco antes era más una mentalidad binaria ”, dijo Zimman. «Así que, contrariamente a esta noción, fue activado o desactivado para todos, que realmente nos enfocamos en esta capacidad para aumentar su radio de explosión».

Practicar el progreso del lanzamiento ayuda a probar la implementación del software porque la persona o el equipo que creó una nueva función o widget puede implementarlo y ser los únicos que pueden interactuar con él.

“Todo el mundo prueba en producción. Algunas personas hacen esto a propósito, pero si no prueba intencionalmente en producción, es probable que se queme con una versión incorrecta o falta de coherencia entre su entorno de prueba y su entorno de producción. «

El otro aspecto central, la delegación de lanzamientos, se centra en trasladar el control de lanzamientos de la organización de ingeniería y operaciones al propietario del negocio.

«Una vez que se sale del ámbito de las organizaciones de solo software cuyo único valor es el software, se ve que los dueños de negocios están buscando más control y una mayor capacidad para transformar las experiencias digitales», dijo Zimman.

Los propietarios de negocios pueden personalizar qué funciones desean compartir con clientes específicos e incluso dar a los usuarios finales la capacidad de activar y desactivar funciones específicas, mientras se implementan medidas de seguridad para garantizar que las acciones cumplan con los requisitos de cumplimiento de la industria.

Muchas empresas quieren hacer esto de forma autónoma y, según Zimman, no tienen que recurrir al equipo de ingeniería o de operaciones para controlar las funciones, especialmente cuando se trata de pruebas beta, pruebas A / B o experimentos.

Ravi Lachman, un evangelista de Harness, dijo que la entrega continua de comentarios proviene de. Esto es especialmente importante en el modelo de desarrollo de software actual, donde a menudo se hace lo desconocido y no se sabe cuál es el efecto. Una de las empresas fundamentales que se ha basado en la retroalimentación para la entrega progresiva es Facebook.

“Si lo retira hace 10 años y usted y yo descargamos Facebook de la App Store, usted y yo tenemos dos tamaños de descarga diferentes y hay una razón para eso. Proporcionarían diferentes funciones para usted y para mí ”, dijo Lachman. “Por ejemplo, me gusta mucho el pollo frito y estoy en varios grupos de pollo frito en Facebook. Se podría decir que sabe qué, apuntar a él con cosas específicas de cocineros y cómo comenzaron fue con el concepto de entrega progresiva. No vamos a dar lo mismo a todos los usuarios, y queremos poder asegurarnos de que podemos retirar estas funciones si no funcionan bien, o podemos implementar estas funciones si funcionan bien y determinar cómo proporcionamos comentarios y cómo lo hacemos. Elija implementar en toda nuestra base de usuarios o en toda nuestra infraestructura. «

Un método común que utilizan las organizaciones para realizar una implementación progresiva es mediante el uso Banderas de características. Los indicadores de funciones brindan a los usuarios un control más granular sobre sus implementaciones, lo que elimina la necesidad de modificar los archivos de configuración, realizar implementaciones azul-verde y reversiones.

Se incorpora una nueva funcionalidad en un indicador de función y luego se pone a disposición en una nueva versión de la aplicación en un único entorno de producción para que solo los usuarios del grupo de Islas Canarias especificado puedan acceder a la nueva funcionalidad.

Sin embargo, tener demasiados indicadores de características al mismo tiempo puede hacer que se propague y puede ser difícil realizar un seguimiento de qué indicadores de características están presentes. Esto ha creado una demanda de soluciones de gestión de indicadores de características que sirvan como una ubicación central para administrar los indicadores con una API común que rastrea el ciclo de vida completo de los indicadores de características. Por ejemplo, ¿cuál era la lógica? Cómo lo enciendes ¿Cómo lo apagas? A donde se fué

La entrega progresiva está madurando

El avance del aprovisionamiento es cada vez más sofisticado a medida que más proveedores se unen y unen fuerzas.

El gobernador dijo que aquí es donde se pone interesante porque cuando tienes un conjunto de prácticas y luego las empaquetas como una plataforma, se convierte en algo que un grupo más amplio de electores puede usar.

Junto con las nuevas herramientas, también se trata de cambiar el lado de la entrega de la ecuación principalmente del contexto de preparación técnica a la preparación empresarial.

“No queremos hacer ningún cambio en el lado de la entrega de esta ecuación porque queremos que los ingenieros sigan innovando al ritmo de la innovación, incluso si se familiarizan rápidamente con la creación de nuevas tecnologías, funciones y código. Aún deben tener la flexibilidad para hacer esta construcción e implementación en un entorno de producción para que puedan probarlo ”, dijo Zimman.

Ahora, el lado de la liberación de la ecuación es realmente la entrega de valor, observó Zimman. Como parte de la preparación técnica, algo se lanza cuando está listo. Por otro lado, la preparación comercial significa que la empresa es responsable de cuándo y cómo se lanzan las nuevas funciones funcionales o cuándo los clientes están realmente listos para asumir estas nuevas funciones.

Esto podría ser excelente para una empresa que administra un sitio de ofertas diarias, ya que su valor cambia con la cadencia diaria, dijo Zimman.

Para comenzar con la implementación progresiva, realmente es necesario considerar todos los aspectos del negocio.

Tienes que hablar con la gerencia de productos sobre la experimentación con la implementación progresiva, hablar con la empresa sobre la delegación de la activación del servicio a la empresa y la delegación de usuarios, y luego hablar con los desarrolladores de software y decirles que esta tecnología no los está ralentizando y que te hace justicia más rápido y con mayor calidad, explicó el gobernador.

«La pregunta que me gusta hacer a las empresas es si tienen un código de envío conveniente un viernes por la tarde», dijo el gobernador. “Hay gente que dice, no, lo último que quiero hacer es sacar algo un viernes a las 5 de la tarde porque si algo sale mal, se acaba el fin de semana. Algunas organizaciones dicen: «Bueno, llegaremos allí, haremos suficientes pruebas» y realmente comienzan a decir, sí, siempre podemos ofrecer un nuevo servicio. Tenemos esa confianza porque hicimos el trabajo de ingeniería y cultura para poder hacer esto. Eso es entrega progresiva. »

tecnologia1020

Sobre el autor

Añadir comentario

Tu dirección de correo electrónico no será publicada.