Burndown chart
Cada metodología usada para la gestión ágil de proyectos tiene sus principios de funcionamiento que la convierte en una opción más adecuada para un tipo de producción específica.
En el caso del Scrum, sirve para desarrollo de producto complejos en los que, a medida que pasa el tiempo, se van agregando características o funcionalidades, todo esto basándose en el aporte de valor, el mejor retorno de la inversión y la satisfacción de las expectativas del usuario final.
Scrum supone un método que hace de lo complejo algo sencillo y las herramientas como el Burndown Chart o gráfico de tareas pendientes sirven para visualizar y analizar el avance del trabajo del equipo de desarrollo.
En general, estos gráficos ayudan a observar cómo ha trabajado el equipo, ayudando a los encargados del Project Management a hacer más sencillo el análisis, pues cuenta con características que permite deducir ciertos comportamientos con solo mirar el Burndown chart.
De este tipo de gráfico existe distintas versiones que difieren entre sí en la manera en que se presenta la información y su alcance, conozcamos los tipos más comunes.
Tipos de Burndown Chart
Release burndown chart
Para entender este tipo de gráfico es necesario explicar que significa release en el entorno de trabajo Scrum.
Un release supone la entrega de un producto terminado al cliente, en este caso, al Product Owner. Para que esta entrega sea efectiva, el producto, por lo general, expresado en historias de usuarios, debe satisfacer las expectativas de funcionalidad y calidad.
En Scrum, estos releases son cada sprint, por lo que, lo que se grafica en un Release Burndown Chart es el número de historias entregadas satisfactoriamente en cada una de las iteraciones o Sprints.
Se podría pensar que esta información está contenida en la planificación, pero se debe entender que no en todos los casos se entregan todas las historias planificadas o que, a veces, las historias entregadas no satisfacen los requerimientos.
Por lo tanto, este tipo de gráfico puede ser útil para evaluar el desempeño del equipo desde lo global.
La manera de graficar esta información es usando el eje X para los días del sprint, mientras que el eje Y se gradúa con la información del esfuerzo logrado, este esfuerzo se puede expresar en horas, días o puntos de historia.
Sprint burndown chart
El sprint Burndown Chart se utiliza a diario en cada iteración o Sprint y en este se grafica las horas o el número de actividades (expresadas en puntos de historia) que faltan completar versus el día del Sprint.
Este es un gráfico que se actualiza cada día y cuya construcción veremos en detalle más adelante.
Product burndown chart
En el caso del Product Burndown Chart, se grafica el trabajo pendiente para que el producto esté completo. Es una gráfica que tiene una visión general del proyecto y requiere de una estimación más completa para ser útil.
La utilidad de este Burndown chart es que permite predecir cuántos Sprints más harán falta para concluir el proyecto.
¿Cómo se construye un Burndown Chart?
Veamos con detalles cómo se elaboran estos gráficos.
Lo primero que debemos tener en cuenta es que, para el Sprint puedes construir dos Burndown charts con la misma información.
Al estar planificando el Sprint, cada historia de usuario se divide en actividades que se puedan realizar de forma independiente y que no consuman menos de una hora y, como máximo dos días.
Al tener esta división, se hace una estimación de tiempo para cada actividad, con esta información podemos crear un primer tipo de Burndown chart.
Número de horas de trabajo restante vs día del sprint.
Para esta construcción, sumamos el tiempo estimado de cada actividad, el cual, por lo general, coincide con el tiempo de trabajo de todos los miembros del equipo de desarrollo, por ejemplo, si son 5 personas que trabajan 30 horas semanales y el sprint dura 2 semanas, al comenzar el sprint, es decir, en el día 0, quedarán 300 horas de trabajo pendiente.
Cada vez que un miembro culmine una actividad, irá restando horas para el siguiente día.
El Scrum Master, por lo general, es quien actualiza el Sprint Burndown Chart al finalizar la jornada, aunque se puede hacer de forma automática si contamos con algún software que haga la actualización en tiempo real.
Así, si el primer día se trabajaron 40 horas, para el segundo día quedarán solo 260 horas que completar.
Puntos de historia versus días del Sprint
La segunda manera de hacer este gráfico es asignando un valor a cada historia. Este valor dependerá de la complejidad de cada actividad.
De cierta manera, existe una relación entre la asignación de un tiempo estimado y el valor para cada actividad, con la diferencia de que para este segundo gráfico se usa la sucesión de Fibonacci, la cual tiene como principio que el número que sigue es la sumatoria de los dos primeros.
En este caso, a las actividades más fáciles se le asigna el número 1, a las que le siguen el dos (la suma de uno más uno), a la próxima se le asigna 3 (uno más dos) y a la siguiente se le asigna un 5 (que resulta de sumar dos más tres, que son los dos valores anteriores), el siguiente número de la sucesión sería el 8, pero no es común en la asignación de puntos de historia del Scrum.
Se utiliza la sucesión de Fibonacci porque así se tiene en cuenta la incertidumbre propia que generan las actividades más complejas.
Una vez más, los puntos de historia se grafican en el eje Y y los días en el eje X. Por ejemplo, si el total de los puntos de todas las historias del Sprint es 150 y en el primer día se completan 3 tareas de 3 puntos, 5 de un punto, y 2 de dos puntos, en la actualización del gráfico restaremos 18 puntos y así comenzará el día siguiente.
Líneas que se pueden trazar en un Burndown chart
Existen tres líneas que nos ayudarán a obtener información relevante de este gráfico:
Línea Ideal
Esta línea se puede trazar sin esperar a que se termine el Sprint, pues une dos puntos que, idealmente, se conocen.
El primero es el día 0 en donde están todos los puntos de historias o las horas de trabajo y el segundo es el último día del sprint donde, idealmente, todas las actividades estarán listas.
Línea de desarrollo real
Esta línea es la que se va generando a partir de la información del avance del Sprint y solo estará completa al final de la iteración, aunque se puede ir observando la tendencia de acuerdo con el comportamiento diario.
¿Qué información obtengo de las líneas de Burndown Chart?
Si la línea de desarrollo real está por debajo de la línea ideal, entonces podemos deducir que el equipo de desarrollo está trabajando más rápidamente de lo que se había planificado.
Si la línea real está por encima, el equipo se está retrasando. Esta es una comparación que se puede hacer día a día.
Con la línea de tendencia es fácil ver si el sprint cumplió con los objetivos porque, de no completarse las tareas, quedará por encima de la línea ideal.
Asimismo, si esta línea corta la línea ideal, podríamos saber en qué día del sprint el progreso comenzó a mejorar o a empeorar.