Pasos para una efectiva administración de JIRA

neutral-dark-002JIRA se ha transformado en una herramienta muy popular, especialmente dentro de los grupos de TI. Sin embargo, su uso tiene un Talón de Aquiles: la Administración de la aplicación.

En este articulo vamos a repasar algunos consejos surgidos de la experiencia de administrar instalaciones JIRA y también de conocer otras donde la falta de administración se tradujo en la frustración de sus usuarios.

Es importante tener en cuenta que el impacto de la administración de JIRA va a estar relacionado con varios factores, entre ellos el tamaño y tipo de organización o si estamos hablando de JIRA Cloud o Server. Mientras más dependiente sea la organización del uso de JIRA, más crítica se torna su administración.

Restringir acceso a la administración

En JIRA existe un permiso que otorga a los integrantes de un grupo (que por default se llama jira-administrators) acceso a todas las funciones de administración, que va desde la configuración de la instancia hasta la modificación de los schemas.

Un error grave es dar acceso a este permiso a muchos sin ningún tipo de control de las acciones que ellos pueden ejecutar contando con el privilegio de administrador. Cuando hablamos de muchos, nos referimos a más de 3 o 4 personas que aparecen registradas como miembros de este grupo.

El resultado concreto de esta situación es que la responsabilidad se diluye y en el mediano y largo plazo la instancia se torna, desde el punto de vista de su administración, en un completo desorden. Síntomas claros de esto son:

  • Docenas de proyectos “zombies”, donde nadie sabe cual es su uso y porqué siguen visibles.
  • Docenas de schemas, donde muchos se usan en un solo proyecto.
  • Docenas de customfields, muchos de ellos no usados o redundantes.
  • No existe documentación ni estándares de nombres de objetos/schemas.
  • Addons que no se usan.

En este escenario de desorden la instancia JIRA queda muy expuesta a fallas ante eventos como, por ejemplo, un upgrade de versión, ya que las incompatibilidades que pueden surgir producto del cambio son mas difíciles de identificar y corregir para completar el upgrade. Además, la economía de escala que produce la reutilización se pierde, ya que es más seguro crear una nueva versión de un schema para así evitar generar un posible impacto en lo ya existente.

El único camino de solución para este problema es restringir la membrecía de este grupo a no más de 2 o 3 personas (un senior más 1-2 adjuntos) junto con definir y establecer un proceso de control de cambio de la instancia JIRA.  Dependiendo del tamaño y uso de la instancia, el rol de administrador senior puede ser a tiempo completo.

Usar JIRA para administrar JIRA

Los usuarios de JIRA van a estar fundamentalmente demandando crear nuevos proyectos o modificar los ya existentes. Para esto se puede habilitar un proyecto JIRA que implemente un proceso de control de cambios que se haga cargo de estos requerimientos. En esencia el proceso debe permitir:

  1. Registrar el pedido
  2. Analizar el pedido y generar requerimientos
  3. Implementar los requerimientos
  4. Obtener la aprobación del usuario solicitante

Un integrante del grupo de administradores debería poder tomar cualquiera de las tareas 2-4.

Especializar a los administradores

Una instancia de JIRA Server, que esté orientada a atender requerimientos complejos de diversas áreas de una organización (y no solo la de TI), puede demandar tres especialidades básicas:

  1. Desarrollo y mantención de schemas, principalmente flujos. Esto es el grueso del trabajo de administración.
  2. Programación Javascript/Jquery, para ajustes a nivel de interfaz usuaria.
  3. Programación Groovy/Java, para campos calculados y otros ajustes avanzados.

Es por ello que dentro del grupo de administradores se debe buscar el complemento de estas tres especialidades, de manera de poder atender efectivamente la demanda de los usuarios.

También es importante indicar que los administradores pueden además administrar el servidor JIRA. De no ser esto factible, la dependencia con el área de Plataformas (o Ingeniería de Sistemas) es solo para la disponibilidad de la aplicación, pero no de su configuración.

Mantener una Bitácora

Un registro ordenado cronológicamente de todos los eventos y cambios que han afectado a la instancia JIRA es fundamental para su administración. En estos registros se puede hacer referencia a las solicitudes creadas en el proyecto de administración JIRA para identificar lo que dio origen al cambio. Los administradores son los encargados de mantener al día la Bitácora de JIRA.

Posted in Jira