Impacto positivo de la adopción de DevOps/Agile y sus Métricas

¿Cuál es el impacto positivo de la adopción de DevOps y Agile en tu proyecto? ¿Cuáles son esas métricas?

Supongamos que usáramos una inferencia deportiva para describir DevOps y Agile. En ese caso, serían un dúo como Jordan y Pippen, Clements y Jeter, o en términos futbolísticos, Messi y Suárez, (o Julián Álvarez), es decir, no hay pérdida cuando están juntos.

DevOps marca la diferencia cuando las dos columnas principales de un ecosistema empresarial, desarrollo y operaciones, trabajan juntas de manera integrada.

¿Por qué decimos esto?

Porque DevOps no puede ser eficiente sin una configuración Agile.

No tiene sentido acelerar la entrega y automatizar la infraestructura y la implementación del código si el equipo de desarrollo lanza versiones en intervalos enormes.

Como tampoco tienen ningún sentido llevar a cabo la optimización del desarrollo y acelerar los procesos de construcción si el nuevo código no llega a los usuarios sino hasta la próxima versión.

Entonces, ¿cuál es el rol de Agile en todo esto?

Agile facilitará la entrega continua y a tiempo, mientras estás usando DevOps, y por lo que estos dos funcionan tan bien juntos, algo así como Pippen hace el pase y Jordan encesta =P

Ahora bien, ¿existe algún tipo de métricas que permita medir la efectividad de esta dupla?

La respuesta es Sí.

No solo porque es funcional para ver que estará bueno mejorar, sino porque es un requisito importante, casi que fundamental.

¿Por qué?

Porque cada vez son más las empresas que proporcionan servicio DevOps desde Latinoamérica, por lo tanto, la competencia es mayor y las posibilidades de que el cliente cambie de proveedor de servicio, se incrementan cada vez más.

Decimos esto tomando como ejemplo las estadísticas de Fortune. Donde indican que los países de LATAM donde ha habido un crecimiento más significativo de estas empresas son:

– Brasil

– México

– Argentina/ Colombia

– Chile

– Perú

Por lo tanto, es cada vez más fácil que un cliente pueda hacer un cambio si siente que la experiencia, la rapidez de respuesta, el costo, no está alineado con sus expectativas o paradigmas empresariales.

Entonces, volvemos a la pregunta anterior:

¿Cómo se puede medir la efectividad de DevOps y Agile?

A continuación, te hablaremos de algunas de las métricas más utilizadas en DevOps + Agile:

 

  1. Calidad a través de múltiples pruebas

Esto no es solo una métrica para DevOps y Agile sino se podría decir que para todo en la vida.

Pero, llevándolo a este plano es vital, porque es un gran diferenciador y puede inclusive ser la piedra filosofal de Harry Potter.

Por la sencilla razón, que si no ofreces calidad en las automatizaciones, si no se gestiona adecuadamente, puedes cometer una gran cagada y poner en peligro todo el proyecto y la seguridad del mismo.

De allí la importancia de medir la calidad a lo largo de las pruebas de desarrollo – despliegue.

Fíjate que en una encuesta realizada recientemente por Forrest, indica que:

El 72% de las empresas afirman que las pruebas de software son una parte fundamental en el ciclo de vida de DevOps + Agile y la entrega continua, y en esto coincidimos completamente.

Estas empresas, se centran en el desarrollo de sus habilidades mientras presupuestan y prueban lo suficiente para implementar las prácticas Agile y DevOps en toda la organización.

Por ejemplo, algo que se recomienda hacer es:

– Realizar una implementación de pruebas continuas en respuesta a la demanda de lanzamientos mucho más rápidos.

– Automatizar las pruebas funcionales de principio a fin.

– Hacer parte del equipo de entrega a los testers.

– Iniciar las pruebas en una fase temprana del ciclo de vida del desarrollo (pruebas por turnos).

Sin embargo, no todas las empresas lo realizan por completo, sino alternan entre estas pruebas, el porqué es sencillamente el no estar de acuerdo con todas ellas.

 Pero ¿qué pasaría si las miramos individualmente?

Por ejemplo:

Imagínate que tienes la posibilidad de hacer una jugada a medio campo para ganar el juego, pero, no hiciste las debidas pruebas en el entrenamiento y no sabes cual es el mínimo movimiento que necesitas de muñeca o pies para anotar sin problema.

Pues, eso mismo se podría decir que son las pruebas unitarias, a simple vista parecieran ser una pérdida de tiempo.

Sin embargo, pueden ser claves a medida que la base de código va evolucionando, porque además le da información a los desarrolladores y a los testers y si se prioriza, a nivel de riesgo esto es mucho más útil.

En el caso de las pruebas de integración y API consideramos que son cada vez más relevantes porque hay tantas cosas que pueden pasar más allá de la interfaz del usuario que se nos pueden escapar de las manos los niveles de calidad y de riesgo.

Finalmente, las pruebas de regresión de extremo a extremo son muy importantes.

Las empresas que tienen rato haciendo esto, sugieren realizar estas pruebas a nivel de proceso o transacción, aunque sabemos que esta tarea no puede ser fácil ya que es muy importante la velocidad.

Sin embargo, es una prioridad mantener altos niveles de automatización y esto solo lo lograremos mientras más pruebas estén automatizadas.

Y todo esto es sin dejar a un lado la velocidad en la entrega y los costos, y es allí cuando Agile – DevOps te enamoran y hacen su magia.

 

  1. Plazo de ejecución de los cambios

Esto es vital ya que sabemos que la velocidad de entrega puede llevarnos a penales, por decirlo de forma deportiva.

Esta métrica, nos ayuda a conocer cuanto tarda un commit en llegar a producción.

Aquí veremos reflejado la eficiencia del proceso de desarrollo, la capacidad del equipo y la complejidad del código, por ello esta métrica es ideal para entregar el software rápidamente

  1. Otra métrica es: La automatización

La automatización de principio a fin es un diferenciador comercial.

Las empresas que confían en las pruebas manuales tienden a considerar que las pruebas son un cuello de botella a diferencia de quienes las automatizan.

La automatización de la calidad del software agiliza lo que pueden ser procesos manuales muy lentos.

Además, la mayoría de las empresas que siguen las mejores prácticas de Agile+DevOps consideran que la automatización de sus procesos de QA es un diferenciador fundamental.

 

  1. La medición del riesgo es otra métrica importante cuando tenemos DevOps y Agile

Venimos hablando de la importancia de automatizar para mejorar considerablemente la velocidad y la frecuencia de las versiones.

Ahora bien, es vital contar con una forma precisa de medir y realizar un seguimiento de la calidad a lo largo del ciclo de vida del desarrollo del software.

¿Por qué?

La automatización del proceso de entrega podría incrementar el riesgo de entregar defectos en producción.

Entonces, si las organizaciones no pueden medir con precisión el riesgo empresarial, la automatización de las prácticas de desarrollo y pruebas puede convertirse en un gran peligro para la empresa.

En tal sentido, lo que mencionan las empresas que tienen más tiempo en el mercado y que les ha venido funcionando es:

La calidad y la velocidad están en escalas diferentes a la del riesgo: la mayoría de las empresas aún no han establecido la conexión entre velocidad, calidad y riesgo.

En general, la importancia del riesgo en el software de cara al cliente va por detrás de los objetivos de desarrollo establecidos de calidad a tiempo y dentro del presupuesto.

Por esto, es importante medir con precisión el riesgo empresarial y sabemos que esto no “es soplar y hacer botella”

Ahora sabemos la importancia de tener buenas procesos de control de calidad y en pruebas.

And this has led us to realize that connecting risk, quality, and speed is complex.

 

  1. Workflow Efficiency

Esta métrica se encargará de medir la relación entre el tiempo de cuando el equipo aporta valor y el tiempo en el que no lo hace mientras se realiza el software.

Es decir, este proporcionará la cantidad de tiempos activos (cuando el equipo trabaja activamente para llegar al objetivo) y tiempos en espera (cuando el equipo ha tenido que: priorizar otras cosas, tiene exceso de trabajo, etc) dentro del total de tiempo empleado para finalizar cada proceso.

Para que esto sea medible es importante ubicar herramientas que permitan definir con claridad el tiempo activo y el tiempo de espera.

Estas son algunas de las métricas que nosotros usamos con DevOps y Agile que nos han ido funcionando con nuestros clientes.

 

Si requieres ayuda para implementar o para llevar a cabo estas o alguna de estas métricas, escríbenos ya..

 

Finalmente, te invitamos a que vayas a ver la encuesta a profundidad que hizo Forrester a empresas a nivel mundial que utilizan DevOps y Agile