# Jira

Jira (/ˈdʒiːrə/ JEE-rə) è una suite di software proprietari per il tracciamento delle segnalazioni sviluppato da Atlassian, che consente il bug tracking e la gestione dei progetti sviluppati con metodologie agili. Il nome del prodotto è un troncamento di Gojira, nome del mostro giapponese che in seguito traslitterazione occidentale diviene Godzilla.

## Descrizione

Secondo Atlassian, Jira viene utilizzata per il monitoraggio dei problemi e la gestione dei progetti da oltre 75.000 clienti in 122 paesi. Alcune delle organizzazioni che hanno utilizzato Jira in alcuni ambiti per il tracciamento dei bug e la gestione dei progetti includono Fedora Commons, Hibernate, NASA, Skype Technologies, Twitter, il Dipartimento della difesa degli Stati Uniti d'America e Apache Software Foundation, che utilizza sia Jira che Bugzilla.
Jira è disponibile come software standalone e come servizio cloud.
Per ciò che riguarda la parte standalone abbiamo tre pacchetti:
* Jira Core, concepito come software per una generica gestione di un progetto;
* Jira Software, include il software di base, comprese le funzionalità di gestione dei progetti sviluppati con metodologie agili (precedentemente un prodotto separato: Jira Agile);
* Jira Service Management (precedentemente conosciuto come Jira Service Desk), destinato all'uso da parte dei desk IT o di servizi aziendali per l'implementazione dell'ITSM e dell'ESM (Enterprise Service Management);
Mentre per ciò che concerne i servizi cloud abbiamo:
* Jira Work Management, una soluzione di collaborazione semplice e intuitiva per i team aziendali e i loro progetti, pensato per il coordinamento fra team e l’eliminazione dei silos;
* Jira Software
* Jira Service Management
* Jira Product Discovery, concepito in modo da organizzare e dare priorità alle idee, condividere le roadmap di prodotto e collegare i team aziendali e tecnici;
* Jira Align, un aggregatore di dati a livello di team per la condivisione del lavoro in tempo reale.
Jira è scritto in Java e utilizza il containter di inversione di controllo Pico, il motore di entità Apache OFBiz e lo stack tecnologico WebWork 1. Per le chiamate di procedura remota (RPC), Jira supporta REST, SOAP e XML-RPC. Jira si integra con i programmi di controllo di versione come Clearcase, Concurrent Versions System (CVS), Git, Mercurial, Perforce, Subversion e Team Foundation Server. Viene fornito in varie lingue tra cui inglese, francese, tedesco, giapponese e spagnolo.
Jira supporta l'API Networked Help Desk per la condivisione dei ticket di assistenza clienti con altri sistemi di tracciamento dei problemi.

### Terminologia

La pianificazione, la strutturazione, l'esecuzione e il monitoraggio delle attività e dei loro progressi in Jira è resa possibile dalle "issues", elementi atomici che permettono di registrare informazioni e allegati all'interno del prodotto. Le issues possono essere essenzialmente di quattro tipologie: Epic, Story, Task e Sub-task.
* Chiamate anche "user story", le Jira Stories sono brevi requisiti o richieste scritte dal punto di vista di un utente finale
* Un "Task" nella terminologia di Jira indica un particolare lavoro da svolgere e si posizionano logicamente allo stesso livello delle stories. La differenza principale tra task e story è da ricercarsi nel protagonista dell'elemento stesso: mentre la story è scritta dal punto di vista dell'utente finale, il task è scritto ad uso e consumo del personale tecnico che dovrà svolgere un certo lavoro per soddisfare le richieste del business. È importante notare che in "project management" un "task" indica il lavoro da svolgere in senso generale, tuttavia in Jira è solo un lavoro da svolgere.
* Le storie e task possono appartenere ad elementi logici più ampi chiamate Epics. Epic è un grande blocco di lavoro che può essere suddiviso in una serie di attività più piccole. Le epiche spesso comprendono più team, su più progetti e possono persino essere monitorate su più bacheche. Le epiche vengono quasi sempre consegnate su una serie di sprint.
* Le Sub-task sono elementi che si trovano logicamente al di sotto delle stories e delle task e servono per suddividere il lavoro in elementi di minore dimensione in modo da aiutare nel processo di sviluppo a scomporre le precedenti issues in elementi che richiedono minori sforzi o che rientrino nella timebox del framework scelto (ad esempio nello Scrum un item non deve superare le 8-16 ore di lavoro)
Jira permette inoltre di creare nuove tipologie di issues per meglio adattare il tool a quelle che sono le necessità aziendali. Le issue che vengono create sono di tipo story/task e al momento attuale non è possibile creare elementi di tipo epic o sub-task. Questi nuovi elementi possono essere organizzati in modo da creare strutture gerarchiche più complesse e meglio rispondenti alle dinamiche aziendali in cui verranno utilizzate. Una pratica comune ad esempio è quella di creare Iniziative usate come raccolte di epics che guidano verso un obiettivo comune.

## Licenza

Jira è un software commerciale che può essere concesso in licenza per l'esecuzione in locale o reso disponibile come applicazione ospitata.
Atlassian fornisce Jira gratuitamente a progetti open source che soddisfano determinati criteri e a organizzazioni non accademiche, non commerciali, non governative, non politiche, senza fini di lucro e secolari. Per i clienti accademici e commerciali, il codice sorgente completo è disponibile con una licenza sorgente per sviluppatori.

## Sicurezza

Nell'aprile 2010 una vulnerabilità di scripting cross-site in Jira ha portato alla compromissione di due server dell'Apache Software Foundation. Il database delle password di Jira è stato compromesso e conteneva hash di password unsalted, che sono vulnerabili alle ricerche di dizionario e agli strumenti di cracking. Apache ha consigliato agli utenti di cambiare le loro password. Anche la stessa Atlassian fu presa di mira nell'ambito dello stesso attacco e ammise che un database legacy con password archiviate in testo semplice era stato compromesso.

## Evoluzione

Quando è stato lanciato nel 2002, Jira veniva semplicemente distribuito come software di tracciamento, rivolto agli sviluppatori di software. L'app è stata successivamente adottata da organizzazioni non IT come strumento di gestione dei progetti. Il processo è stato accelerato dopo il lancio di Atlassian Marketplace nel 2012, il che ha consentito agli sviluppatori di terze parti di offrire plug-in per la gestione dei progetti in Jira, tra i quali si distinguono per popolarità BigPicture, Portfolio, Structure, ActivityTimeline e Tempo Timesheets.