Nuestro Blog

Nuestro equipo de especialistas quiso compartir algunos artículos sobre tecnologías, servicios, tendencias y novedades de nuestra industria en la era de la transformación digital.

Si estás interesado en encontrar formas nuevas y más eficientes de desarrollar software, este artículo es para ti. Principalmente si trabajas en equipo, Scrum puede representar una clave para conseguir desarrollos de mayor calidad en el menor tiempo posible. En este artículo te contamos qué es Scrum y por qué puede ser la metodología que necesitas en tu rutina de trabajo.

 

¿Qué es Scrum y por qué es una gran metodología?

Según IEBS, Scrum es una metodología que busca fomentar la colaboración entre los equipos de desarrollo. El nombre de este tipo de proceso de trabajo proviene del rugby, donde todos los jugadores deben trabajar juntos para alcanzar el resultado deseado. Esto es lo mismo que sucede en un proceso de desarrollo de software.

La idea de la metodología Scrum es obtener el mejor resultado posible de un proyecto determinado. Pero eso no es todo: también apela a la eficiencia y la productividad. Así, no sólo se buscan resultados, sino también el menor coste y tiempo posible en cada uno de los trabajos.

Una de las claves de Scrum son las entregas parciales. Si bien otras metodologías trabajan con entregas finales a los clientes, esto representa un grave error desde la perspectiva de Scrum. Principalmente porque, sin entregas parciales, el cliente no puede brindar un feedback que complemente el proceso de desarrollo.

Con una metodología tradicional, puede ser que pases horas trabajando en algo que luego tendrás que modificar por completo. En cambio, con la metodología Scrum, se realizan entregas parciales y periódicas. En consecuencia, el cliente será notificado de todos los avances y podrá solicitar revisiones o modificaciones mientras el equipo de desarrollo se encuentra trabajando.

Esto también es muy importante para mejorar la eficiencia. A medida que se realicen las entregas parciales del trabajo final, siempre podrás ir incorporando y teniendo en cuenta las prioridades del cliente. Entonces, el flujo de trabajo se enfoca primero en lo principal. Luego, se agregan detalles menores, lo cual es perfecto para proyectos complejos.

 

diagrama-proceso-scrum

Ilustración por Proyectos Ágiles

 

Beneficios de desarrollar software en Scrum.

La metodología Scrum tiene muchos beneficios para los equipos. A continuación, queremos presentarte los que nuestros expertos consideran que son los beneficios más importantes a tener en cuenta.

 

Puedes dimensionar tus proyectos mejor.

En Scrum, las iteraciones guían los proyectos. En consecuencia, cada proyecto se divide en pequeños bloques que son mucho más manejables. Esta situación es perfecta para aquellos desarrollos complejos, cuyas dimensiones pueden resultar abrumadoras para los programadores. Aquí, en cambio, se conocen todas las etapas, todos los objetivos y todas las posibles dificultades que se pueden presentar en el camino.

 

Los plazos de entrega se mejoran.

Sabemos que los plazos con el cliente pueden ser un problema. A veces se anticipan debido a expectativas de desarrollo poco razonables y luego deben cambiarse al final. Bueno, nada de eso sucederá aquí. Gracias a estas divisiones de proyectos, los márgenes de error son menos frecuentes y esto permite un desarrollo más realista.

 

Aprendes de forma más rápida.

No olvides lo siguiente: Scrum es una metodología grupal. La mayoría de iteraciones se suelen resolver entre 2 semanas y 1 mes, aunque dependerá de cada equipo de trabajo. Así, puedes enfocarte en cada etapa rápidamente, lo que significa que los desarrolladores aprenderán más cosas en menos tiempo.

 

El feedback es preciso.

La metodología Scrum también hace que sea mucho más fácil recibir comentarios del cliente o del propio líder del equipo. Dado que los bloques de trabajo son más pequeños, es más fácil obtener retroalimentación precisa y proponer soluciones rápidas a posibles contratiempos. Esto evita que los errores se transfieran al producto final.

 

Trabajas con MVPs.

Sí, también podrás generar un MVP (Producto Mínimo Viable, por sus siglas en inglés) a través de esta tecnología. Después de varias iteraciones, tendrás un producto funcional para entregar al cliente. Como siempre buscarás desarrollar los aspectos esenciales del software, seguro que tendrás ese MVP mucho antes que con otra metodología.

 

El desarrollo es más autónomo.

Finalmente, debes considerar que habrá ciertos encargos y responsabilidades que no se pueden eludir. Sin embargo, en general, segmentar el trabajo con esta metodología ágil supondrá un aumento de la libertad para los programadores. En consecuencia, se sentirán más cómodos resolviendo cada una de las tareas.

 

Caso ISA: Scrum en un proyecto real de Huenei.

Para ilustrar la importancia de la metodología Scrum, queremos contarte sobre nuestra experiencia trabajando con uno de nuestros clientes. En 2019 comenzamos a trabajar con ISA, empresa de logística portuaria, para mejorar sus procesos de monitoreo, gestión y reporting, utilizando metodologías ágiles.

Empezamos el proyecto con una etapa de Discovery que consistió en una serie de reuniones con el Product Owner y con los usuarios finales. Esta fase nos permitió empezar a conocer en profundidad la problemática y necesidades específicas de los distintos Stakeholders. El cliente fue partícipe en todo momento del proceso de creación.

El proceso continuó con la entrega de distintas instancias de prototipos y MVP, seguidos en todos los casos de una retroalimentación de los clientes. Esta metodología, basada en Scrum, nos permitió continuar perfeccionando la versión final. El producto terminado fue un sistema, en formato de aplicación móvil, que permite a los usuarios realizar un trackeo exhaustivo de todas las tareas del buque durante el servicio.

El valor agregado de la metodología Scrum, como puedes visualizar con este caso real, es poder tener siempre la visión del cliente y contar entonces con las herramientas para realizar un proceso iterativo. Conseguimos así optimizar costos de desarrollo, acortar tiempos, ¡y llegar a un resultado mucho mejor!