En otro post anterior (¿Qué es el Backlog?) hablamos sobre el significado del término Backlog, más en concreto, del Product Backlog dentro del ámbito del framework ágil Scrum.

En este artículo, vamos a comentar como en Scrum se distinguen dos pilas de trabajo; el Product backlog y el Sprint Backlog, dos de los tres artefactos definidos por Scrum, junto con el Incremento.

Product Backlog

Contiene todo el trabajo que es necesario para el desarrollo o construcción de nuestro sistema o producto y es responsabilidad del Product Owner. De hecho, es el resultado del trabajo del Product Owner con los diferentes interesados (cliente/s, usuario/s).

Se trata de un documento vivo que contiene todo el trabajo pendiente que falta por ejecutar, hasta completar el alcance identificado y deseado para el producto, al margen de su grado de refinamiento. Por lo general, según se avanza en la ejecución de Sprints y haciendo entregas iterativas de incrementos de valor, su tamaño irá disminuyendo. Salvo por la aparición de más trabajo, sea en forma de incidencias (Bugs) o en nuevas historias de usuario para añadir requisitos y funcionalidades al producto, por ejemplo.

Product Backlog – Estimado, priorizado y vivo

Sprint Backlog

Contiene todo el trabajo que el Equipo de Desarrollo se compromete a llevar a cabo dentro de un Sprint. Este trabajo se pasa del Product Backlog al Sprint Backlog.

El Sprint Backlog es un artefacto que permite visualizar todo el trabajo incluido en el Sprint en curso y es responsabilidad del Equipo de Desarrollo. Su objetivo es dar transparencia al estado del desarrollo durante el Sprint. Por ese motivo, una de las mejores formas de representarlo es mediante una pizarra Kanban, con columnas por estados, para ver cómo progresa y evoluciona el trabajo.

Los ítems incluidos en el Sprint (sobre todo historias o tareas técnicas de cierto tamaño) se rompen normalmente en tareas más pequeñas, lo que facilita la asignación del trabajo entre los miembros del equipo, que trabajará de forma auto organizada.

Sprint Backlog

Visualizar el trabajo en curso

El Sprint Backlog, implementado sobre una pizarra Kanban, ofrece un medio excelente de visualización del estado del trabajo en curso, cumpliendo así con el objetivo de Scrum de la transparencia y facilitando la inspección y adaptación. En la concepción de pizarra Kanban más sencilla posible, con tres estados (Pendiente, En curso, Finalizado), se pueden ver los ítems o subtareas que aún no se han empezado, los que están en curso y los que ya están finalizados.

Identificación de Riesgos

Así mismo, el Sprint Backlog facilita la identificación rápida de riesgos, puesto que permite ver en todo momento detalles tales como: cuán lejos o cerca se está de conseguir el objetivo del Sprint (Sprint Goal) en función del valor de negocio de los ítems; si se tiene demasiado trabajo en curso (WIP, Work in Progress), esto es, demasiados ítems comenzados y sin terminar; o si determinado/s ítem/s están atascados y no avanzan hacia su finalización día tras día.

Aunque se puede hacer en cualquier momento, es bastante habitual que los miembros del Equipo de Desarrollo aprovechen las Daily Scrum, para mover las tareas asignadas de estado (columna) sobre el tablero Kanban al tiempo que exponen al resto del equipo cómo ha avanzado en el día de ayer y qué nuevas tareas pretende abordar en el día de hoy.

¿Para quién es importante cada tipo de Backlog en Scrum?

Tanto el Product Backlog como el Sprint Backlog son importantes para todos los roles presentes en un equipo Scrum, esto es, el Equipo de Desarrollo, el Scrum Master y el Product Owner.

Por una parte, el Product Backlog es muy importante para el Product Owner, puesto que es el responsable de crearlo y mantenerlo (para definir el alcance y requisitos del producto) así como de ordenarlo (priorizarlo) para ir obteniendo de forma iterativa, en cada Sprint, entregas de valor incrementales acordes a las necesidades del negocio o cliente.

Por otra, el Sprint Backlog es muy importante para el equipo de desarrollo, puesto que contiene todo el trabajo que se ha comprometido a llevar a cabo dentro del Sprint actual (en curso), para cumplir con su objetivo (Sprint goal).