En este caso toca el turno de Scrum, una de las metodologías ágiles más famosas. Durante esta entrada se realizará un repaso sobre esta metodología dónde se mostrarán los elementos y los roles participan en ella, y cómo se desarrolla su proceso. Todo desde un enfoque teórico, y pensado para aquellas personas que se acercan por primera vez a este concepto o han oído hablar alguna vez sobre ello y quieren profundizar un poco más.

 

Cómo el resto de metodologías ágiles, Scrum pretende conseguir un producto final que contente al cliente, obteniendo feedback tras iteraciones cortas (llamadas Sprints). Scrum está basado en la transparencia, la inspección y la adaptación:

  • Transparencia: todo el mundo podrá ver cada parte del proyecto, tanto personal interno como externo, dentro de los límites corporativos. Se deben seguir estándares comunes para que sea entendible.
  • Inspección: La inspección frecuente de los productos del trabajo y el progreso ayudan a detectar desviaciones indeseadas en el proyecto. Scrum te dice qué es lo que estás haciendo mal.
  • Adaptación: Ajustar la planificación para prevenir posibles desviaciones futuras.

 

 

Elementos de Scrum

A continuación, se muestran los elementos clave que intervienen es Scrum:

  • Sprint: es el nombre que recibe cada fase de desarrollo, de una específica cantidad de tiempo, que finaliza con la entrega de un prototipo funcional al cliente. Debe durar menos de un mes, normalmente entre 1 y 2 semanas. La longitud de estos Sprints debe ser consistente durante todo el proyecto, y se determina al principio. Cada Sprint contiene cuatro eventos Scrum. No se admiten cambios en mitad de un Sprint, estos serán añadidos en el próximo.
  • Backlog: es la herramienta que se utiliza para almacenar y visualizar todo el trabajo pendiente del proyecto. En él se añaden tarjetas con las Stories (requisitos del proyecto escritos de manera informal que indican características independientes del proyecto), y se ordenan por prioridad.
  • Task Board: herramienta que indica las Stories y tareas de que van a ser realizadas en el Sprint actual. Se divide normalmente en columnas para indicar el estados de cada tarea (ej.: pendiente, en progreso, y terminado). A su vez se divide en filas, una para cada Story, sobre las cuales van avanzando en progreso sus tareas.

  • Terminado: Se dice que una característica o Story de un proyecto ha sido “terminada” cuando esta ha sido codificada, testeada y documentada.

 

Roles en Scrum

Los roles que forman parte de un proyecto Scrum son los siguientes:

  • Product Owner: Es la persona responsable de tomar decisiones sobre el Backlog del producto, de priorizar las Stories en el Backlog para decidir que se va a hacer, de proveer un buen Backlog, de hacer que el equipo de desarrollo entienda las características contenidas en el Backlog, y de reducir la falta de comunicación entre miembros del equipo y el cliente.
  • Equipo de Desarrollo: Debe ser auto-organizado. Nadie debe decirle al equipo qué características del Backlog escoger para desarrollar, ellos escogerán lo que crean más oportuno. Debe ser un equipo multifuncional, todos los integrantes deben saber sobre todos los aspectos del sistema. El equipo no puede depender de nadie, a pesar de toda experiencia y conocimiento que tenga. Deben realizar el testeo de las funcionalidades programadas. No existen títulos en el equipo, debe existir una jerarquía plana. El equipo debe ser pequeño, entre 3 y 9 integrantes.
  • Scrum Master: Es la persona encargada de que el equipo Scrum se esté adhiriendo a la teoría, práctica y reglas de Scrum. Algunas de sus responsabilidades son: encontrar técnicas para gestionar el Backlog, ayudar al equipo a entender la necesidad de tener un Backlog limpio y preciso, asegurarse que el Product Owner sabe cómo priorizar el Backlog para conseguir el máximo rendimiento, y facilitar los eventos de Scrum.

 

Eventos de Scrum

Tal y como se ha dicho anteriormente, en cada Sprint se llevan a cabo cuatro eventos o reuniones:

  • Sprint Planning: Se realiza al comienzo de cada Sprint, y consiste en planificar el siguiente Sprint. En él se eligen las Stories en las que se va a trabajar, y se determinan las tareas que se van a realizar durante el Sprint.
  • Daily Scrum: Todos los días, con una duración de unos 15 minutos. Con él se pretende poner al día a todo el equipo sobre el estado del proyecto y en qué está trabajando cada uno.
  • Sprint Retrospective: Al finalizar cada Sprint. Tan solo participan los integrantes del equipo. En él se habla sobre el proceso seguido durante el Sprint, qué ha funcionado, qué no, qué debería mejorarse, etc.
  • Sprint Review: También al finalizar el Sprint. En él participan todos los interesados en el proyecto, incluido el cliente. Se realizan demostraciones sobre el último prototipo entregado, se muestran los avances y lecciones aprendidas, se discuten aspectos sobre el proyecto, y se consigue nuevo feedback, que puede dar lugar a nuevas Stories o modificar las ya existentes en el Backlog. La sesión suele durar entorno a 1 y 2 horas.

 

Como hemos visto, esta metodología tiene un proceso bien definido que debe implementarse por completo, siguiendo todas sus reglas y eventos si se desea implementar Scrum puro en un proyecto.