Documentando en Scrum con Google Wave

Publicado en

Como ya se ha visto en artículos anteriores de SG [1], Scrum es un conjunto de prácticas de desarrollo de software ágil, iterativo e incremental. La estructura de los proyectos en Scrum se basa en ciclos de trabajo llamados sprints que son iteraciones de 1 a 4 semanas. Scrum es ideal en proyectos con entornos complejos, en donde se necesita obtener resultados pronto, se cuenta con requisitos cambiantes o poco definidos, y la productividad es fundamental.

En organizaciones desarrolladoras de software donde apenas se está empezando a implementar Scrum se cuenta con el inconveniente de tener muy corto tiempo en cada sprint para realizar la documentación de artefactos tales como el product backlog (lista con toda la funcionalidad del producto), sprint backlog (lista de tareas que el equipo se compromete a terminar en el sprint) y burndown chart (representación grafica del trabajo por hacer contra el tiempo). Por eso es importante contar con herramientas de soporte al desarrollo ágil que sean económicas y fáciles de usar. El objetivo del presente artículo es mostrar que Google Wave [2] es una herramienta que puede apoyar la construcción y manejo de documentación en procesos ágiles colaborativos tales como Scrum. Google Wave es una nueva herramienta de comunicación en línea que permite a grupos de personas editar y discutir información de forma simultánea en la web. Cada wave presenta un solo ejemplar de una conversación que todos los participantes pueden editar y modificar en tiempo real, incluso cuando la información se está cambiando. Aunque Google Wave se encuentra en etapa de “vista previa”, hemos hecho experimentos en donde encontramos que ésta puede servir como una excelente herramienta de documentación al usar Scrum. A continuación se presentan los resultados.

Escenario base
La estructura que recomendamos es la de crear un wave por cada sprint estableciendo una nomenclatura consecutiva, por ejemplo: Sprint1_ProyectoXYZ, Sprint 2_ProyectoXYZ, y así sucesivamente. Cada uno de los waves debe contener información del product backlog, el sprint backlog, y el burndown chart. Una gran ventaja de usar Google Wave es que cada miembro del equipo puede observar en tiempo real la documentación que está siendo construida y modificada por otros miembros. Además, cada miembro puede complementar el trabajo de otros mediante comentarios, correcciones, adición de nuevos diagramas, etc. La Figura 1 muestra un ejemplo en donde se puede observar el product backlog del primer sprint de un proyecto.

Figura 1
Figura 1. Ejemplo de Wave por Sprint

Posibilidades adicionales
Existen diversas extensiones y gadgets para Google Wave que permiten ampliar su funcionalidad y casos de uso. Compartimos aquí algunos escenarios posibles:

• Traducción en tiempo real. Aunt Rosie [3] es un robot de traducción automática a varios idiomas en tiempo real construido sobre Google Translate y Google Wave. Equipos de desarrollo, por ejemplo en Latinoamérica, que no tienen mucha fluidez en el idioma inglés pueden trabajar sin problema en tiempo real con otros equipos distribuidos de Scrum en otros países; Google Wave traduce automáticamente de español a inglés y viceversa.
• Agregar voz y video. Los miembros del equipo de Scrum pueden colaborar con personas distribuidas geográficamente usando voz y video en sesiones de conferencia en vivo con los gadgets de Ribbit y 6rounds respectivamente.
• Lluvia de ideas. El gadget de brainstorming sirve para hacer sesiones de lluvia de ideas en tiempo real dentro del wave que corresponde a cada sprint. En la figura 2 se muestra un ejemplo.
• Lenguaje natural. Por la rapidez con la que se debe hacer cada sprint, se puede caer en errores ortográficos en la documentación. Google Wave corrige automáticamente la ortografía a partir de un contexto lingüístico específico.
• Lista de tareas. Uno de los gadgets más interesantes que puedes instalar en Google Wave es la lista de tareas. Se puede utilizar en cada sprint con el fin de controlar el avance del mismo de una manera gráfica y sencilla. Un ejemplo de esto se puede observar en la Figura 3 en donde se tienen tres tareas con su respectiva prioridad y porcentaje completado.

Figura 2
Figura 2. Ejemplo de Una lluvia de ideas

Figura 3
Figura 3. Lista de tareas

Conclusión
Aunque Google Wave aún se encuentra en periodo de pruebas, desde ya se perfila como una excelente herramienta de apoyo a la documentación de metodologías ágiles tales como Scrum. Por ejemplo, el product backlog, sprint backlog, y burndown chart pueden ser documentados de manera rápida, completa, y distribuida en cada sprint. Además, la comunicación entre los miembros del equipo y de éstos con otros equipos se puede mejorar con las herramientas que Google Wave provee, especialmente cuando existen equipos de desarrollo en lugares remotos.

Referencias:
[1] O. Soto,, & H. Alférez. “Scrum, ¿un paradigma de administración de proyectos que cumple lo que promete?”, Software Guru. No. 25, 2009.
[2] Google Wave. http://wave.google.com
[3] “Aunt Rosie - Google Wave Translation Robot” http://bit.ly/sg27r4
[4] G. Trapani, & A. Pash. “The Complete Guide to Google Wave”. http://bit.ly/sg27r5

 
Bio

Germán Harvey Alférez Salinas es Coordinador del Departamento de Investigación de la Facultad de Ingeniería y Tecnología en la Universidad de Montemorelos, e investigador asociado en Asia-Pacific International University, Tailandia. Es graduado con honores del Master of Science in Information and Communication Technology en Assumption University, Tailandia. http://fit.um.edu.mx/harvey

Pedro David Ávila Muñoz es graduado en Computación Administrativa en la Universidad del Valle de Puebla. Actualmente cursa la Maestría en Ciencias Computacionales con acentuación en Ingeniería del Software en la Universidad de Montemorelos. pedro.avila@um.edu.mx