Semplice Guida all’utilizzo del software Atalassian JIRA

Semplice Guida all’utilizzo del software Atalassian JIRA

Semplice Guida all'utilizzo del software Atalassian JIRA

Jira è un sistema di issue tracker (software per il monitoraggio di problemi e progetti) proprietario di Atlassian che nasce nel 2003. Implementato in java, supporta diversi DBMS come MySQL, PostgreSQL, Oracle, SQL Server. E’ semplice da installare ed essendo l’amministrazione web based, evita la necessità di modificare innumerevoli file di configurazione o di apportare modifiche al codice sorgente. Dispone di interfacce chiare e user-friendly che permettono una rapida consultazione e consentono di lavorare in maniera rapida ed intuitiva. Jira prevede dashboard completi con supporto alla segnalazione tramite widget e tramite word, excel e grafici personalizzabili, permettendo l’integrazione dei piani di test. E’ prevista, inoltre, la personalizzazione dei campi e del workflow e il supporto alla codifica UNICODE. Il prodotto rispetta i requisiti di SLA, è possibile estenderlo tramite plug-in e dispone di una serie di API messe a disposizioni di utenti utilizzatori/amministratori appunto per poter apportare delle personalizzazioni. Jira consente la gestione multi-progetto e offre la possibilità di effettuare ricerche completamente testuali o indicizzate nei vari progetti/file. Svariate sono le interfacce previste per l’input: Web, E-mail, CLI, GUI, REST, SOAP, Visual Studio, Eclipse. I meccanismi di notifica previsti sono: e-mail, RSS (Rich Site Summary) o XMPP. Per quanto riguarda l’autenticazione è previsto un meccanismo form-based basato su OpenId o su Oauth (complementare a openId). Infine per quanto riguarda l’aspetto relativo al controllo di revisione distribuito, vengono adottati i software GIT (è un software di controllo di revisione distribuita del sistema di gestione del codice sorgente) e Mercurial (strumento di controllo cross-platform per il controllo di revisione distribuita). Jira viene utilizzato da team di sviluppo e sistemi di help-desk. La sua applicazione dai team di sviluppo per finalità di QA è ampiamente motivata dal fatto che ha ottime potenzialità in termini di bug tracking e offre un completo monitoraggio in termini di documentazione in termini di progetto. Jira si basa su tre elementi fondamentali: Issue, Project (component e version), Workflow mostrati nella figura seguente.

Elementi base di Jira
Elementi base di Jira

Project

Il project è una collezione di elementi da monitorare (può essere progetto di sviluppo software, una campagna di marketing ecc.). Ogni progetto è caratterizzato da una chiave univoca.
Component. E’ un raggruppamento logico di issues all’interno di un progetto. Version. Per molti progetti software è prevista la presenza di diverse versioni, alle quali è possibile collegare determinate issues. Il collegamento delle issues alle versioni, avviene grazie a due campi presenti nella caratterizzazione: Affects Version(s), Fix Version(s) che indicano rispettivamente le versioni interessate da quella tipologia di issues e le versioni in cui esse sono stati risolte.
Workflow. Indica l’insieme di stati che una issue attraversa durante il suo life-cycle. L’immagine qui di seguito mostra un workflow built-in Jira.

Workflow built-in Jira
Workflow built-in Jira
Issue

Rappresenta tutto ciò che viene creato per poter essere monitorato con Jira può essere considerato una issue. In Jira una issues è caratterizzato da un insieme di campi (naturalmente personalizzati dall’amministratore) che descrivono la issue in tutte le sue caratteristiche. I campi sono i seguenti:

  • Project. Indica il progetto al quale la issue appartiene.
  • Key. E’ un identificativo univoco che permette di caratterizzare il progetto e la relativa issues (es Web-203 ).
  • Summary. Breve descrizione della issue.
  • Type. Indica la tipologia della issues e può essere: Bug, Improvement, New feature, Task e Custom Issue.
  • State. E’ lo stato in cui si trova la issue. Può essere: Open, In Progress, Resolved (da qui possono essere riaperti o chiusi), Reopened, Closed (quando la issue viene rimosso).
  • Priority. Indica la priorità della issue e può essere di diverso tipo (sono elencate in ordine di importanza): Blocker, Critical, Major, Minor e Trivial.
  • Resolution. E’ un record che indica se il problema è stato risolto e chiuso.
  • Affects Version(s) (se applicato).Versioni affette da una determinata issue.
  • Fix Version(s) (se applicato). Versioni in cui una determinata issue è stata risolta.
  • Component(s) (se applicato). Componente del progetto che ha manifestato la issue.
  • Labels(s) (Se applicato). Etichetta associata ad una issue.
  • Environment. Ambiente hardware/software in cui si è manifestata la issue.
  • Description. Descrizione dettagliata.
  • Links. E’ una lista di link alle relative issues.
  • Assignee. Indica la persona a cui è stata assegnata la issue.
  • Reporter. Chi ha segnalato la issue.
  • Votes. Per esprimere la preferenza per risolvere la issue.
  • Watchers. Quante persone hanno visto il manifestarsi della issue.
  • Due (Se applicato). Indica la data entro la quale il problema deve essere risolto.
  • Created. Data e ora in cui la issue è immessa in Jira .
  • Updated. Data e ora dell’ultimo aggiornamento della issue.
  • Resolved. Data e ora in cui la issue è stata risolta.
  • Estimate . La quantità di tempo necessaria a risolvere il problema da quando è stato aperto.
  • Logged. La somma dei singoli tempi di lavoro registrati per la risoluzione del prolema.
  • Development. Se si utilizza Bitbucket o Stash per gestire i repository di codice, è possibile creare salti di codice negli strumenti di sviluppo di codice direttamente dalle issues.

Ricerca delle issues con Jira

Tra le innumerevoli funzionalità offerte dall’applicativo Jira, non si può non fare un cenno ad una delle sue più performanti: la ricerca. E’ possibile ricercare le issues tra vari progetti, definire nuovi criteri di ricerca su campi personalizzati e una volta creati possono essere riutilizzati in ricerche future. La ricerca, infatti, può essere salvata come un filtro in Jira che può essere comodamente richiamato successivamente. Vengono ora presentati i passi fondamentali per eseguire una ricerca. Il primo di questi passi consiste nella scelta del criterio di ricerca: quick, based o advanced. Il metodo quick è quello più veloce e semplice da usare ma proprio per la sua semplicità ha una minore precisione, nel senso che non sempre riesce a fornire i risultati che si ottengono con l’applicazione degli altri due metodi. Il metodo viene rappresentato dalla barra di navigazione presente in Jira. Il metodo based è molto più preciso del quick e al tempo stesso più facile da usare rispetto a quello advanced. Fornisce un’interfaccia molto user-friendly e supporta la costruzione di query più complesse utilizzando JQL. Il metodo Advanced è quello più completo e complesso, supporta la creazione di query strutturate le quali non sono supportate dalle altre due metodologie. Una volta ottenuti i risultati, indipendentemente dalla tipologia di ricerca utilizzata è possibile salvarli e/o condividerli in differenti formati o semplicemente visualizzarli sul dashboard come liste di caratteri.

Generazione dei report

Jira fornisce la possibilità di mostrare le statistiche relative ad un determinato progetto, versione, issues o campi delle issues accedendo direttamente dalla finestra del progetto di cui vogliamo ottenere informazioni. I report disponibili sono i seguenti:

  • Avarage Age Report.Età media (in giorni ) delle issues non risolti.
  • Created vs Resolved Issues Report. Mostra il numero delle issues create rispetto a quelle risolti in un dato periodo di tempo.
  • Pie Chart Report. Mostra un Pie chart report di una determinata ricerca in base ad una precisa statistica.
  • Resolution Time Report. Mostra il tempo medio per la risoluzione di una issue. Recently
  • Created Issues Report. Mostra il rate al quale le issues vengono create. Single Level Group
  • By Report. Mostra il risultato di un “issues filter” raggruppato in relazione ad un determinato campo scelto.
  • Time Since Issues Report. Mostra un insieme delle issues per le quali è stato impostato il campo data.
  • Time Tracking Report. Mostra il Time Tracking (stimato, rimanente e attuale) di una determinata issue.
  • User Workload Report*. Mostra il carico di lavoro assegnato da un utente e il tempo che dovrebbe richiedere .
  • Version Time Tracking Report*. Mostra i progressi fatti verso il completamento di una determinata versione basata su stime di lavoro e tempi.
  • Version Workload Report*. Mostra il lavoro rimanente prima di una versione completa del report.
  • Workload Pie Chart Report*. Grafico relativo al rapporto carico di lavoro/ assegnatari.

Bisogna notare che le funzionalità con asterisco sono disponibili solo se l’amministratore ha attivato la funzionalità di Time-Tracking. Un aspetto molto importante di questo bug-tracker è la possibilità di importare le issues (grazie a dei plug-in) da altri bug-tracker come Bugzilla, FogBugz, MantisBt, Pivotal-tracker, Trac, Redmine, Bitbucket. Jira è disponibile anche in versione mobile e come versione Agile che permette il supporto a team di sviluppo che adottano strategia Agile. Oggi, Jira, si sta affermando nel mondo delle industrie come uno standard de facto ma non essendo open source questo ne penalizza la scelta e orienta una fetta dei potenziali clienti all’adozione di soluzioni differenti.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *