Gestión de Tareas e incidentes con Bitbucket Issue Tracker

Muchos hemos desarrollado software o estamos en pleno proceso de desarrollo y vemos la necesidad de gestionar las tareas y los incidentes en el funcionamiento del sistema, esto permite llevar el control de las actividades que estan pendiente, las que se estan realizando y las que ya se resolvieron.

Una manera de fantastica de hacerlo es con una pizarra Kanban (una de los métodos agiles que saca mucho provecho de esta pizarra es Scrum), con ello empezamos a gestionar nuestro equipo de trabajo y con un poco mas de curiosidad detectar la velocidad a la que trabaja el equipo de desarrollo.

Al revisar estos temas en internet encontramos muchas herramientas muy buenas para la gestión en desarrollo y mantenimiento de software, entre ellas Team Foundation Service, Bugzilla, Atlassian y muchas otras más muy conocidas y muy buenas. Estas son herramientas bastante completas para la gestión, sin embargo quería iniciar e impulsar a mi equipo de desarrollo en esta cultura de trabajar bajo tareas y que ellos mismos sean los que documenten, resuelvan y cambien el estado de sus tareas en una pizarra Kanban.

Bien, para entrar en contexto, ya venimos usando Bitbucket (recomendado hace algunos años por Winston Barrera) como herramienta para gestionar el codigo fuente basado en Git con todo el equipo de desarrollo, entonces vimos a la fabulosa funcionalidad disponible para gestionar tareas llamada Issue Tracker, el que se debe activar y configurar ademas algunos add-ons para mejorar la presentacion de las tareas e incidencias.

1. Activar el Isuue Tracker en el repositorio creado para tu proyecto en Bitbucket. Cuando haz creado el repositorio debes ir a la sección Settings, y luego ubicar el menu Issue, luego en el submenu Issue Tracker activar "Private Issue Tracker" o "Public Issue Tracker".



2. El Issue Tracker ya está activo. Una vez activado, recién aparece el icono del Issue Tracker en el menú leteral, al dar click ya puedes crear las tareas e incidencias.






3. Revisar las tareas e incidencias desde Eclipse. Lo interesante de esto, viene cuando los miembros del equipo pueden revisar las tareas desde el mismo Eclipse configurando el Mylin Task List, para el que primero se debe instalar el plugin que permita conectar Mylin con Bitbkucket yendo a Eclipse -> Install New Software ... y agregando un nuevo repositorio con http://babelserver.org/mylyn-bitbucket. Puede ver tambien el proyecto Bitbucket Mylyn Connector. 


4. Agregar repositorio de Bitbucket a Mylyn Task List. Una vez instalado los plugins respectivos, ir al menú Task List de Eclipse y dar click en "Add Repository", cuando estan correctamente instalado el plugin aparecere el icono para agregar el reposotorio de Bitbucket.


5. Configurar el repositorio del proyecto en Bitbucket. Se debe llenar los datos correctos sobre todo la ruta correcta usando el nombre de usuario y el nombre de repositorio creado, es importante antes de finalizar dar clic en "Validate Settings" para verificar la conectividad con el repositorio en Bitbucket.



6. Configurar "Query". Cuando los datos estan correctamente ingresados Eclipse preguntara si desea crear una consulta al repositorio. esto permite configurar examente que tareas o incidentes quieres ver en tu Eclipse.


7.  Listado de Tareas listo. Cuando la consulta al repositorio esta definida ya se listan las tareas en el Task List de Eclipse, en el que se puede diferenciar si la tarea es nueva (new), ya lo estan trabajando (open) o si ya esta resuelta (resolved).



8. Cambiando estado de tareas automaticamene. Los miembros del equipo cada que vez que avanzan funcionalidades, suben codigo al repositorio Git creado en bitbucket, la maravilla ocurre aqui que cuando los usuarios suben su codigo inmediamente pueden mover el estado de las tareas automaticamente usando comandos reconocidos por Bitbucket. Por ejemplo:
  • reopen #3  (estamos reabriendo el issue numero 3)
  • resolving #3 (estamos declarando como resuelto el issue 3)
  • resolved #3 #4 (estamos declarando como resuelto los issues 3 y 4)
 Estos comandos son digitados manualmente en el mensaje del push al Git. Bitbucket se encargará de mover las tareas a los estados descritos.


Si verificas en el Issue Tracker podrás ver que automaticamente se ha movido la tarea a un estado de resuelto, en el Task List de Eclipse debes dar clic en "syncronize" para descargar llos nuevos cambios realizados en la lista de tareas desde el repostorio.

9. Activando  BucketBoard. Una manera fenomenal de ver las tareas del Issue Tracker es traves de una pizarra Kanban, para esto Bitbucket permite instalar add-ons a los repositorios. Para esto debes dar click en el menu Bitbucket Settings (aparece al dar click en tu profile de usuario bitbucket en la parte superior derecha de la página). Luego en la nueva vista presentada  dar clic en Integrations And Features -> Find Integrations, aqui buscar el Add-on Bitbucket Board y dar click en boton "Add".


 Una vez activo, se debe regresar al repositorio del proyecto y el menu lateral izquierdo del repositorio aparece el nuevo icono de BucketBoard donde al dar click podras ver la vista Kanban de las tareas e incidencias.



10. Estadistica de Tareas. Quize dejar este ultimo paso para mostrar acercarnos a algo super importante, conocer la velocidad de trabajo del equipo, de manera que empezemos a ver los beneficios de la estadistica de nuestro trabajo, para ello en este paso configuramos un gráfico que nos resuma el numero de tareas totales, resueltas, pendientes y un promedio de tareas que resolvemos por dia. Para esto debemos agregar otro add-on, esta vez debemos ir a de nuevo a Bitbucket Settins -> Integreations and Features -> Manage Integrations. Aqui dar clic en "Install add-on from URL", y agregar la URL https://diy-brianperu.rhcloud.com/bitbucket-burndown/connect.json, esta es un add-on en desarrollo pero que ya nos muestra los datos mencionados.

Una vez configurado este add-on, aparecerá un nuevo item en el Menu del repositorio llamado BurnDown, al entrar a este menú veremos el reporte resumido.


Esta forma de trabajar nos va acercando a usar un método agil, poco a poco empezamos a tener mas necesidades y al investigar métodos como Scrum, XP, TDD, etc. empezaremos a ver las ventajas en las que nos colocarían si usamos estos métodos, además es importante conocer la capacidad y la velocidad a la que trabaja nuestro equipo, considerando que el primer paso para la calidad es tener datos de medición de trabajo, sin embargo, quedan varias preguntas por resolver.

¿Existiran otras herramientas libres que permitan integraciones parecidas a esta?
¿En Visual Studio tambien se podrá trabajar de esta manera?
¿Habrá forma de generar informes por cada Hito de proyecto?

Comentarios

Entradas populares de este blog

Gráfico de Burbuja 2 lados en R

Buscar y remplazar texto de forma masiva: comandos grep & sed