Shift Left para alcanzar la agilidad

La necesidad de implementar grandes sistemas críticos con tiempos y presupuestos acotados ha llevado al impulso de métodos de testeo y desarrollo para generar valor de negocio. En este sentido, las pruebas de Shift Left evitan sobrecostos y retrasos del proyecto.

Publicado el 30 Sep 2021

wcenture3

Este tipo de pruebas utiliza un enfoque iterativo que desglosa las actividades de desarrollo y prueba en unidades funcionales de trabajo más pequeñas, descubriendo y abordando los problemas antes en la línea de tiempo en lugar de al final del proyecto. Además, comprime los plazos del proyecto al permitir que equipos más pequeños e hiperconcentrados trabajen en paralelo.

El testeo Shift Left se trata de un proceso que utiliza diferentes enfoques de prueba en las primeras etapas del ciclo de software para aumentar la calidad de las pruebas. A largo plazo, esto ayuda a reducir costos, ya que las desviaciones de las pruebas identificadas son menos costosas para el desarrollo que en una fase posterior del ciclo del software. Estos métodos aplican la velocidad y el aprendizaje incremental con una exhaustiva planificación previa para entregar unidades funcionales más pequeñas y totalmente probadas de trabajo en mucho menos tiempo que con el enfoque clásico de cascada.

El desarrollo iterativo y los métodos de prueba descomponen el desarrollo de grandes aplicaciones en piezas más pequeñas; diseñan, desarrollan y prueban en ciclos repetidos para ofrecer un valor predecible a lo largo del tiempo. Esto permite probar y validar las funciones nuevas y modificadas en el punto en el que se han desarrollado, o cerca de él -una de las principales ventajas de una metodología iterativa, que desplaza las pruebas a la izquierda en la línea de tiempo del proyecto-, y ayuda a los equipos a identificar más rápidamente las lagunas y los defectos; validar antes las características; entregar un software de mayor calidad en las primeras fases del programa y reducir el plazo total del proyecto.

Agilidad

Con Shift Left las empresas tienen la oportunidad de acelerar proyectos que modernicen, racionalicen y consoliden sus sistemas. Se acabaron los días de los proyectos de 24 a 36 meses. Las organizaciones necesitan actuar ahora y con rapidez para ofrecer nuevos productos a través de múltiples canales de distribución a los consumidores con conocimientos móviles y digitales. El enfoque iterativo está diseñado para proyectos con arquitecturas complejas y requisitos de documentación más detallados.

Por ejemplo, en los programas de implantación de seguros a gran escala, es típico ver el desarrollo a través de todo el ciclo de vida de la aseguradora, empezando por la recepción de solicitudes, pasando por la emisión y el servicio a los asegurados, hasta el procesamiento de reclamos. En un programa en cascada, los cambios a lo largo del ciclo de vida se prueban al final, lo que obliga a la gestión de cambios y la resolución de problemas también a operar al final. Un enfoque iterativo permite realizar pruebas a intervalos a lo largo de las fases de diseño y construcción. Utilizando el ejemplo de iteración siguiente, la entrada de solicitudes es menos compleja que el procesamiento de reclamos, lo que resulta en una iteración más pequeña que requiere menos tiempo y recursos para construir y probar.

A medida que se completa cada iteración, su funcionalidad se automatiza y se ejecuta como regresión en futuras iteraciones. Las pruebas de regresión automatizadas y continuas identifican los problemas con antelación. Los problemas encontrados más cerca de desarrollo son más fáciles de abordar y reducen los fallos en cascada. Si las pruebas se extienden durante un período más largo de tiempo, los equipos pueden asignar un grupo más pequeño de recursos para llevar a cabo las pruebas. Estos pequeños equipos hiperconcentrados aumentan la calidad porque están más familiarizados con el trabajo que se está llevando a cabo y, como resultado, reducen el riesgo de identificar erróneamente los problemas.

Las cuatro etapas

Una gestión bien estructurada de las pruebas juega un papel decisivo. Hay cuatro etapas de prueba para cada una de las cuales debe haber la data adecuada. En la preparación para el desarrollo, el trabajo del equipo de pruebas comienza con el análisis de requisitos, donde se desarrollan los principales flujos de trabajo alternativos, así como las constelaciones de datos de prueba asociadas. Sobre la base de esta preparación, las historias de usuario y los criterios de aceptación se aclaran y definen.

En la primera etapa, se realizan las pruebas del desarrollador y la doble revisión de código. Cada vez que se completa el desarrollo de una historia de usuario, el desarrollador realiza una prueba en el entorno de desarrollo. Esto es validado por otro desarrollador, por lo que se realiza una doble revisión del código. Las pruebas de desarrollo se realizan durante un sprint (ciclo de iteración) antes de que las historias de usuario se entreguen al equipo de pruebas para una prueba funcional. En la segunda etapa, las historias de usuario se entregan a los desarrolladores y los probadores al mismo tiempo para el sprint. Mientras comienza el desarrollo del software, el equipo de pruebas empieza la carrera para crear casos de prueba para historias de usuario individuales. Aquí comienza la automatización de testeo.

En la tercera etapa, la revisión del sprint se utiliza para informar al Product Owner (PO) sobre el progreso del desarrollo durante los sprints de desarrollo. La presentación de las historias de usuario completadas con éxito se realiza con el PO, de modo que se pueda obtener una retroalimentación temprana. Sin embargo, para satisfacer las necesidades/requisitos de los expertos internos y también de los futuros usuarios y para garantizar la aceptación de la aplicación, se les hace participar en las pruebas de expertos. Esta prueba guiada y, en parte, exploratoria, ofrece a los expertos una experiencia práctica de la aplicación y también pueden ampliar o especificar características para los siguientes sprints, basándose en los resultados de las pruebas.

En la etapa final, una vez que todos los sprints de desarrollo se han completado, el PO realiza una prueba final de la versión y una prueba de rendimiento. Los resultados de esta fase son decisivos para la decisión sobre el lanzamiento de la aplicación.

El testeo Shift Left ha probado ser una herramienta fundamental para que las empresas puedan alcanzar la agilidad que se hace más necesaria que nunca en el mercado cambiante que nos dejó la pandemia. El momento de avanzar es ahora.

¿Qué te ha parecido este artículo?

¡Síguenos en nuestras redes sociales!

Redacción

Artículos relacionados

Artículo 1 de 2