miércoles, 19 de marzo de 2008

Herramientas para Scrum

Ya hace varios meses estoy intentando aplicar Scrum en los proyectos en los que me veo involucrado de una u otra forma. Por ahora no voy a entrar en detalles sobre qué es Scrum y para qué sirve. Si no han escuchado hablar de esta metodología de gestión de proyectos de desarrollo de software, pueden encontrar más información aquí:
Lo que quiero comentar es uno de los problemas que uno usualmente encuentra cuando desea aplicar Scrum a un proyecto real. Siendo una metodología bastante ágil, ligera y poco prescriptiva, es muy frecuente realizar una labor de adaptación al contexto real del proyecto en cuestión. Una adaptación fundamental es elegir las herramientas a utilizar para tener visibilidad, control y seguimiento sobre los artefactos propios de Scrum (básicamente product backlog, sprint backlog, burndown chart e impediment list). Sobre este tema se han escrito incontables posts en los blogs y mensajes en la lista de correo oficial de Scrum.


Algo que es casi un consenso dentro de la comunidad Scrum/Ágil es que siempre que sea posible se deben preferir los paneles informativos (también llamados big visible charts o kanban boards) sobre cualquier tipo de herramienta de software. Esto es mucho más fácil cuando todos los miembros del equipo se encuentran en un mismo lugar (la co-localización es fundamental por muchas otras razones también) y tienen el espacio suficiente en la paredes (siempre deberíamos luchar por tener tal ambiente de trabajo).

Pueden encontrarse ejemplos de cómo hacer esto en el excelente libro Scrum and XP from the Trenches y en varías galerías de fotos de equipos que muestran sus paneles, por ejemplo aquí y también acá. La principal ventaja de esta opción es que utiliza el modelo push de transmisión de información versus el modelo pull de una herramienta de software, convirtiéndose en un information radiator. Es decir, un miembro del equipo recibe la información que requiere sobre el estado del proyecto, prácticamente sin ningún esfuerzo de su parte. Esta información es irradiada hacia él casi sin que se dé cuenta. Con solo levantar la mirada tiene una idea de qué es lo que pasa. Como Scrum advoca mantener esta data permanentemente actualizada, se convierte en una poderosa herramienta de comunicación.

Es cuando el equipo se encuentra distribuido en distintas locaciones, o cuando se desea poder utilizar la información para otros fines, o se quiere mantener informado a stakeholders del proyecto que no participan directamente del desarrollo del mismo, que se hace necesario contar con herramientas de sofware que nos permitan compartir la información de manera más sencilla. Para esto cada vez hay más opciones, tanto gratuitas como comerciales. Esta lista es un pequeño resumen de lo que he encontrado por ahí:
Si buscan algo que puedan usar inmediatamente sin necesidad de instalación o de una curva de aprendizaje, pueden utilizar un Excel compartido (si están dentro de una intranet) o algo como Google Spreadsheets si desean comunicarse a través de internet.

Si bien no he probado todas las opciones mencionadas anteriormente, el producto que más he utilizado y que recomendaría es Scrumworks porque provee una licencia gratuita, es bastante sencillo de instalar y utilizar y provee tanto una interfaz de cliente pesado para modificaciones, como una interfaz web para consultas.


Mi recomendación es que hagan lo posible por tener al equipo de desarrollo en un mismo lugar y con comodidad y privacidad suficientes para poder comunicarse y colaborar sin interrupciones externas. Una vez logrado esto coloquen un panel lo suficientemente visible y actualícenlo con la información producto de las reuniones e hitos del proyecto (daily stand-up meetings, sprint planning meeting, sprint review meeting, retrospectivas, etc).

Además de esto, aconsejo utilizar una herramienta de SW para poder comunicar y acceder a la información de manera remota y también a modo de backup (nunca se sabe cuando puede presentarse un temblor o una remodelación inesperada y no autorizada del ambiente físico del proyecto) . Esto también brinda la posibilidad de exportar la información y de transformarla para generar reportes adicionales.

2 comentarios:

Unknown dijo...

Excelente post Gustavo, ya era hora de que escribas sobre Scrum jeje, tu experiencia en esta metodología es muy importante, debes ser de los primeros en aplicarla. Me llamó la atención cuando me invitaste a pasar por tu oficina todos los papelógrafos pegados y lo que llamaste Post-It Development jaja muy buena. Leí el libro Scrum and XP from the Trenches y me dejó con las ganas de aplicar Scrum algún día, espero tener la oportunidad. Muchos éxitos en tus proyectos con Scrum, saludos!

Andy dijo...

Hola! Estamos encantados que has incluido nuestro herramienta "Banana Scrum" en tu lista. Es una aplicación web intuitiva y simple, que se puede usar sin pago y sin tener de instalar algo en su ordenador. Muchos éxitos en tu proyectos y le invitamos a usar el Banana en ellos.