Beneficios de la automatización en los equipo Scrum

La automatización, cada vez más, forma parte del desarrollo del software. ¿Qué beneficios tiene para los equipos Scrum?

Una de las prácticas más habituales cuando implementamos DevOps o Scrum o algún otro marco Agile para el desarrollo de software, es la automatización de las pruebas: unitarias, de integración, de usuario, etc… En los últimos años con el auge del Bigdata y la IA, las herramientas que automatizan parte del proceso de desarrollo de software están mejorando de forma exponencial. Este artículo del MIT, nos cuenta que están investigando y desarrollando una herramienta que encuentra vulnerabilidades en el código generado por las herramientas de generación de código, para retroalimentar el modelo y mejorar el código que generan.

Me han llamado la atención y hecho pensar estos 2 párrafos:

“In a new paper, Srikant and the MIT-IBM Watson AI Lab unveil an automated method for finding weaknesses in code-processing models, and retraining them to be more resilient against attacks. It’s part of a broader effort by MIT researcher Una-May O’Reilly and IBM-affiliated researcher Sijia Liu to harness AI to make automated programming tools smarter and more secure. The team will present its results next month at the International Conference on Learning Representations.

A machine capable of programming itself once seemed like science fiction. But an exponential rise in computing power, advances in natural language processing, and a glut of free code on the internet have made it possible to automate at least some aspects of software design.”

Máquinas capaces de programarse a sí mismas… Asusta un poco. Pero más allá del miedo a lo desconocido, me he preguntado ¿Qué beneficios tiene para un equipo Scrum la automatización?

Beneficios de la automatización

Automatizar en nuestro proceso de desarrollo del software la generación de código o las pruebas que validan el código, nos aportarán algunos beneficios interesantes:

\

Homogeneidad del código

La estructura del código será muy similar, sigue unos patrones claros, y no está tan influenciado por el estilo del programador. Haciendo que sea más fácil de mantener, y por lo tanto reduciendo los costes, en tiempo y dinero, de evoluciones futuras.

\

Calidad del software

El generar estructuras y patrones de código estándar, evita los errores humanos en gran medida y los fallos en el sistema. 

La realización de pruebas automatizadas, facilita la detección de errores en el nuevo software y en la integración del mismo con el sistema actual.

Es decir, aumenta la calidad del producto entregado por el equipo Scrum, reduciendo los costes de post-producción.

\

Espacio para los equipos

Uno de los mayores problemas de los equipos Scrum es que no disponen de tiempo suficiente para revisar sus propios procesos y funcionamiento interno, por las exigencias de la entrega de producto. Automatizar parte del proceso de desarrollo libera a los equipos de determinadas tareas, o al menos, reduce el tiempo que tienen que dedicar. Y ese tiempo es para fomentar la mejora continua, las comunidades de prácticas, la formación interna, es decir, para todo aquello necesario para que el equipo Scrum evolucione y que el día a día no les deja atender adecuadamente.

Resumen

La automatización del proceso de software está aquí y va a seguir evolucionando en los próximos años de forma exponencial. Está en nuestras manos aprovechar esto para mejorar la calidad de nuestro producto y fomentar la mejora continua en los equipos Scrum.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Aceptarás nuestra política de cookies si continúas navegando.

ACEPTAR
Aviso de cookies