6 de febrero de 2012

Las 10 mejores extensiones para tunear tu tablero

Antes que todo, disculpen el efecto marketinero del titulo, pero me divierte mucho poner algo así!

Estoy muy alineado con Tobias Mayer cuando dice que el tablero de tareas (físico, con post-its en la pared) es el Corazón de Scrum, y con Daniel Markham que habla de la Tiranía de las Herramientas. Me parece que vale la pena invertir en mejorar el tablero, buscando  visualizar de forma simple los elementos claves del trabajo del equipo. Admiro por ejemplo el trabajo de Xavier Quesada Allue sobre Visual Management.

Seguro conocen esta versión básica del tablero de tareas de scrum (del libro Scrum and XP from the Trenches):


Si bien es una buena base para armar el primer tablero del equipo, he notado que a lo largo de los sprints, se suelen incorporar mejoras visuales en los tableros, propias de cada equipo, que resultan en nuevas áreas del tablero, hojas adicionales pegadas al lado, nuevos gráficos, trucos visuales para distinguir alguna información critica, etc. Estas extensiones al tablero, a veces se acercan al tuning de los autos, pero en muchos casos suelen dar información valiosa para la mejora continua y en mi opinión aportan a la construcción de identidad de un equipo ágil. En particular me provoca mucha satisfacción cuando los miembros del equipo pausan orgullosos con su tablero, cual asador frente a su parrilla.

Seleccione 10 de las mejores extensiones que experimente en distintos equipos con tableros Scrum y Kanban. Gracias al equipo de Nora, a los Caesar boys and girls, al primer grupo QV y al team multi-aplicaciones TecP por compartir las fotos!

1. Tacho

Se agrega una hoja al costado del tablero, con un tacho de basura dibujado, donde ubicar ítems o tareas que fueron canceladas o suspendidas. 

Esta extensión aporta la posibilidad de visualizar fácilmente el nivel de "basura" en nuestro backlog y tareas.

2. Mini-Kanban

Se dispone de un espacio del tablero (muchas veces abajo) con un mini-kanban de tareas diversas que no suelen trabajarse de la misma forma que los ítems clásicos de un tablero Scrum, o que no siguen la misma secuencia de estados de los ítems principales de un tablero Kanban. Varias veces vi este espacio mini-kanban con 3 columnas (pendiente, en curso, terminado). Se suelen registrar tareas diversas como mejoras pequeñas, temas no planificados, inducciones sobre un tema, investigaciones, actualización de documentación general, etc. 

Es útil para registrar pequeñas tareas que se hacen además de los ítems planificados, y también para escoger algunas de estas tareas en pequeños momentos libres de la iteración. Si una de estas tareas lleva demasiado tiempo, suele ser mejor incluirla en los ítems principales del tablero luego de una priorización.  

3. Niko-Niko Calendar

En este caso se agrega una hoja donde dibujar las caras del niko-niko calendar (ver esta buena explicación del concepto) cada día.  

Me parece un muy buen indicador visual para darse cuenta del estado de ánimo del equipo en el tiempo. 


4. Sobre de Release

En la columna o lugar del tablero donde se ubican los ítems o tareas terminadas, se pega un sobre donde dejar los post-its de ítems o tareas correspondientes a un release dado. 
    Está extensión permite tener un sobre con todo lo que se hizo para un release en particular, y simplifica la depuración del tablero. En tableros Kanban con un flujo continuo, es común que se vayan acumulando las tareas terminadas hasta que alguien las quiera depurar. 

    Este mecanismo esta bueno para ordenar estas tareas por release. Eventualmente los sobres se pueden sacar del tablero después de un tiempo y archivar en algún lado. 

    5. Lista de Impedimentos

    En este caso se publica al lado del tablero una lista de los impedimentos más críticos detectados por el equipo (por ejemplo en las retrospectivas). Se puede priorizar y marcar el estatus de los impedimentos (por ejemplo tachar cuando se elimina el impedimento). 

    Visualizar tan explícitamente los impedimentos del equipo suele tener un efecto interesante, ya que ayuda a responsabilizar a todos para trabajar en resolverlos. También el hecho que lo puedan ver personas externas al equipo (por ejemplo un gerente) a veces dispara reflexiones o acciones de resolución de los impedimentos fuera del equipo. 

    6. Resumen de Retrospectivas

    En complemento o reemplazo de la Lista de Impedimentos, se puede agregar al tablero hoja (o varias) con el resumen de la última retrospectiva. En particular se pueden destacar las acciones de mejora elegidas y sus eventuales responsables. 

    Exponer esta información aporta mucho a la transparencia, y también es un buen recordatorio de los compromisos asumidos durante las retrospectivas. 

    7. Curva de Defectos

    Se expone en un lugar del tablero una curva de los bugs/incidentes surgidos. Se puede refinar en incidentes Abiertos / Cerrados y/o hacer distinciones por el ambiente donde surgieron los incidentes (QA, Pre-Producción, Producción). Es interesante registrar los incidentes en el tiempo (por ejemplo por sprints o por semana), para poder detectar tendencias e identificar mejoras a realizar en consecuencia.


    Esta extensión me gusta mucho porque permite agregar información visual sobre la calidad del desarrollo al tablero, que muchas veces está enfocado a aspectos de planificación y seguimiento. En particular nos da una buena idea de la deuda técnica de las aplicaciones desarrolladas, o de su nivel de estabilidad. Es un elemento visual bastante expresivo para disparar reflexión sobre la calidad de nuestros desarrollos y pensar en mejoras técnicas para prevenir incidentes.  

    8. Asignación con Mini-Fotos

    Esta extensión permite informar visualmente del responsable de una tarea en el tablero. Muchas veces se usan las iniciales de la persona en algún espacio del post-it correspondiente. Personalmente me gusta mucho imprimir pequeñas fotos de los miembros del equipo (por ejemplo de 2 cm x 2 cm), que luego se pegan al post-it correspondiente (con pinche si usan un tablero de corcho o cinta). 

    Es la forma visual más clara para representar la asignación de una tarea a una persona. Si bien a veces se usan avatares elegidos por las personas, a mi gusto la mini-foto es la forma más transparente y clara que vi. 

    9. Escala de Estimaciones

    En equipos ágiles es moneda corriente usar estimaciones relativas con los ítems a desarrollar (features, user stories, etc.). Por ejemplo se estima que el ítem A es aproximadamente 2 veces más complejo de desarrollar que el ítem B. En esta extensión, se busca referencia explícitamente a ítems de iteraciones anteriores para las estimaciones relativas. Por ejemplo en un equipo usábamos kilogramos como unidad abstracta de complejidad para estimar user stories (un ítem de 10 kg es aproximadamente 5 veces más complejo de desarrollar que uno de 2 kg). Al final de cada sprint se revisaba cada "peso" de los ítems terminados para ver si estaba bien estimado, si el valor de kg necesitaba algún ajuste y finalmente si su "peso" ajustado era representativo para poder ser utilizado como referencia en estimaciones posteriores. Con todos los ítems representativos se fue armando al lado del tablero una escala de referencia para estimaciones relativas. 

    He visto que tener una escala de referencia visible para estimaciones relativas a lo largo de los sprints es un mecanismo que permite acelerar la maduración del equipo en sus estimaciones. Lo bueno es que se puede ir construyendo de a poco, agregando ítems representativos a lo largo de los sprints. 



    10. Cumulative Flow Diagram

    En esta extensión se agrega al tradicional diagrama de burn-down del tablero un diagrama CFD (Cumulative Flow Diagram), que permite ver en el tiempo la evolución de los ítems trabajados por el equipo según su estado. En un equipo, en lugar de registrar la cantidad de ítems por estado, registrábamos la suma de complejidades de desarrollo de los ítems por estado, en este caso expresados en kilogramos. 

    Es un buen elemento visual para detectar cuellos de botella, o empezar a introducir el concepto de limite de WIP en un equipo usando Scrum.


    Espero que algunas de estas extensiones te den ideas para extender tableros y mejorar siempre la comunicación visual asociada...

    Y en tu equipo, usan algunas de estas extensiones o tienen otras extensiones para compartir?

    3 de febrero de 2012

    Lanzamiento de la Comunidad Ágil de Neuquen, Argentina

    ¡Atención!

    Se lanza la Comunidad Ágil de Neuquen, Argentina! 


    Buscamos fomentar el conocimiento y la aplicación de las practicas ágiles (Scrum, Extreme Programming, Kanban, etc.) en la zona del Alto Valle. 

    La idea seria empezar con reuniones mensuales abiertas a todos los interesados. Será en algún lugar de Neuquen a definir en un horario a definir. La primera reunión la haremos durante la ultima semana de febrero. 

    Si estas interesado, ¡registrate acá!

    Se agradece la difusión.