Hace unos días hablábamos sobre las metodologías ágiles y los beneficios que éstas pueden aportar en el desarrollo de software. Hoy os queremos hablar sobre una de las metodologías que engloba el paraguas agile y que es de lejos la más conocida y utilizada: Scrum.

¿Qué es Scrum?

La metodología Scrum permite abordar productos y proyectos en entornos cambiantes y complejos de una manera ágil y flexible con el fin de maximizar el valor del resultado final.

Se basa en los valores y principios ágiles de equipo auto-organizado y motivado de personas, adaptación a los cambios, colaboración con el cliente y un proceso iterativo y constante.

¿Cómo funciona?

alt text

1- Definición del equipo Scrum

Scrum divide a los diferentes actores del proceso en 3 roles: un equipo de desarrollo, un Scrum Master que lidera el procedimiento Scrum y un Product Owner que vela por los intereses del cliente.

2- Planificación de las iteraciones

Un producto/proyecto Scrum comienza con un backlog de producto, un listado que contiene los requerimientos del sistema o proyecto a construir priorizados según su retorno de inversión. Esta lista de requerimientos se trocea en iteraciones o entregas de 2 semanas normalmente llamadas sprints en las cuales se planifica un listado de tareas a completar.

3- Ejecución de la iteración

Al inicio de cada sprint el equipo de desarrollo y el product owner realiza una sesión de trabajo en el que pactan los elementos del backlog de producto que creen que pueden completar en el sprint.

Durante el sprint una reunión diaria permite al equipo sincronizarse entre sí y enumerar los impedimentos que puedan dificultar la consecución de las tareas del backlog incluidas en el sprint para poder realizar las adaptaciones necesarias que permitan cumplir con los objetivos planificados.

4- Demostración y adaptabilidad

Al finalizar cada sprint, el equipo presenta el nuevo software funcionando en una reunión de demostración con el cliente para que todos puedan dar feedback. Este feedback es esencial para que el equipo pueda realizar las adaptaciones necesarias del plan de proyecto teniendo en cuenta las necesidades del cliente.

Finalizado el sprint, el equipo también realiza una retrospectiva donde perfecciona el proceso para mejorar el desempeño de los futuros sprints.

El proceso se repite cíclicamente hasta terminar el proyecto o indefinidamente si se trata de un producto.

Beneficios de Scrum

Pese a que el cambio de paradigma es bastante grande respecto a la manera tradicional de organizar un equipo de desarrollo, los beneficios y ventajas que se consigue con una implantación ágil compensan la aparente pérdida de control. Una vez superado el cambio de mentalidad que deben hacer las personas involucradas (sobre todo la dirección), se obtienen rápidamente mejoras en:

  • motivación del equipo de desarrollo
  • optimización de los recursos
  • flexibilidad y adaptabilidad a las necesidades del cliente
  • velocidad del desarrollo
  • satisfacción del cliente

Otros artículos de “Tech Talks