Project Management con JIRA

Para todo proyecto que se quiera llevar a cabo es muy recomendable empezarlo con un buen análisis definiendo el workflow a seguir, desengranar las diferentes partes que lo componen y proponer tiempos de entrega. En un equipo es esencial mantener una metodología para tenerlo todo registrado y coordinado.

En Uxland, utilizamos la herramienta JIRA de Atlassian para mantener registrados todos nuestros proyectos, incluso los internos, permitiendo la colaboración entre los miembros del equipo y ofreciendo transparencia a los clientes si lo requieren.

JIRA nos permite categorizar los proyectos para una mejor organización, designándole un tipo (software, business o service desk) y un project lead que por defecto es quien lo crea.

Nosotros seguimos el modelo kanban para nuestros proyectos, ya que nos da la libertad que necesitamos y se ajusta a nuestra manera de visualizarlos. A partir de ahí, dividir el proyecto en components es efectivo cuando tenemos bien diferenciadas las partes de uno mismo. En nuestro caso solemos usar backend, frontend, UI, database, infrastructure, etc. y los asignamos por defecto a un miembro del equipo que asume ese rol.

Workflow estados incidencias
Workflow de ejemplo con los estados posibles de las incidencias.

El flujo que harán las incidencias o issues es importante definirlo al principio, manteniendo claro en todo momento en qué estado se encuentran.

Issue es la clave

En el centro de todo el sistema se encuentran las issues, que no son más que stories (historias) y tasks (tareas) que hemos extraído del análisis inicial del proyecto. En Uxland, las stories son interacciones según el rol, administrador o usuario del producto, explicando de forma general lo que se quiere conseguir en un caso/contexto concreto. Las tasks pueden ser generales o hijas de las stories, dividiendo el trabajo a realizar para completar la story. También las stories pueden anidarse entre ellas, e incluso definir una como epic siendo la principal de todas las demás issues, lo cual la destaca con un colorido label.

kanban board

Kanban board mostrando issues organizadas por prioridad, tipo y estado en el workflow.

El esquema que solemos usar para los tipos de issues es el de Software Development por la naturaleza de nuestra actividad, el cual nos añade los tipos bug, improvement y new feature a los ya mencionados. También hay las sub-tasks, que usamos en casos concretos cuando necesitamos desengranar con otro nivel extra las issues.

La aparencia de las tarjetas es personalizable, en cuanto a qué información se quiere mostrar en ella. Nosotros le añadimos el component al que pertenecen, las issues a las que están ligadas y si pertenecen a una release. Vincular issues es efectivo para mantener una relación entra ellas en cuanto a bloqueo, causa u otro concepto que definamos.

Las releases tienen que ver con el hecho de planificar entregas, nombrado anteriormente. Asignamos una versión a un bloque de issues con una fecha acordada previamente, y así una vez que todas las issues tienen el estado done, desplegamos una version al servidor y todas las issues se archivan y desaparecen del Kanban board.

Hay ciertas opciones que activamos de la Kanban board, como por ejemplo el Kanban backlog, que lo único que hace es separar aquellas issues que aún no han sido seleccionadas para desarrollo actualmente en una página diferente. También, personalizar los swimlanes o filas divididas por prioridad asignada a las issues nos es práctico, además de los quick filters para los tipos de issues principales: epic, story & bug.

Integraciones

La personalización de JIRA se ve potenciada con las numerosas integraciones con otras aplicaciones disponibles. Para nosotros nos es innata la de Bitbucket (también de Atlassian) al usarlo como sistema de control de versiones o almacén de repositorios. Nos permite crear branches y relacionar issues directamente con el código.

Como complemento utilizamos la integración Tempo, que registra correctamente el tiempo que destina nuestro equipo en cada issue.

La conocida herramienta de gestión de equipos, Slack también puede integrarse en JIRA, y gracias al sistema de notificaciones que incorpora, las personas involucradas en cada proyecto saben cómo avanza en todo momento.

Productividad y calidad, ante todo

En Uxland, JIRA es una herramienta esencial que nos permite organizarnos como equipo y en consecuencia maximizar nuestra productividad y calidad en los productos que desarrollamos.
Personalizarla y ajustarla a las necesidades requeridas a través de sus múltiples opciones es la mejor característica que posee, dando una transparencia, coordinación y gestión de los proyectos a medida.