Uno de los objetivos de las herramientas de software de Atlassian es facilitar la colaboración entre los distintos equipos dentro de una organización, y en esta oportunidad, te contaremos cómo es posible derribar la barrera, y cómo Automation for Jira facilita la colaboración entre los equipos de Desarrollo y Soporte al conectar Jira Service Management y Jira Software de forma fácil, sin código, y usando las herramientas que ofrece Jira Cloud de forma nativa.
Al hablar de una barrera, nos referimos a esa falta de interacción que a veces ocurre entre el equipo trabajando con el help desk y el de desarrollo, lo que genera, como consecuencia, lentitud en el proceso de resolución de las incidencias y peticiones, afectando al usuario final.
Imaginemos la siguiente situación:
En estas situaciones, en las que ambas herramientas coexisten, no se les suele sacar partido a las sinergias que se pueden obtener, ya que las facilidades que nos proporciona Atlassian para conectar ambos mundos son muy tangibles y nos permitirán conseguir muchos beneficios.
La solución a este problema tendrá un enfoque bastante técnico, ya que en esta publicación te explicaremos cómo, utilizando Automation, podrás crear bugs desde el flujo de incidencias, y resolverlas una vez que el bug se marque solucionado.
Si bien ambas herramientas de software de Atlassian emplean el mismo núcleo de flujos de trabajo, campos y pantallas, cada una posee una capa diferenciadora que es la que las convierte en productos con propósitos distintos. Vamos a especificar estas diferencias:
Para ilustrarte cómo es posible alcanzar la conexión de estas dos herramientas, vamos presentarte la siguiente situación:
El equipo de soporte ha detectado que una incidencia en una de nuestras aplicaciones ha sido provocada por un bug, esta conexión permitirá al equipo reportar y registrar el bug con un solo clic.
Posteriormente, el bug se añadirá al backlog del equipo de desarrollo, quienes podrán incluirlo en el siguiente sprint y arreglarlo. Una vez arreglado, la incidencia se resolverá de forma automática. Este automatismo se alcanzará con Automation for Jira y la herramienta de automatización de flujos que nos brinda Jira Cloud, sin necesidad de instalar ninguna app adicional.
Lo primero, vamos a crear el bug. Vamos a editar nuestro flujo de Incidencias, y añadir una transición que se llame, por ejemplo, "Bug Detected". Para ello, en nuestro proyecto del Service Management, iremos a "Project settings", tal como puedes ver a continuación:
Una vez allí, nos dirigiremos al apartado "Workflows", y buscaremos el flujo de Incidencias y lo editaremos:
Ahora vamos a añadir un nuevo estado llamado, por ejemplo, "Pending Bug". Esto nos indicará que la incidencia con el Bug reportado que está pendiente por arreglar, y su corrección se libere para resolverla, haremos clic sobre el botón "+ Add status", ubicado en la parte superior izquierda del diagrama de nuestro flujo, y escribiremos Pending Bug. En caso de que no exista ya nuestro estado. Allí podremos ver que se nos sugiere entre paréntesis lo que será un nuevo estado:
Este cuadro, nos permitirá agregar una descripción y una categoría de estado. En nuestro caso, vamos a agregar una pequeña explicación del estado y le vamos a asignar la categoría "In Progress" para indicar que ya hay un equipo trabajando en ello:
A continuación, crearemos una nueva transición. Vamos a hacer clic sobre el botón "+ Add transition" o bien también podemos dibujar una flecha desde el estado In Progress hasta nuestro nuevo estado: Pending Bug, allí le indicaremos el estado origen, el destino y le daremos un nombre.
En nuestro caso, Bug Detected. Opcionalmente le daremos una descripción e indicaremos una pantalla de transición. Por el momento no indicaremos pantalla alguna:
A continuación, crearemos una transición desde el estado Pending Bug hacia Work in Progress a la que llamaremos "Bug Fixed".
Nota: Podríamos crear la transición directamente hacia el estado "Resolved", ya que el bug ha sido resuelto, sin embargo es preferible dar el control sobre la resolución de la incidencia a los agentes, y así darles la oportunidad de comprobar que, en efecto, la incidencia se ha resuelto antes de que se notifique al cliente.
Ahora vamos a publicar el flujo de la incidencia tal y como está, de esta forma podremos contar con las nuevas transiciones en Automation. Para ello, haremos clic en el botón "Publish Draft" y confirmaremos:
Ahora vamos a crear una pantalla de transición donde nos aseguraremos, mediante un validador, que nos han indicado la aplicación que está fallando. Para ello, vamos a hacer clic sobre el icono de la rueda dentada de la parte superior derecha de la pantalla y vamos a dirigirnos al apartado Issues:
Una vez allí, iremos al apartado "Screens", a la izquierda, y haremos clic sobre el botón "Add screen" que hallaremos en la parte superior derecha, justo debajo del ícono de la rueda dentada. Allí daremos un nombre a nuestra pantalla. En nuestro caso, dejaremos claro en el nombre que se trata de una pantalla de transición:
Agregaremos a nuestra pantalla el campo "Application". En nuestro caso, este es un campo de tipo "Project Picker", ya que tenemos un proyecto de software en Jira para cada aplicación:
Una vez creada nuestra pantalla, volveremos a editar nuestro flujo. Seleccionaremos la transición Bug Detected y asociaremos la pantalla a la transición:
Agregaremos también a la transición un validador de tipo "Fields Required" indicando el campo Application. De este modo, nos aseguraremos de que nos hayan indicado la aplicación que presenta el bug en el momento de transicionar hacia "Pending Bug":
Con todo lo anterior hecho, ya podemos ir a las Project Settings de nuestro proyecto Jira Service Management y dirigirnos al apartado Automation for Jira para crear nuestra regla que creará el bug en el proyecto de software.
Para crear nuestra regla, haremos clic en el botón "Add rule". En las reglas de automation vamos a encontrar tres elementos principales: Triggers, Conditions y Actions:
Para nuestra regla, vamos a seleccionar el Trigger Issue Transitioned y vamos a indicar que debe ser desde el estado Work in Progress hasta Pending Bug.
Ahora añadiremos un nuevo componente de tipo Condition y seleccionaremos "Issue fields condition" para evaluar el valor de nuestro campo Application y determinar si el bug está relacionado con nuestro proyecto de software.
Seleccionaremos el campo a evaluar, estableceremos nuestra condición a equals porque queremos que el proyecto sea exactamente ese, y en valor indicaremos el proyecto de software:
Tras la condición crearemos otro componente de tipo Action que será el encargado de crear el bug en el proyecto de software. Seleccionaremos el tipo "Create issue" para tal efecto. Deberemos indicar el proyecto en el que se deberá crear la nueva issue, el tipo (Bug en nuestro caso) y aquellos campos que querramos informar o copiar.
En este ejemplo vamos a establecer que se copien tanto "Summary" como "Description", pero se pueden seleccionar tantos campos como se desee y establecerlos según conveniencia:
Por último y por trazabilidad, crearemos un enlace entre la incidencia y el nuevo bug para que tanto los agentes como el equipo de desarrollo tengan presente que existe esta relación entre ambos. Para ello, añadiremos un nuevo componente de tipo Action y seleccionaremos el tipo "Link issues". Estableceremos el tipo de enlace que queremos que exista entre ambos e indicaremos que debe crearse con la issue creada más reciente, que será el bug que acabamos de crear en el paso anterior:
¡Listo! Guardando esta regla tendremos listo nuestro automatismo que creará un bug relacionado con la incidencia cuando se transicione hacia Pending Bug:
Para ello deberemos ir a nuestro proyecto de software y crear una nueva regla de Automation para cuando el bug quede cerrado. Para ello deberéis usar un tipo de componente nuevo que no hemos explicado anteriormente que es Branch rule / Related issues para poder transicionar las issues relacionadas, es decir, la incidencia.
Os animamos a intentarlo por vosotros mismos y os dejamos aquí el esquema que nos ha quedado a nosotros:
Realizar esta conexión, requiere poco esfuerzo y tiene una complejidad menor, ya que hay que emplear elementos nativos, sin desarrollos a medida
Como ves, es posible permitir que nuestros equipos de soporte y de desarrollo trabajen de forma conjunta y alineada, sin necesidad de sobrecargarlos con una gestión administrativa ni procedimientos manuales. Ambas herramientas aportan un gran valor, sin requerir grandes esfuerzos ni dedicación extra, por lo que nuestros equipos van a sentirse realmente cómodos trabajando con ella y ello va redundar en una mejor calidad del servicio y del producto.
Si necesitas mayor asistencia implantando esta u otras soluciones, no dudes en contactarnos, te podemos ayudar a obtener lo mejor de tus herramientas de Atlassian sin la necesidad de acudir a extras. También, puedes aprender más sobre el poder de Automation en un evento que celebramos junto a Atlassian y Appfire: