Scrum es una metodología de desarrollo ágil basado en procesos iterativos e incrementales. El desarrollo parte de una idea general de lo que se requiere construir, elaborando un listado de características ordenadas por prioridad (product backlog) que el propietario del producto desea obtener. El product backlog será un documento en constante actualización y al cual podrán acceder todos los interesados.
A partir de aquí se efectuará una reunión para la planificación del primer sprint (la primera iteración), en la cual se generará una lista de tareas (sprint backlog) con asignaciones de personas y una estimación de tiempo y recursos. Adicionalmente se establecerá el objetivo del sprint (necesidad del negocio a cubrir).
El sprint (iteracción) dará como resultado una primera versión parcial del producto (resultado incremental). Cabe destacar que, en cada proyecto se debe definir una duración fija de los sprints, siendo recomendable que se encuentre entre los 15 y 60 días.
Durante el sprint, se realizará una reunión diaria (15 minutos máximo) donde cada componente del equipo da respuesta a los siguientes aspectos:
- Trabajo realizado desde la reunión de seguimiento anterior.
- Trabajo a realizar hasta la próxima reunión.
- Limitaciones reales o potenciales que puedan impedir la ejecución del trabajo.
Al finalizar el sprint se realiza una revisión, donde se evalúa el mismo y se presentan los resultados obtenidos.
De esta forma habrá concluido el primer sprint y se podrá dar lugar a una nueva iteración, volviendo a efectuar una reunión de planificación del nuevo sprint.
Responsabilidades
Tal y como hemos visto, aparte del equipo de trabajo, hay dos figuras bien diferenciadas:
Propietario del producto: representante del área de negocio (product manager o responsable de marketing para desarrollos internos) que tiene entre sus responsabilidades los siguientes objetivos:
- Obtener el máximo valor para usuarios y clientes.
- Financiación
- Decisión para efectuar el lanzamiento
Scrum Master: responsable de garantizar que se aplica correctamente la metodología.
Componentes básicos
Durante el desarrollo del proyecto se trabaja con tres elementos básicos:
Product backlog – proporciona los requisitos desde el punto de vista del negocio y cada uno de estos debe estar compuesto por:
- Identificador único de la funcionalidad
- Descripción
- Prioridad
- Estimación en tiempo
- Criterio de validación
Sprint backlog – determinas las tareas a realizar desde la perspectiva del desarrollo de software. En su elaboración debe participar todo el equipo y cubre todas las tareas necesarias (se recomienda actividades de tamaño entre 4 y 16 horas) para conseguir el objetivo del sprint. Todo el equipo debe tener acceso permanente a esta información vía digital (p.ej. hoja de cálculo, herramienta de gestión) o físicamente en el espacio de trabajo (p.ej. pizarra). El sprint backlog contiene por cada tarea:
- Identificador
- Descripción
- Responsable
- Estado
- Estimación del tiempo pendiente para su finalización
El incremento – parte del producto desarrollado en un sprint, el cual ya se encuentra preparado para ser entregado al cliente y por tanto, terminado y probado (no se trata de módulos no funcionales o similares). Cabe destacar que la primera iteración puede resultar difícil cumplir con la producción de un incremento entregable y por regla general, se suele ser considerar la única excepción.
Reuniones
Planificación del sprint
Asiste el propietario del producto, el scrum master y todo el equipo de trabajo.
En una primera parte (máximo 4 horas), el propietario del producto informa de los posibles cambios del product backlog y los motivos con el objetivo de que todo el mundo conozca los detalles. Además, presentará una propuesta de elementos a desarrollar para el siguiente sprint con su respectiva prioridad y estimación en tiempo (el cual será contrastado y acordado entre todo el equipo).
El equipo participa planteando dudas y replanteando funcionalidades. El objetivo es conseguir el máximo grado de implicación y la generación de valor multidisciplinar para acabar escogiendo los elementos del product backlog que finalmente se desarrollaran en el sprint.
En una segunda parte (máximo 1 día contando la primera parte), se desglosan las tareas necesarias para el desarrollo de los elementos seleccionados. Teniendo en cuenta los conocimientos e intereses, cada miembro del equipo se auto-asigna las tareas de las que se compromete a ser responsable (garantizando paralelamente la distribución homogénea y equilibrada). Como resultado de la reunión se obtendrá el sprint backlog y la fecha de la reunión de revisión.
El scrum master tiene como finalidad la conducción y moderación de la reunión, garantizando que los objetivos de la reunión son alcanzados.
Durante la reunión, aparte de los soportes digitales, se recomienda el uso de elementos físicos sobre los que poder distribuir las diferentes tareas. Por ejemplo, es habitual el uso de post-its sobre una pizarra la cual se encuentra dividida en:
- Objetivo general del sprint y fecha de la reunión de revisión
- Fila de elementos del product backlog a cubrir ordenados por prioridad (1 por post-it)
- Debajo de cada elemento, conjunto de tareas a realizar (1 por post-it)
Monitorización del sprint
Reunión diaria donde actualizar el sprint backlog con las tareas ya realizadas o los tiempos pendientes. Adicionalmente, se actualizan también los gráficos burn-down.
A la reunión acude la totalidad del equipo y estos son los únicos que pueden intervenir en caso de que se incorporen otras personas (p.ej. el propietario del producto). La duración máxima debe ser de 15 minutos y se recomienda realizarla de pie enfrente de alguna pizarra con los elementos del sprint backlog en forma de post-it.
Revisión del sprint
Reunión informativa que se efectúa una vez finalizado el sprint y a la que asiste el equipo de trabajo, el propietario del producto, el scrum master y todos aquellos interesados en el proyecto (p.ej. cliente).
El objetivo de la misma es presentar al cliente el incremento desarrollado (terminado, probado y operando en el entorno del cliente) y obtener feedback para mejorar e incorporar en sucesivos sprints.
La preparación de la reunión no debe llevar más de 1 hora al equipo de desarrollo (no se preparan presentaciones en PowerPoint o similares) y la reunión debe durar como máximo 4 horas:
- Se explica el objetivo del sprint finalizado y las tareas realizadas enfrente de las programadas.
- El equipo realiza una demostración.
- Preguntas y sugerencias.
Herramientas gráficas
Gráfico Burn-Up: utilizado por el propietario del producto para realizar la planificación y seguimiento de los diferentes sprints:
Gráfico Burn-Down: utilizado por el equipo para mostrar el avance diario y detectar desviaciones.
Conclusiones
Scrum se ha convertido en la metodología ágil más popular gracias a su sencillez, adaptabilidad y orientación a la creación de valor de forma periódica.
Encuentro bastante útil el Excel de Navegapolis para la gestión de las tareas dentro de un sprint: Herramienta Excel para Scrum
One thought on “Scrum, gestión ágil de proyectos / agile project management”