Saltar al contenido

¡El control de calidad y la automatización son esenciales para dar el giro, Agile, DevOps y SAFe!

Capgemini
2019-09-25

La automatización debe ser una parte integral de todo el proceso de producción. Pero la automatización no es mágica: debe gestionarse de acuerdo con el estado de avance y, sobre todo, con sentido común. Una estrategia de automatización es tan esencial como una estrategia de prueba.

La mayoría de los departamentos de TI han estado involucrados en transformaciones ágiles durante mucho tiempo. En estas transformaciones profundas, algunos tienen más éxito que otros y los conceptos ágiles generalmente se adaptan al contexto de la empresa. A veces, los conceptos están más que adaptados … Pero el hito ágil ha quedado atrás y ahora es el momento de configurar DevOps. Este es el paso adelante, que consiste en una especie de generalización ágil a lo largo de todo el proceso de producción. Por lo tanto, los ciclos de vida se acortan y están respaldados por una organización fluida, desde la definición de la necesidad hasta el producto y la operación.

Sin embargo, todavía hay un paso más allá de DevOps; un concepto encapsulante, una idea más general. Esto es SAFe (scaling agile framework), que tiene como objetivo extender lo “ágil” a toda la organización y no solo a TI. Naturalmente, la transformación ágil, la configuración de DevOps y la implementación de SAFe son procesos complejos y sensibles. La gestión del cambio siempre es complicada porque implica cambiar los hábitos y comportamientos de las personas

La buena noticia es que existen algunas claves y sería una pena no conocerlas o usarlas. Una mejor práctica bien conocida de Agile que ayuda al cambio es TDD (test-driven development), donde los desarrolladores primero definen la prueba que debe validar el código (pruebas unitarias). Por supuesto, TDD es un gran candidato para la automatización. En el siguiente paso, Agile aboga por el uso de BDD (behavior-driven development), que es más o menos lo mismo que TDD a nivel funcional (pruebas funcionales). Finalmente, encontramos ATDD (acceptance test-driven development) en el nivel de usuario de extremo a extremo (pruebas E2E).

En otras palabras, el secreto para avanzar, ante todo, es pensar en la prueba. Naturalmente, esto no es lo único que debe preocupar para impulsar un proceso ágil exitoso, pero este es sin duda un punto clave. ¡Resulta que configurar un enfoque DevOps o SAFe es lo mismo!

De hecho, los ciclos de vida no se pueden acortar sin estar seguros de que cada paso, cada acción y cada estación cruzada no generen fallas o debilidades del sistema que puedan afectar el proceso nuevo y estructurado. Una buena prueba es la única forma de garantizar y asegurar esto. Mayor frecuencia, el aumento de los volúmenes de prueba requiere automatización.

Primero, la prueba debe ir de abajo hacia arriba. Las pruebas unitarias, cuando están automatizadas permiten construir de manera saludable. La experiencia demuestra que esto conduce a una mejor calidad. Luego, paso a paso, cada etapa debe ser mecanizada y automatizada para propagar y extender el enfoque.

Automatización significa herramientas, y las herramientas deben estudiarse para construir un proceso que sea lo más fluido posible. Sin embargo, para hacerlo, es absolutamente necesario tener una visión global de todo el proceso de configuración. Solíamos decir que el que tiene un martillo ve todos los problemas como clavos; Es importante evitar esta trampa.

Las pruebas no son una solución mágica para configurar Agile / DevOps / SAFe. Sin embargo, un enfoque de prueba puede apoyar y asegurar de manera eficiente esta transformación. Además, no solo se trata de pruebas funcionales, sino también de revisión de código, rendimiento, seguridad, aprovechamiento, etc. ¡El control de calidad es clave!