Entendiendo el ROI del Contract Testing

Entendiendo el ROI del Contract Testing

Alejandro Pena, Chapter Lead Backend

Alejandro Pena

Chapter Lead Backend

25 de junio de 2024

Bienvenido/a a una nueva exploración en contract testing

En esta ocasión, no profundizaremos en conceptos técnicos, estrategias de implementación o técnicas de adopción. En cambio, nuestro enfoque se centra en uno de los factores clave a considerar al adoptar una metodología o producto: el Retorno de la Inversión (ROI).

Es posible que hayas llegado aquí desde nuestra landing page de contract testing. Si no, vale la pena mencionar que proporciona información detallada sobre cómo podemos ayudar a implementar esta práctica de manera efectiva. Además, encontrarás una útil calculadora para estimar el ROI.

Este artículo tiene como objetivo arrojar algo de luz sobre cómo realizar un cálculo de Retorno de la Inversión (ROI) en materia de contract testing, aunque debemos usar datos hipotéticos ya que las circunstancias de cada empresa son muy diferentes. Discutiremos los puntos de referencia, los valores utilizados y los cálculos internos que nos ayudarán a comprender el impacto potencial de esta práctica.

Suponemos que estás familiarizado con el contract testing y su impacto significativo en las organizaciones que trabajan con arquitecturas complejas y buscan agilizar los procesos de implementación. En caso de que desees aprender más sobre este marco de ingeniería de calidad, no dudes en leer algunos de nuestros artículos técnicos:

Ahora, profundicemos en lo que se traduce esto en costes 🤑

¿Qué es el ROI?

Si estás leyendo esto, probablemente ya sepas perfectamente qué es, pero solo para asegurarnos de que todos estamos alineados...

El ROI, o Retorno de la Inversión, se encuentra en el núcleo de la evaluación empresarial. Sirve como una brújula que guía a las organizaciones en sus procesos de toma de decisiones al cuantificar los retornos generados por cada euro invertido.

Al embarcarse en transformaciones tecnológicas o considerar la adopción de metodologías como el contract testing, las organizaciones sopesan los beneficios potenciales frente a la inversión requerida. Esta evaluación abarca dos componentes principales: la inversión, que incluye tanto la asignación monetaria como de recursos, y el retorno anticipado, que representa los beneficios y resultados esperados.

La fórmula:

ROI = (Retorno - Inversión / Inversión) x 100%

Pero no todo se reduce al dinero..., ¿verdad?

Estudios como el Google's State of DevOps Report](https://services.google.com/fh/files/misc/2023_final_report_sodr.pdf) y el ROI of DevOps Transformation destacan el impacto significativo de las técnicas de automatización en la satisfacción y el bienestar de los empleados.

Tener controles de validación de contract testing para asegurar que las implementaciones no rompan el sistema brinda tranquilidad, reduce el riesgo de agotamiento y aumenta la satisfacción con el trabajo realizado, creando un mejor ambiente para un contexto de alto rendimiento.

Este estudio también revela que los empleados que trabajan en equipos de alto rendimiento tienen 2,2 veces más probabilidades de recomendar sus lugares de trabajo como "excelentes lugares para trabajar". Retener el talento existente preserva el conocimiento institucional y da a las organizaciones una ventaja al contar con una fuerza laboral técnica fuerte, comprometida y en constante aprendizaje. Si esto no fuera suficiente, en el panorama competitivo actual para el talento, los costes de rotación son bastante significativos. Según el Centro para el Progreso Americano, el costo típico de la rotación equivale al 21% del salario anual de un empleado.

Por lo tanto, no se trata solo del valor o los costes directos. También se trata de crear un mejor ambiente para que tus empleados y tu negocio crezcan.

Calculando los costes

Exploremos un escenario hipotético para estimar los costes de implementar y mantener contract testing. Es importante entender que este contexto debe ser analizado y estudiado cuidadosamente y en detalle para la situación específica de cada empresa. Sin embargo, necesitamos establecer algunos números base y suposiciones para este artículo. Si deseas una estimación personalizada, no dudes en contactarnos; podemos trabajar en esto juntos.

Suposiciones

Tarifa de SME de contract testing - 100€/hour. Licencia de PactFlow - 10,000€ anuales.

Indicador Detalles Fórmula Horas de trabajo Coste
Implementación - Diseño y desarrollo de pipelines para la automatización de procesos
- Documentación y materiales de soporte
- Plan de capacitación para equipos de desarrollo
- Diseño de una metodología de monitoreo.
En condiciones normales, una vez estandarizada, la implementación será realizada por 2 personas durante 4 semanas. 320 32.000€ (una sola vez)
Mantenimiento - Soporte y mantenimiento de pipelines
- Soporte y asistencia para equipos de desarrollo.
Inicialmente, requiere más dedicación. Estimamos 1 día/semana de dedicación durante todo el año. 400 /año 40.000€ /año

Resumen financiero

Descripción Costes del primer año Costes en años sucesivos
Con licencia de PactFlow 82.000€ 50.000€ por año
Sin licencia de PactFlow 72.000€ 40.000€ por año

calculando-los-ahorros.webp

Calculando el ahorro

Para complementar nuestro análisis de costes, ahora dirigimos nuestra atención a evaluar los posibles ahorros que el contract testing pueden traer a una organización. Los ahorros pueden diferir significativamente en función de una variedad de factores únicos para la estructura y el paisaje tecnológico de cada organización. En esta sección, estableceremos algunos puntos de referencia generales y escenarios hipotéticos para ilustrar estos ahorros potenciales. Para una evaluación personalizada que refleje el contexto específico de tu negocio, (una vez más) no dudes en contactarnos!

Suposiciones

Para nuestro análisis, consideremos un escenario típico que involucra solo a un equipo:

Miembros del equipo 5 (800h/mes) Un equipo de desarrollo pequeño
Salario promedio por hora 40€ / hora Equivalente a 68.000€ anualmente, asumiendo 1700 horas de trabajo por año.
Tiempo dedicado a las pruebas 200h/mes (25%) Es una regla general comúnmente aceptada estimar que el 20%-40% del tiempo se dedica a las pruebas, dependiendo de la complejidad del proyecto.
Tiempo dedicado a resolver errores 160h/mes (20%) Basado en una encuesta de DevOps.com, el porcentaje podría ser incluso mayor en muchos contextos, pero usar el 20% simplifica el cálculo.
Costes de infraestructura de E2E 1.500€ / mes Estimación para mantener 2 instancias t3.medium y una PostgreSQL RDS con la calculadora de AWS

Con estos datos hipotéticos, calculamos los gastos del equipo en actividades de prueba:
Costes mensuales = Costes de infraestructura + (Tiempo dedicado a pruebas y resolución de errores x Salario por hora)

Con los siguientes resultados:

Costes de actividades de prueba: 15.900€ / mes – 190.800€ anuales

Ahorro

Ahora calculemos cuánto se puede ahorrar con la implementación de contract testing:

Actividad Reducción Horas Justificación
Reducción del tiempo de pruebas 30% 60 horas Estas reducciones porcentuales de tiempo se basan en nuestra propia experiencia ayudando a clientes.
Reducción del tiempo de resolución de errores 60% 96 horas Estas reducciones porcentuales de tiempo se basan en nuestra propia experiencia ayudando a clientes.
Reducción del uso de infraestructura de E2E 20% 340 horas Estas reducciones porcentuales de tiempo se basan en nuestra propia experiencia ayudando a clientes.

Usando la misma fórmula que antes, aquí están los impactos en números:

Ahorros en actividades de prueba: 6.540€ / mes – 78.480€ anuales

Retorno de la Inversión

En este punto, hemos calculado el costo de inversión inicial, el mantenimiento continuo y el posible ahorro relacionado con contract testing. Ahora estamos listos para aplicar la fórmula

sugerida del ROI:

ROI = (Retorno - Inversión / Inversión) x 100%

Los resultados son:

Fórmula Retorno de la Inversión
Primer Año ((78.480€ - 82.000€) / 82.000€) * 100% - 4,29%
Años Subsecuentes ((78.480€ - 50.000€) / 50.000€) * 100% 56,96%

El ROI para el primer año indica una pérdida a corto plazo. Este resultado es común en escenarios de inversión donde los costes iniciales de implementación y configuración superan los ahorros inmediatos. Sin embargo, esta pérdida inicial producirá mayores eficiencias y ahorros de costes en poco tiempo.

En los años siguientes, el ROI se vuelve positivo en un 56,96%, reflejando la reducción significativa en los costes continuos debido a la eficiencia lograda con el contract testing. Este ROI positivo destaca los beneficios a largo plazo de la inversión, donde los costes iniciales se recuperan y se obtienen ahorros adicionales, llevando a una ganancia neta sustancial. Esto subraya una vez más la importancia de considerar el valor de vida útil de las inversiones en tecnología y mejoras de procesos en lugar de centrarse únicamente en los retornos inmediatos.

Estas cifras de ROI ilustran el punto crítico de que, aunque las inversiones iniciales en contract testing pueden ser significativas, los ahorros de costes y las eficiencias obtenidas con el tiempo lo convierten en un esfuerzo que vale la pena para las organizaciones que buscan mejorar su ciclo de vida de desarrollo de software y reducir los costes operativos a largo plazo.

Es importante señalar que estos cálculos se han realizado considerando solo un equipo, lo que sugiere que la ampliación de esta práctica podría potencialmente amplificar estos beneficios en contextos organizacionales más grandes.

Período de recuperación

Podemos llevar nuestro análisis financiero un paso más allá calculando el período de recuperación. Esto mostrará claramente el tiempo que tarda en recuperarse completamente la inversión inicial en contract testing a través de los ahorros.

Año Inversión Acumulada Ahorros Acumulados
1 82.000€ 78.480€
2 82.000€ + 50.000€ = 132.000€ 156.960€
3 132.000€ + 50.000€ = 182.000€ 235.440€

La tabla demuestra que al final del segundo año, los ahorros acumulados superan las inversiones acumuladas, recuperando efectivamente el desembolso inicial. Este análisis asume la plena realización de los ahorros estimados; sin embargo, es prudente notar que en el primer año, los ahorros reales pueden ser menores que los proyectados debido a factores como el proceso de incorporación de equipos y la curva de aprendizaje para los desarrolladores.

Teniendo en cuenta esta consideración, aunque el segundo año ya podría mostrar un retorno neto positivo, una estimación más conservadora ubicaría la recuperación completa de la inversión inicial dentro de 3 a 4 años.

Y una vez más, es importante señalar que estos cálculos se han realizado considerando solo un equipo. Por lo tanto, puedes imaginar el impacto amplificado en organizaciones más grandes donde múltiples equipos simultáneamente cosechan los beneficios.

el-valor-mas-alla-de-los-costes.webp

El valor más allá de los costes

Típicamente, las evaluaciones de ROI abarcan tanto los retornos tangibles como los intangibles, categorizados en dos tipos principales: impulsados por el valor y impulsados por los costes.

  • Impulsados por el valor: Este enfoque enfatiza la entrega de valor a los clientes, centrándose en aspectos como el costo de oportunidad, la capacidad de adaptarse rápidamente a las demandas del mercado y la eficiencia en la entrega de valor a los clientes.

  • Impulsados por los costes: Este tipo se enfoca en los ahorros de costes y las ganancias de eficiencia. Incluye consideraciones como el ahorro de tiempo y recursos y las mejoras logradas mediante prácticas lean.

A lo largo de nuestro análisis, nos hemos centrado principalmente en los beneficios impulsados por los costes asociados con el contract testing, cuantificando los costes directos y los ahorros involucrados. Sin embargo, es importante reconocer que nuestra evaluación no abordó el aspecto impulsado por el valor. Esto se debe principalmente a la complejidad de estimar dichos beneficios en términos numéricos específicos. Estos aspectos impulsados por el valor contribuyen a una organización más ágil, eficiente y competitiva, que son indispensables en los entornos de mercado acelerados de hoy en día.

Recapitulemos algunas de las características impulsadas por el valor que las contract testing proporcionan, todas mencionadas en el Informe de Pruebas de Contrato de 2021:

Coste del retraso

Representa la pérdida económica asociada con cualquier retraso en el tiempo de lanzamiento al mercado o actualizaciones de productos. Al implementar contract testing, las organizaciones pueden acelerar significativamente sus ciclos de desarrollo, reduciendo el costo de los retrasos y ganando una ventaja competitiva a través de una entrada al mercado más rápida o actualizaciones.

Coste del tiempo de inactividad

El tiempo de inactividad puede llevar a pérdidas financieras significativas, pérdida de clientes y daño a la reputación de tu marca. Contract testing mejora la fiabilidad y la estabilidad de las aplicaciones, asegurando que los componentes del sistema funcionen bien juntos antes de entrar en producción. Esto reduce la frecuencia y la probabilidad de tiempos de inactividad, ayudando a evitar estas costosas interrupciones.

Costes relacionados con implementaciones fallidas

Las implementaciones fallidas pueden llevar a pérdidas significativas de tiempo y recursos, y a menudo traen consigo un estrés considerable. Tales fallas típicamente ocurren cuando una implementación en producción no sale según lo planeado, resultando en reversiones y la necesidad de correcciones de emergencia. El contract testing ayuda a reducir estas ocurrencias al asegurar que todas las integraciones entre diferentes componentes o servicios cumplan con acuerdos predefinidos. Al detectar posibles fallas temprano en el ciclo de desarrollo, los problemas pueden ser abordados antes de que impacten cualquier implementación. Este enfoque proactivo no solo ahorra costes asociados con intervenciones de emergencia, sino que también ayuda a mantener la fiabilidad e integridad de los sistemas.

Valor potencial añadido por la reinversión en nuevas funcionalidades

El tiempo y los recursos ahorrados mediante la implementación del contract testing pueden redirigirse hacia la innovación y el desarrollo de nuevas funcionalidades. Esta reinversión no solo mejora las ofertas de productos, sino que también puede aumentar los ingresos y la participación en el mercado.

Reducción de situaciones de bloqueo entre equipos

Facilitando interacciones más claras y precisas entre diferentes componentes o servicios, reduciendo significativamente las dependencias y la posibilidad de situaciones de bloqueo entre equipos. Esta mejora conduce a un flujo de trabajo más fluido y a un aumento de la productividad en todos los departamentos, mejorando en última instancia la eficiencia operativa general.

Conclusión

¡Los resultados están aquí, y honestamente, pensamos que son bastante emocionantes!

Nuestro análisis demuestra que el contract testing no solo ahorran cantidades sustanciales de tiempo y recursos, sino que también ofrecen cifras de ROI muy positivas. El período de recuperación es notablemente corto, revelando que la inversión inicial puede recuperarse mucho más rápido de lo anticipado. Además, los beneficios del contract testing se escalan dramáticamente con el tamaño y la complejidad de los equipos y sistemas. A medida que tu organización crece y los sistemas se vuelven más intrincados, las ventajas de implementar contract testing se multiplican, aumentando significativamente la productividad y la eficiencia en todas las operaciones.

Además, las características impulsadas por el valor que discutimos juegan un papel crucial en la mejora del posicionamiento estratégico y la ventaja competitiva de tu organización.

Adoptar esta metodología no solo mejora tus procesos actuales, sino que también establece una base sólida para el crecimiento y el éxito futuros.

Fuentes:

  1. https://services.google.com/fh/files/misc/2023_final_report_sodr.pdf
  2. https://services.google.com/fh/files/misc/whitepaper_roi_of_devops_transformation_2020_google_cloud.pdf
  3. https://www.americanprogress.org/wp-content/uploads/sites/2/2015/08/CostofTurnover0815.pdf
  4. https://techjury.net/blog/software-testing-statistics/
  5. https://devops.com/survey-fixing-bugs-stealing-time-from-development/
  6. https://pactflow.io/pactflow-contract-testing-report-2021/
Alejandro Pena, Chapter Lead Backend

Alejandro Pena

Chapter Lead Backend

With over 14 years of experience as a Software Engineer, I specialize in Backend, Quality Engineering, and DevOps. My passion for exploring new technologies is matched by my love for video games. I enjoy hiking with my family, watching movies, reading, or listening to music in my free time.


Nuestras últimas novedades

¿Te interesa saber cómo nos adaptamos constantemente a la nueva frontera digital?

El ecosistema digital con el que Vítaly reinventa el cuidado de la salud
El ecosistema digital con el que Vítaly reinventa el cuidado de la salud

Insight

26 de noviembre de 2024

El ecosistema digital con el que Vítaly reinventa el cuidado de la salud

Contract Testing as a Service: apoya a tus clientes
Contract Testing as a Service: apoya a tus clientes

Tech Insight

21 de noviembre de 2024

Contract Testing as a Service: apoya a tus clientes

PactFlow & Contract Testing: Un caso de uso empresarial
PactFlow & Contract Testing: Un caso de uso empresarial

Tech Insight

14 de octubre de 2024

PactFlow & Contract Testing: Un caso de uso empresarial

Configuración de Tareas Personalizadas de Lint en Gradle con Kotlin DSL
Configuración de Tareas Personalizadas de Lint en Gradle con Kotlin DSL

Tech Insight

7 de octubre de 2024

Configuración de Tareas Personalizadas de Lint en Gradle con Kotlin DSL