Case Study – Come integrare due istanze Jira Cloud

Prefazione


Iniziamo una serie di articoli il cui obbiettivo è di riassumere in un Case Study, l’esperienza raccolta nel risolvere un problema o nel coprire una necessità di un cliente.

In questo Case Study voglio raccontare come è stato possibile eseguire l’integrazione di due istanze Jira Cloud differenti, al fine di consentire il passaggio delle segnalazioni da una istanza all’altra. Questa comunicazione doveva sottostare ad un insieme di condizioni molto forti in quanto le due istanze erano usate da aziende differenti e di conseguenza nessuna delle aziende doveva essere in grado di poter visionare il contenuto dell’altra istanza Cloud.

Trattandosi di un argomento interessante cercheremo di svilupparlo facendo si che siano riportati tutti i ragionamenti che sono stati eseguiti per arrivare alla scelta definitiva ed alla risoluzione che ha fornito la soluzione, a giudizio di tutte le parti coinvolte, che meglio rispondeva alle esigenze.

Caro lettore, ti ringrazio fin da adesso per il tempo che dedicherai alla lettura e ogni tuo commento sarà il benvenuto.

Scenario


Partiamo subito descrivendo lo scenario che mi sono trovato davanti e quali condizioni dovevano essere rispettate per poter eseguire questa integrazione.

Il mio cliente aveva appaltato alcune parti del proprio Help desk a due fornitori. Questi avevano implementato tali funzionalità usando le proprie istanze Jira Cloud, che usavano anche per gestire altri Help Desk di altri loro clienti. E’ sorta la necessità di potere seguire uno scambio di segnalazioni in quanto poteva capitare che chi richiedeva l’intervento di un software/applicativo che è gestito dall’Help desk del secondo fornitore e viceversa.

Ogni fornitore recepiva le segnalazioni nei propri progetti di Service Management e li gestiva in maniera indipendente l’uno dall’altro. Non erano presenti punti di contatto. In aggiunta, le due istanze venivano usate anche per altri obbiettivi e di conseguenza era stato sollevato il problema di:

  • sicurezza delle informazioni: ambo le parti chiedevano che fosse inoltrata solo la segnalazione in questione mentre tutte le altre informazioni rimanessero riservate.
  • Istanze separate: Le istanze dovevano comunque continuare a lavorare come se nulla fosse. Le segnalazioni provenienti da altre fonti dovevano essere comunque indipendenti dalle segnalazioni di questa integrazione.
  • Sincronizzazione: Le segnalazioni che sono oggetto della integrazione tra i due sistemi cloud, dovevano essere sincronizzate in modo da permettere ad ambo le parti di essere sempre aggiornati sulle modifiche.
  • Semplicità: La configurazione non doveva risultate complicata o di difficile interpretazione.

Lo scenario si presentava abbastanza complicato e di non facile risoluzione, ma la sfida era molto interessante e non ci siamo arresi. Abbiamo iniziato con le analisi e ci siamo fin da subito impegnati nella risoluzione del problema.

Cosa avevamo a disposizione


Anche le due istanze non presentavano caratteristiche particolari:

  • Non avevano Addon particolari installati, anzi in un caso era usata la versione cosiddetta out-of-the-box, ovvero la versione base di Jira.
  • Disponevano di vari progetti che erano in capo ad altri clienti e solo uno. di essi doveva essere coinvolto nella sincronizzazione
  • Disponevano di flussi di lavoro completamente differenti e che dovevano non essere toccati: la sincronizzazione si doveva innestare nei flussi esistenti.

Jira è un grande software ma le funzioni standard non permettono di mettere in comunicazione due istanze diverse. Di conseguenza dobbiamo rivolgerci al Marketplace per capire che cosa è stato sviluppato e messo a disposizione, un insieme di funzionalità che noi abbiamo a disposizione e che molte aziende non conoscono o non hanno. il tempo di conoscere.

Cosa offre il Marketplace


I produttori del marketplace hanno fatto un grande lavoro mettendo a disposizione un insieme di funzionalità che completano in maniera egregia Jira. La conoscenza che ho sviluppato in tutti questi anni di utilizzo, mi ha permesso di fare una rapida ricerca e cernita dei possibili addon da poter usare.

La prima scelta mi ha portato a selezionare 4 addon, da poter proporre alle parti, per arrivare ad offrire una soluzione accettabile. Dopo diverse riunioni, alcune molto combattive e non proprio semplici, la scelta è ricaduta su questo addon:

Backbone Issue sync della k15t

Posso assicurare che nelle varie riunioni si è molto discusso delle caratteristiche e delle funzionalità, ma alla fine, questo addon permette di poter realizzare esattamente quanto richiedevano cliente e fornitori, rispettando le richieste e le condizioni che avevano imposto e mantenendo anche la semplicità che era richiesta anche dagli stessi fornitori, nel gestire la sincronizzazione e nel mantenere la netta separazione delle informazioni. Capisco perfettamente il significato di questa richiesta e molto spesso la causa è da ricercare nel fatto che non tutti gli utenti che utilizzano questi prodotti sono esperti oppure usare questi prodotti non è il core business di queste aziende. Avere a disposizione la semplicità oltre che mantenere una generosa dose di praticità, permette di avere l’arma vincente per risolvere tutta una serie di situazioni.

Backbone Issue Sync for Jira permette di poter eseguire la sincronizzazione di issue tra progetti sia della stessa istanza, che di istanze differenti. In questo modo è possibile anche soddisfare altre possibili situazioni, in cui magari occorre mantenere sincronizzato un progetto COPIA che sia referenziato da altri utenti o che, con l’aiuto di altre funzionalità, di cui l marketplace è ricco.

La configurazione è molto completa ma, come si ribadisce facile da impostare. Come possiamo vedere dalla seguente immagine:

Possiamo gestire in maniera chirurgica cosa sincronizzare, sotto quali condizioni (e qui interviene il JQL di cui io sono un Fan sfegatato). Possiamo decidere campi sono soggetti alla sincronizzazione, compresi i campi custom che abbiamo definito nella sezione di amministrazione di Jira, oltre che decidere se impostare dei campi con valori di default.

Possiamo anche decidere la corrispondenza degli stati del Workflow: questo ci aiuta nell’impostare le corrispondenze ed innestare correttamente un flusso di lavoro in un altro.

Commenti ed allegati possono essere sincronizzati facilmente. Nel caso dei commenti possiamo anche decidere se, nella eventualità che usiamo progetti JSM, quali commenti vanno sincronizzati ed in che direzione.

Subito al dunque


Andiamo a vedere come questo addon permette di poter rispondere le esigenze espresse. In prima battuta abbiamo che la questione sicurezza è perfettamente garantita. in quanto tutte le operazioni di sincronizzazione sono eseguite in maniera trasparente e, sopratutto, l’addon garantisce un grado di separazione molto alto tra le due istanze: da una istanza non è possibile andare a leggere le informazioni dell’altra istanza e viceversa.

In aggiunta, la sincronizzazione non deve scattare sempre, ma solo quando è necessario ovvero quando effettivamente quando l’agente si accorge che la segnalazione è di competenza dell’altro Help desk, questo deve essere in grado di poter attivare la sincronizzazione.

Vediamo nel dettaglio la configurazione che è stata impostata al fine di gestire la sincronizzazione proteggiendo le informazioni.

La sincronizzazione scatta quando…

… si imposta un particolare valore in un campo. Si è scelto di usare il campo LABELS con opportuni valori. Questo ci permette di poter pilotare l’attivazione e la disattivazione della sincronizzazione

La issue che sincronizziamo …

… sono quelle dell’help desk che vengono convertite con una issue nella istanza destinazione e viceversa. In questo caso abbiamo una configurazione come mostrato dalla seguente immagine

In questo caso abbiamo una corrispondenza multipla, in modo da far corrispondere più issue dell’help Desk ad una soltanto.

I campi che sincronizziamo …

… sono pochi e comprendono anche i campi custom

Non abbiamo alcun campo inizializzato, ma se fosse necessario nel futuro, lo possiamo fare.

Gli stato del workflow che sincronizziamo …

… non abbiamo configurazioni particolari. In questo modo gli stati sono quelli che gli agenti dei vari Help Desk sono abituati a lavorare

I commenti che sincronizziamo …

… sono solo quelli che sono intercorsi tra agente e customer. I commenti interni non sono sincronizzati perché potrebbero contenere informazioni che sono personali dell’Help Desk sorgente e di conseguenza potrebbero contenere anche informazioni riservate. In questo modo non abbiamo problemi. 🙂

Gli allegati che sincronizziamo …

… sono tutti gli allegati che sono presenti nella issue. Questi sono importanti e devono essere riportati.

Conclusione

Questo addon ha brillantemente risolto la necessità che sia i due fornitori che del mio committente hanno espresso, e la procedura di sincronizzazione è attualmente in produzione. Per mia abitudine controllo i risultati del mio lavoro e tra non molto procederò ad una piccola intervista dove cercherò di identificare i vari feedback e di capire se occorre una ulteriore modifica, o se sono stati riscontrati dei problemi di qualche genere o natura.

Approfitto per ringraziare il lettore che con molta pazienza ha seguito quello che ho raccontato. Spero di aver fornito tanti spunti interessanti che possa anche fornire utilità. Spero che questo, sia l’inizio di tanti altri articoli che possa fornire conoscenza ed aiuto sull’argomento.