Estendere i software Atlassian

Mauro Cherchi atlassian, plugin atlassian

 

Perché Atlassian ha così successo e suscita tanto entusiasmo non solo tra gli utenti, ma anche tra gli sviluppatori e i partner?

Perché possiede il terzo marketplace di plugin più ampio al mondo, e per quale motivo questo è così sensazionale?

Cosa è possibile arrivare a fare con questa suite di software?

 

Dalle performance di base ai plugins: Agile a 360°!

Quando i clienti e le aziende si avvicinano ai prodotti Atlassian, a colpirli è la semplicità, l’efficienza e i risultati che questi portano a livello di gestione. Da JIRA a Confluence, da Bitbucket a Hipchat o Bamboo, ogni tipo di team (e di progetto) ha a disposizione lo strumento – o la combinazione di strumenti – adatto per organizzare, condividere e tenere traccia del lavoro in modo assolutamente innovativo (see…).
Ma dal lato tecnico, e quindi di sviluppo, i software di questa suite risultano incredibili anche perché sono stati pensati davvero facili da integrare ed estendere. Quando Atlassian dice “agile”, lo intende in tutti gli aspetti.

Come abbiamo già detto in articoli precedenti (see Digital transformation, La gestione di commesse con Atlassian…), i software Atlassian sono molto performanti già nelle potenzialità di base e permettono di per sé di apportare in poco tempo sostanziali vantaggi nel modo di gestire l’organizzazione del lavoro aziendale. Ma la verità è che Atlassian ha pensato in modo “agile”, aperto e plasmabile la stessa struttura dei prodotti. Cosa significa? Un’altissima flessibilità e possibilità di estensioni, quindi di evoluzione dei prodotti e di personalizzazione.

 

3.000+ Add-ons

La marcia in più di questa suite rispetto ai competitor è il suo Marketplace di add-ons, tra i più ampi e strutturati che esista al mondo.
Questa miriade di plugin, più di 3.000 al momento, rappresenta un inesauribile pozzo di personalizzazioni e implementazioni alle caratteristiche dei software.

Un numero così alto è dovuto appunto al filosofia di sviluppo dei prodotti da parte di Atlassian, che ha scelto espressamente di sviluppare i suoi software con una struttura facile da “estendere”, in modo da arrivare ad avere, attraverso la combo di software + plugin, un prodotto ad hoc per le esigenze di ogni diverso team!

Molti software simili si presentano come soluzioni trasversali che forniscono strumenti adatti a general purpose. Atlassian ha deciso di puntare su software professionali e insieme sull’elasticità, sulla libertà di customizzazione, sulla possibilità di adattamento. Il risultatoè un arsenale di plugin che offrono risposte focalizzate sui diversi obiettivi e verticalizzano le funzioni chiavi dei prodotti secondo le N necessità dei progetti in modo da arrivare a performance sempre più specifiche ed efficienti.

 

In cosa e come è possibile estendere i prodotti Atlassian

Entriamo nel dettaglio tecnico.

Innanzitutto, i componenti e le tecnologie chiave: JIRA e Confluence sono costituiti da JAVA, Spring, Apache Felix, Apache Velocity e Jquery. Le applicazioni sono scritte in linguaggio JAVA e sono diponibili librerie open source come Junit o ActiveObjects.
Attraverso i vari frameworks è poi possibile implementare le estensioni, ma come è possibile che sia così facile?
Questi software hanno un alto numero di APIs pubbliche. In questo modo le applicazioni sono facilmente estendibili dagli sviluppatori.

Parliamo addirittura di 3 livelli di interazione (accesso) APIs:

  • uno base condiviso, l’Atlassian SAL (Shared Access Layer)
  • uno proprio all’applicazione (Java APIs)
  • il più recente (e utilizzato) REST, che sfrutta il protocollo http.

 

Le applicazioni possibili sono tantissime e adattabili alle esigenze.
Grazie agli addons si può:

  • fornire integrazione e sincronizzazione con altri sistemi preesistenti nell’organizzazione aziendale, prendiamo per esempio Alfresco, Sharepoint o TSF.
  • Si possono sviluppare nuove funzionalità andando a verticalizzare le già ricche capabilities dei prodotti in funzione di un obiettivo interno.
  • Oppure fornire optional che rappresentano facilitazioni nella comunicazione e gestione per ottimizzare il lavoro.

 

Guardando a cosa si può modificare, ad esempio un plug-in può dare la possibilità di utilizzare strutture diverse da quella standard, non più progetti contenenti per esempio issue – le componenti chiave che JIRA utilizza per strutturare i progetti – ma alberature più complesse e un’organizzazione su più livelli (vedi Structure), secondo la complessità del progetto.


Un altro vantaggio che si può ottenere da un plugin è la gestione dei singoli aspetti che concorrono alla gestione di un progetto: ad esempio consuntivazione, schedulazione delle risorse, budgetizzazione (vedi Tempo) oppure organizzare il test management (vedi Zephyr). Si può anche intervenire sugli aspetti di interfaccia, come ad esempio i report.

Guardate questo video:

DJ Kanban è un estremo simpatico, ma è d’esempio della plasticità di queste piattaforme. Questo plugin associa suoni e musica alle funzionalità JIRA e la board del tool come una console permette addirittura di suonare una dj session! All’Atlassian Summit 2016 ci ha fatto ballare un mondo…!

 

Tutte queste possibilità sono anche relativamente facili da realizzare, e per aiutare gli sviluppattori Atlassian ha messo addirittura a disposizione un developement kit basato su Maven (Atlassian Plugin SDK) e un repository pubblico contenente i componenti necessari a sviluppare.

 

Anch’io il mio plugin!

È un’esagerazione scherzosa, ma Atlassian ha pensato davvero un insieme di facilitazioni per aiutare gli sviluppatori a realizzare i loro progetti di estensione e ai customer di essere supportati nella customizzazione del prodotto, in modo da avere il proprio “software su misura”.

Il primo strumento sono i numerosi tutorial di Atlassian che guidano alla conoscenza sempre più approfondita dei prodotti e delle APIs (Atlassian Developers, Atlassian Design Product).

Sul sito di Atlassian è inoltre disponibile una ricca documentation e un’attivissima community che collabora con il servizio di supporto (support.atlassian.com e answers.atlassian.com) e con il blog.

Infine lo strumento più professionale è la rete selezionata di Atlassian Solution Partners che la casa madre ha individuato in tutto il mondo e che supportano con la loro esperienza di sviluppatori e consulenti le aziende che decidono di intraprendere la digital transformation con il supporto di Atlassian.

 

Conclusioni

Che siate sviluppatori o utenti finali, questo articolo vi ha illustrato come la facilità di estensione di questi software sia un vantaggio incredibile per queste piattaforme.

Non solo questi prodotti disegnati per l’incremento della produttività e della collaborazione sono ricchi di funzionalità per la gestione del lavoro, ma sono resi ulteriormente performanti dalle varie possibilità di implementazione e personalizzazione. Una volta toccato con mano il vantaggio di un approccio agile, avrete a disposizione un arsenale di strumenti aggiuntivi per rispondere alle vostre esigenze. E se non c’è il plugin adatto, sarà facile e rapido realizzarlo.
Perché accontentarvi di uno strumento, quando potete avere il vostro? Uno strumento sempre nuovo, sempre diverso e competitivo che cresce con il vostro business.

 

Per i tanti sviluppatori, si apre un oceano di potenzialità proprio all’interno di un sistema orbitante attorno a prodotti di successo e a un’azienda leader come questa: con questa facilità di estensione e la qualità dei supporti e tutorial forniti, chiunque abbia l’idea giusta ha lo spazio per proporla, in un mercato in crescita.

 

E voi, cosa ne pensate? Quale idea vorreste veder realizzata?