Archivo de la categoría: Task Board

Evolución del Task Board

El elemento que ha ido mutando mucho con cada Sprint es nuestro Task Board. En un principio nuestro pizarrón se dividía en cuatro columnas (ver más en este enlace: Primer planificación del Sprint):
Backlog, Sprint Backlog, En proceso y Terminado.

Post-its
Post-its

Un primer cambio fue separar el Backlog del pizarrón. Durante el Sprint, las tareas del Backlog no son tan importantes, y agregan ruido al panorama. Las tareas a finalizar en cada Sprint están en el Backlog del Sprint, por lo que los otros Product Backlog Items no hacen más que mostrar que todavía queda mucho por hacer…

Pegamos unas hojas blancas con cinta en la pared, al lado del pizarrón, y movimos todos los PBI del Backlog para ahí. Esto nos dió más espacio, bienvenido a medida que se fueron atomizando las tareas (lo que se traduce en más post-its).

Agregué una referencia visual aprovechando el pizarrón. En la columna de Terminado, escribí los objetivos del Sprint, y los días que faltan para que termine, cambiando este número en cada Daily Meeting (todavía tengo pendiente el Script para cambiar automáticamente el día en el pizarrón 😛 ). Esto nos permite ver cuál es el objetivo que queremos alcanzar a diario, para no desviarse de la dirección del Sprint, y cuánto tiempo nos queda.

También estamos usando referencias de colores en los post-its para identificar distintos tipos de tareas. Los post-its amarillos grandes son las historias de usuarios. Los amarillos más chicos definen las tareas. Los rojos son usados para errores y control de calidad y los verdes para tareas sin prioridad. Además, como todavía no hemos aplicado la estimación de tareas (lo hacemos de forma muy especulativa en cada planificación), le agregamos un punto rojo por día de trabajo a cada tarea en la columna de «En progreso». De esta manera podemos identificar las tareas con problemas de forma ágil.

Contamos ahora con un control de calidad y testing. Uno de los integrantes del equipo se encarga de esto, por lo que se agrega para historias de usuario o tareas específicas, la tarea «Control de calidad». Por esto debimos agregar un renglón en la columna de «en proceso», donde los desarrolladores colocan sus tareas cuando a su criterio están terminadas. Cuando una tarea está «pronta», se pasa a testing, y el tester saca tareas rojas (errores) si son necesarias, pasando la tarea a finalizado cuando se deba.

En un principio traté de seguir la filosofía minimalista en el task board. Esto por influencia directa de XQA quien en su blog de gestión visual comenta en la entrada Etiquetas de estado y las tres columnas (en inglés):

«Menos es más». Has oído esto antes, ¿cierto?

Esto aplica particularmente a la gestión visual (…) cualquier elemento visual que no agregue valor es desperdicio.

Sin embargo, nuestra aplicación de Scrum hizo que el task board fuera agregando nuevas separaciones. Otra sección nueva fue la de GUI, en la columna de en proceso, para que los encargados de la GUI agregaran elementos o arreglos a las interfases gráficas. Cada miembro del equipo que necesite algún cambio / mejora / nuevo elemento en una interfaz, ingresa una tarea en esta nueva separación. Si al equipo le queda más cómodo trabajar así, agrega valor.

Una unidad de trabajo puede tener tres estados básicos: «No comenzado», «En progreso» y «Terminada». La mayoría de los taskboards que tienen más de tres columnas están dividiendo «En progreso» en fases intermedias secuenciales. Ejemplo típico: «A validar».

Hay muchas razones por las cuales intentaría evitar usar columnas adicionales (…) pero lo más importante desde el punto de vista de gestión visual – es que crea elementos visuales extra (más columnas). También usa más espacio del taskboard, el cual puede ser escaso.

XQA plantea una solución más eficiente para este asunto, que podríamos llegar a poner en práctica, usar etiquetas de estado.

Como nos enseñaron en el curso de CSM, Scrum no tiene una sola forma de implementarse. Según el equipo y el trabajo a realizar, las distintas columnas del taskboard y otras referencias visuales pueden ayudar o no, depende. Es una metodología bastante evolutiva, ya que cada equipo y Scrum Master la va adaptando a sus necesidades según le venga mejor.

Pizarra Scrum

Me compré una pizarra de corcho para usar de Task Board y comenzar a implementar Scrum en casa. Como comenté en el post anterior, pienso aplicar Scrum para estudiar. Para empezar, compré unos post-its amarillos, y esta pizarra de 45×60 cm:

Pizarra Scrum
Pizarra Scrum

Estamos avanzando bien con la implementación de Scrum en el trabajo. Hemos ido aplicando algunas cosas interesantes, y se viene mejorando el proceso de a poco. Ni bien tenga tiempo, escribo un  resúmen de cómo ha ido.

En cualquier momento empezaré a trabajar en la aplicación de Scrum para mis estudios, y ahí empezaré a contar cómo lo voy manejando y qué voy aprendiendo.

Columnas en el Task Board

Uno de los temas a la hora de implementar Scrum, es qué columnas se van a usar en el task board. Algunos separan el task board en 4, 5 o más columnas. El task board debería ser una representación del estado del proyecto, que muestre a simple vista la situacion actual. Debería ser una referencia para saber en qué va la cosa con solo mirarlo. Por lo tanto, habría que tratar de mantener el nivel de complejidad al mínimo posible. De todas formas, como todo en Scrum, su implementación debería irse adaptando a las necesidades del equipo de trabajo.

Al principio de mi anterior implementación de Scrum, usábamos el pizarrón como Task Board. Más adelante, usamos un espejo que había en la oficina de desarrollo. Ya lo habíamos usado en nuestra primer implementación fallida, pero ahora lo enfrentamos con más experiencia y otro conocimiento.

Usamos post-its de distintos colores para diferenciar tipos de tareas.
Referencia de colores:

  • Usamos los post-it amarillos para mostrar las tareas que fueron estimadas y asignadas durante el planning del Sprint.
  • Los post-it naranja son tareas nuevas que fueron surgiendo, y trataremos de mechar con otras, o realizar si da el tiempo.
  • También agregamos post-it verdes, que son tareas opcionales, para tiempo que sobre.

Todos los movimientos en el Task Board se relizaban únicamente en el Daily Meeting, de manera que todo el equipo estuviera al tanto de lo que sucedía con el proyecto, y por el compromiso que implica llevar una tarea a la columna de “finalizado”.

Así fue como decidimos usar el task board en ese momento, y era lo que nos sirvió. Cada equipo debe adaptarlo a sus necesidades y aprender de la experiencia en su uso diario.

Usando el pizarrón como Task Board

Mientras vamos agarrándole el ritmo a Scrum, vamos implementando algunas de las herramientas recomendadas. Entre ellas el Daily Meeting o Daily Scrum, el Planning de principio de Sprint, el review y la reflexión.

Lo que no hemos implementado completamente todavía, es el Task Board. En nuestra primer implementación fallida de Scrum hace unos meses lo habíamos implementado. Usamos un espejo grande en la parte de desarrollo, dividimos con cinta aisladora en columnas, y pegábamos los Post-It ahí. Algunos errores que cometimos:

  • No incluir una columna con el Product Backlog. Directamente pegábamos las tareas en «To-Do». Ahora creo que sería más eficiente tenerla, e ir desprendiendo tareas de ahí.
  • No definir el concepto de «tarea lista». Incluímos una columna de tareas «para testing», que debían pasar esa aprobación para quedar en «terminadas». Esto se transformaba en un cuello de botella… nadie quiere testear.
  • El pasaje de tarjetas entre columnas se hacía en cualquier momento del día. Esto tiene la desventaja que no todos están atentos, por lo que se pierde en parte el compromiso de definir una tarea como «lista» frente a los compañeros de equipo, y la transparencia, ya que no todos se enteran de los cambios al momento de realizarlos. Por eso es más efectivo, a mi parecer, hacer estos movimientos únicamente en el Daily Scrum.

Todo esto fueron errores que vengo viendo ahora, que en mi opinión son errores, pero pueden resultar efectivos en otro equipo distinto de trabajo, depende.

Hoy en día venimos usando el pizarrón. Los lunes de mañana hacemos el planning anotando lo que hay pendiente en el backlog. De ahí se desprenden tareas y vamos acotando qué partes del backlog entran al Sprint, y que seguirán incluyéndose en siguientes Sprints hasta terminar ese tema.

Task Board Pizarrón
Task Board Pizarrón

Estimamos por cada uno la cantidad de tareas que se asigna, y el tiempo que le va a llevar. Para eso tenemos el calendario de la semana en columnas, e incluimos un título de la tarea y el nombre del programador el día en que estima que la tarea estará terminada. Algo que aprendimos que puede resultar útil también es incluir la hora aproximada de terminación de la tarea.

En los Daily Scrum revisamos vemos cómo va progresando cada uno con las 3 preguntas. Cuando una tarea debía estar pronta y se atrasó, escribimos un punto rojo. Si se termina en tiempo, se escribe un punto verde. En caso de haber sobrestimado la tarea, y terminarla antes, se agrega al punto verde y un «+n» siendo n la cantidad de días a favor.

Por ahora es lo que nos viene sirviendo, pero probablemente re implementemos el task board con los post it a corto plazo. Tampoco estamos llevando por el momento gráficas de burn down, pero posiblemente lo hagamos también.