domingo, 4 de octubre de 2015

ROI & PAYBACK de la Automatización de Pruebas

ROI vs. PAYBACK

Cuando se piensa en la automatización como posible solución en un proyecto de testing, se hace necesario un estudio de viabilidad que nos indique qué rentabilidad vamos a obtener, y cuándo podremos considerar que estamos amortizando la inversión realizada.

En general, este estudio de viabilidad o no se realiza, o se realiza de manera muy general, o incluso se hace partiendo de premisas incorrectas o falsos mitos sobre la automatización. Veamos en primer lugar dos conceptos a tener en cuenta:
  • ROI (Retorno de la inversión): Es el beneficio que obtenemos de la automatización puede ser calculada de diferentes formas:
    • % de beneficio obtenido: según la siguiente formula (Beneficio -Inversión)/Inversión. No obstante, también es posible encontrar el ROI de la automatización expresado directamente en horas de trabajo.
    • Horas totales de ejecución manual ahorradas
    • Costo total de ejecución manual ahorrado
  • PAYBACK: Indica el tiempo que tardamos en obtener un beneficio de la inversión realizada. En el caso de la automatización, nos indicaría a partir de qué momento la inversión realizada en la automatización es amortizada.
Ambos conceptos, deben ser evaluados objetivamente y mediante parámetros adaptados a nuestro proyecto. Pasar por alto este estudio podría llevarnos a sorpresas no deseadas pero que son muy habituales. 

Calculo del ROI de la Automatización de PruebasDe manera general, la automatización supone una inversión que rentabilizaremos a medio plazo cuando el ahorro en horas de ejecución manual supere el tiempo invertido en la automatización. 


Es decir, la automatización supone unos costos (en licencias, infraestructura, scripting, etc...). Esta inversión será amortizada a lo largo del tiempo a costa de las horas de ejecución manual que ya no son necesarias. Es importante hacer constar que para el cálculo del ROI, es necesario conocer el costo del esfuerzo invertido en la ejecución manual de los casos de prueba. Sin ese dato, será muy difícil poder evaluar la viavilidad de un proyecto de automatización.
El ROI  depende de factores como el tiempo de construcción y mantenimiento de casos de prueba, mientras que el PAYBACK dependerá del número de ejecuciones que se realicen. Ambos factores deben ser evaluados y comparados con el tiempo de ejecución manual.

Inversión en la Automatización de Pruebas

Veamos como podemos desglosar la inversión a realizar en la automatización:


Automation Investment

  • Arranque del Proyecto: La utilización de licencias comerciales, así como la necesidad de incluir la capacitación técnica y funcional del equipo de automatización son factores con impacto alto en la inversión inicial.
  • Diseño y Construcción: La utilización de metodologías de automatización que pemitan altas productividades (reutilización, orientación al dato, etc...) permitirán obtener un mayor ROI y además permitirán disminuir los tiempo de mantenimiento.
  • Mantenimiento: Es necesario considerar el mantenimiento de los casos de prueba. Antes de cada ciclo de ejecución, será necesario introducir todas aquellas modificaciones (funcionales y de interfaz) que hayan afectado a nuestro sistema. A mayor porcentaje de casos a mantener, menor será el ROI que obtengamos. 

  • Ejecución: Aunque la ejecución de los casos automáticos se realiza de manera desatendida, es importante considerar que será necesario realizar actividades de preparación de la ejecución, análisis de datos, reejecución de casos, detección de falsos KO's e incluso reporte de incidencias.

Cálculo del ROI

Una vez que tenemos claro la inversión a realizar para llevar a cabo los objetivos de la automatización, podemos realizar un cálculo de el esfuerzo ahorrado en cada ejecución manual, y compararla con la inversión realizada en la automatización. También podemos llevar a cabo estudios de viabilidad en función del número de casos de prueba a automatizar y del porcentaje de casos a mantener tras cada ejecución. 

A partir de ello podemos elaborar plantillas o estudios de viabilidad de nuestro proyecto de automatización. 

Automation ROI Template
QA Tecnico Template ROI Automation
Aparte de los descritos más arriba, otros aspectos a aspectos a tener en cuenta durante el cálculo del ROI son: 
  • Considerar el costo por hora de la ejecución manual y de las actividades de automatización. Generalmente las actividades de automatización son más "caras" que las actividades de ejecución manual.
  • Transformar en horas de trabajo la inversión inicial en infraestructuras.
  • Considerar el tiempo de automatización del volumen inicial de casos. En general el payback se depende del tiempo de automatización del volumen de casos de prueba inicial.


  • Utilizar metodologías ágiles de automatización que acorten el tiempo de mantenimiento.
  •  Considerar los tiempos asociados a la gestión del proceso: reuniones, formación, elaboración de de informes, etc..
  • Valorar el mantenimiento de los scripts en función de diferentes volumenes de casos de prueba.

 

ROI: Calidad y Cantidad de las pruebas

Más allá del cálculo meramente económico la automatización de pruebas, aporta otras cualidades que permiten que nuestro proceso sea más maduro y de mayor calidad.

Beneficios como la exhaustividad, eficiencia, calidad, etc.. son cualidades que la automatización introduce en nuestro proyecto de pruebas y que generalmente pasan desapercibidas para la orgnización


A esos beneficios no cuantificables o cualitativos les dedicaremos la siguiente entrada

    1 comentario: