Agile in JIRA – Introduzione ai concetti AGILE

Agile in JIRA – Due chiacchiere su Agile

In questo primo post, faremo un giro virtuale sui concetti base e sulla storia su Agile. Parleremo del Manifesto Agile e dei concetti fondamentali.

In principio era Waterfall…..

Prima dell’avvento di Agile, lo sviluppo software seguiva le indicazioni di Waterfall:

Come mostrato dalla immagine, che sicuramente ci sembrerà familiare, il processo è sequenziale. Si parte dalla analisi delle necessità del nostro cliente fino ad arrivare alla implementazione e quindi al deploy e relativa manutenzione.

Questa metodologia è sicuramente molto semplice da usare e di facile apprendimento, ma presenta una serie di …. difetti, che cercheremo di dettagliare:

  • Non si adegua ai cambiamenti. 
  • Molto rigida
  • Richiede molto tempo dalla analisi al deploy

Non è quello che volevo…..

Questa è la frase che quasi sempre ci siamo sentiti dire, dopo tantissimi sforzi e tantissima fatica per realizzare il tutto, a volte con dei tempi molto stretti. Molto spesso il cliente, pieno di speranza, arrivava ad avere un prodotto che non sempre rispecchiava le sue aspettative.

In aggiunta, abbiamo anche la delusione degli sviluppatori: Anche loro dicono che hanno seguito le istruzioni dettate dell’analisi.

Una piccola precisazione: non voglio assolutamente criminalizzare la metodologia Waterfall. Questa metodologia è valida nonché semplice da apprendere, ma non sempre è indicata in determinate situazioni. A tale scopo sono stati introdotti i concetti di Agile che ben si prestano nella realizzazione di un software (e non solo) destinato a crescere. Vediamo in primo dettaglio 😀

Cosa introduce Agile?

Agile introduce diversi nuovi concetti che sono riassunti nel Manifesto Agile, come mostrato nella seguente figura:

Agile-02-01

Questi concetti sono da considerare come le nostre tavole della legge dei 10 comandamenti. Sono le fondamenta di tutto l’approccio. Si da maggiore importanza ai 4 concetti espressi, in particolare alle parole a sinistra in quanto sono i pilastri su cui ci poggiamo.

Il tutto si sviluppa in ben 12 punti, che andiamo a dettagliare:

  • La nostra massima priorità è soddisfare il cliente
    rilasciando software di valore, fin da subito
    e in maniera continua.
  • Accogliamo i cambiamenti nei requisiti,
    anche a stadi avanzati dello sviluppo.
    I processi agili sfruttano il cambiamento
    a favore del vantaggio competitivo del cliente.
  • Consegnamo frequentemente software funzionante,
    con cadenza variabile da un paio di settimane a un paio di mesi,
    preferendo i periodi brevi.
  • Committenti e sviluppatori devono lavorare insieme
    quotidianamente per tutta la durata del progetto.
  • Fondiamo i progetti su individui motivati.
    Diamo loro l’ambiente e il supporto di cui hanno bisogno
    e confidiamo nella loro capacità di portare il lavoro a termine.
  • Una conversazione faccia a faccia
    è il modo più efficiente e più efficace per comunicare
    con il team ed all’interno del team.
  • Il software funzionante è il principale metro di misura di progresso.
  • I processi agili promuovono uno sviluppo sostenibile.
    Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado
    di mantenere indefinitamente un ritmo costante.
  • La continua attenzione all’eccellenza tecnica
    e alla buona progettazione esaltano l’agilità.
  • La semplicità – l’arte di massimizzare la quantità
    di lavoro non svolto – è essenziale.
  • Le architetture, i requisiti e la progettazione
    migliori emergono da team che si auto-organizzano.
  • A intervalli regolari il team riflette su come
    diventare più efficace, dopodiché regola e adatta
    il proprio comportamento di conseguenza.

Fondamentalmente, cambiamo il nostro modo di ragionare e di approcciare i problema: Non abbiamo dei tempi biblici per rilasciare il software o dei passi rigidi per i quali blocchiamo lo sviluppo. Identifichiamo le varie funzionalità che compongono l’applicativo e le andiamo a rilasciare al più ogni due/quattro settimane.

Confronto continuo, semplicità sulle fasi di sviluppo, accoglimento del cambiamento come qualcosa di positivo. Costruiamo l’applicativo un pezzo alla volta, facendolo crescere in modo da aumentare le potenzialità del gruppo di lavoro.

Abbiamo anche un vantaggio molto importante, o effetto collaterale se vogliamo: La QUALITA’ aumenta perché:

  • Si rilascia sempre un software funzionante, anche perché ne rilasciamo sempre una porzione per volta
  • il cliente controlla sempre se rispetta le richieste e verifica subito se effettivamente le sue esigenze sono ricoperte.

Interazione faccia a faccia costante dei vari elementi del team di sviluppo.  Come gli ingranaggi di una grande macchina, i vari elementi del team di sviluppo devono lavorare in sintonia ed in tranquillità, dando il massimo di loro stessi. Questo significa che la comunicazione deve essere sempre aperta e costante. 🙂

In aggiunta cambiano i concetti di responsabile e di ruoli, come esiste in Waterfall. Non un unico responsabile, che comanda e che risponde di tutto, ma tutti sono responsabili di una intera sprint e del successo/insuccesso.

Ed il cliente?

Lo coinvolgiamo totalmente, come anticipato in precedenza. Ad ogni rilascio gli viene viene richiesto un feedback, un contributo sulle operazioni e che gli da la possibilità di verificare quanto pronto.

In questo modo gli diamo sempre la possibilità di poter verificare direttamente i progressi, vedere l’applicativo crescere e … importantissimo …. non ce lo troviamo tra capo e collo ogni 5 minuti che chiede: Quando sarà pronto l’applicativo??

 

Il Cliente diventa un valido alleato nello sviluppo del software.

Differenze con il Waterfall?

Diamo una occhiata a questa immagine:

che ci fornisce un confronto tra le due metodologie: Waterfall Vs Agile. Vediamo che Agile meglio si adatta alle situazioni in cui il cambiamento è alto. I problemi vengono scoperti molto più velocemente, anche grazie all’intervento del cliente che, collaborando a stretto gomito con gli sviluppatori, aiutano nella risoluzione.

Kanban, Scrum, scrumban, …

Sono le varie metodologie che sono nate e si sono sviluppate. Queste saranno esaminate, leggermente in dettaglio, nei prossimi post dedicati a questa serie AGILE in JIRA.

References

Suggeriamo le seguenti letture:

ma non sono le uniche. Qualsiasi contributo è sicuramente ben accetto e ringrazio fin da adesso tutti coloro che daranno il loro contributo.

Ringraziamenti

Ringraziamenti per l’aiuto a Michael Forni, che è stato un valido supporto nella redazione di questi articoli. Se volete chiedere, domandare o semplicemente fare una domanda spot, riporto di seguito i suoi contatti:




Gerarchia di versioni – Prova su strada

Proviamo questo addon

In questo post andremo a fare la nostra solita prova su strada dell’addon

Installazione

Partiamo come sempre dal primo passo … fondamentale: La installazione del nostro addon :-P.

subvers-02-01

Selezioniamo Free Trial e procediamo con l’installazione:

subvers-02-02

Lasciamo che il componente venga scaricato dalle normali procedure di installazione, come siamo ormai abituati…

subvers-02-03

… lasciando eseguire tutte le funzioni dalla sezione di amministrazione. Al termine andiamo ad assegnare la licenza trial, fornendo le nostre credenziali….

subvers-02-04

….quindi attendiamo qualche istante e ….

subvers-02-05

… lasciamo che si completi il tutto.

subvers-02-06

Dopo l’apparizione della precedente schermata, l’addon è pronto per essere utilizzato.

Configurazione

Come sempre, andiamo a controllare se è presente la configurazione, per capire come gestire il tutto. Come per l’addon Subcomponents, anche qui abbiamo che la sezione di configurazione è stata riportata nei menù di configurazione del progetto, come mostrato in figura:

subvers-02-07

e se selezioniamo Versions Hierarchy, entriamo nella maschera di configurazione della gerarchia di versioni:

subvers-02-08

Il funzionamento è identico a quanto già mostrato sulle Components. Nella seguente figura abbiamo la gerarchia di versioni costruita, con semplice drag’n’drop.

subvers-02-09

Nella immagine successiva, vediamo la schermata standard delle versioni. Notiamo che l’addon mette a disposizione un sistema che, date le versioni caricate nel progetto, crea la gerarchia.

subvers-02-10

Che altro possiamo fare?

Proviamo ad usare i due addon Subcomponents e Subversions. Cerchiamo quindi di assegnare alle componenti le versioni organizzate come gerarchia e vediamo che cosa succede 🙂

subvers-02-11

Possiamo associare ad ogni componente le versioni cui farà parte. Questa funzionalità non prevede alcun cambiamento.

Alcune annotazioni

Una cosa che salta subito all’occhio,  come utilizzatore, è la seguente: Tutte le operazioni devono essere eseguite in manuale. Questo significa che se abbiamo un numero di versioni/componenti molto alto, ripetere questa operazione una per una rischia di essere parecchio onerosa. Avere a disposizione degli automatismi potrebbe aiutare notevolmente nella gestione della stessa.

Notiamo anche che nella fase di creazione della issue, abbiamo alcune variazioni, introdotte per gestire la gerarchia di versioni:

subvers-02-12

se andiamo a selezionare il tasto, possiamo scegliere a quale gerarchia di versioni possiamo selezionare:

subvers-02-13

Abbiamo la stessa possibilità anche negli altri screen:

subvers-02-14

Conclusioni

Abbiamo completato, con questo post, la panoramica degli addon della Broken Build, per la gestione delle gerarchie di Components e Versions. Nei prossimi post andremo a confrontare questi addon con altri disponibili sul mercato.

Reference

Maggiori informazioni sono reperibili qui.

 




Kanoah Test 2.5.0 – Ultime novità

Ultime novità

In questo post andiamo a evidenziare le ultime novità che sono presenti nella versione 2.5.0 di Kanoah tests.

 

Andiamo al sodo

Create and Edit Test Cases and Test Plans in a Full Screen

Risulta ancora più semplice creare e modificare i Test Case e i Piani di Test.

 Navigate to Test Cases, Test Plans and Issues from Reports

Possibile navigare direttamente Test case, Piani di test o le issue direttamente da ogni report: Basta un click 🙂

Share Test Cases and Test Plans Using Friendly URLs

Possibile condividere Test case e Piani di test utilizzando una URL più agevole ed amichevole, simile a quella classica di JIRA per navigare le Issue 🙂

Navigate to a Test Case During its Execution With a Single Click

Mentre si esegue un test case, eseguendolo utilizzando il Test Player, basta un semplice click sulla sua chiave per accedervi diretamente.

 

Easily Move Test Steps Up and Down

Abbiamo la possibilità di poter riordinare i passi do un test case, in maniera molto semplice ed agevole.

Fixes and Improvements

  • Migliorata la traduzione in Tedesco.

Conclusioni

Non cessa mai di sorprenderci il Kanoah Test. Restiamo in attesa di nuovi ulteriori sviluppi, ma di sicuro non smetteremo mai di sorprenderci.

Reference

Maggiori informazioni sono presenti nel sito della Kanoah Test.




Mind Maps per Confluence – Diamo una prima occhiata

Confluence – Usiamo le Mind Maps

In questo post andremo ad esaminare un addon che permette di poter generare delle Mind Maps. Vediamo come questo addon ci può aiutare attraverso Confluence.

Una piccola definizione ci aiuta

Una mappa mentale è una forma di rappresentazione grafica del pensiero teorizzata 
dal cognitivista inglese Tony Buzan, a partire da alcune riflessioni sulle tecniche 
per prendere appunti. Il fine consiste nell'implementare la memoria visiva e quindi 
la memorizzazione di concetti e informazioni in sede di richiamo.

Le mappe mentali (mind maps) non vanno confuse con altri tipi di mappe come le mappe 
concettuali dalle quali si differenziano sia per la strutturazione, sia per il modello 
realizzativo, sia per gli ambiti di utilizzo.

(fonte wikipedia)

 

 

Che cosa offre l’addon?

L’addon mette a disposizione una serie di strumenti che permettono di creare delle mappe mentali nelle nostre pagine Confluence

permettendo di poter scegliere il tipo di mappa mentale. Il risultato che abbiamo nelle nostre pagine è il seguente:

Questo ci aiuta tantissimo nel predisporre il nostro ragionamento o nel trasmetterlo ai nostri colleghi.

Che altro?

Il produttore dell’addon ha messo a disposizione un video, che riporto

Conclusione

Abbiamo iniziato ad esaminare un addon molto interessante, che ci permette di poter fissare, nelle nostre pagine Confluence, le nostre idee e di poterle trasmettere attraverso le mappe mentali. Nei prossimi post andremo ad eseguire delle prove sul campo. L’addon è al momento disponibile solo per le installazioni Cloud ma, come già indicato in altri post, sicuramente il produttore ci sorprenderà con la versione server :-).

Reference

Maggiori informazioni sono reperibili qui.




JExcel PRO – First LOOK

JExcel PRO – First Look

In questo post andremo ad esaminare la nuova versione PRO di JExcel, addon molto interessante che fonde le funzionalità di un foglio elettronico con le potenzialità di JIRA. Andiamo a vedere quali sono le novità 🙂

Andiamo al sodo

Andiamo subito ad esaminare le caratteristiche salienti di questo addon, andando subito al sodo :-), anche se JExcel PRO è sempre in continua evoluzione.

Come dice la stessa parola PRO, si tratta della estensione della versione LITE, che abbiamo esaminato nei post:

che presenta anche il seguente elenco di …. features:

  • Exportazione con caratteristiche avanzate (includono attachments, immagini e commenti)
  • Collaboration
  • Cell History
  • Priority Support
  • More frequent releases
  • Excel like UI with in-place edition and issue creation
  • Copy-paste (also to/from MS Excel/Notepad)
  • Average/Count/Sum of the selected cells
  • Column renaming
  • Excel like column filtering and sorting
  • Dealing with thousands of issues without page reload (paging, filtering, sorting)
  • Column freeze (importantissima, salva da tantissime situazioni 😉 )
  • Tab coloring (Importante anche
  • Flag rows (come in Outlook)

Caratteristica importante è quella di avere a disposizione delle operazioni di copia/incolla direttamente dalle celle di Excel 🙂

La collaboration permette di poter vedere le modifiche in tempo reale, come mostrato dalla precedente immagine.

Le caratteristiche avanzate di esportazione, permettono di avere a disposizione TUTTE le informazioni delle varie issue.

Possiamo assegnare un colore ai worksheet, per meglio identificarli :-). Lo stile richiama molto MS Excel. Anche questo aiuta tantissimo nella gestione.

Conclusioni

Siamo di fronte ad un addon molto importante. JExcel LITE dispone di features molto importanti, ma la versione PRO mette a disposizione delle features che rendono questo addon interessantissimo :-).

Raccomandazioni

We strongly recommend to use a Chrome,Firefox or Safari browser when using JExcel!

Questa è una raccomandazione che abbiamo sicuramente già visto in tante altre situazioni, e che sicuramente fa parte della nostra esperienza. Ma sono sicuro che la MORESIMP saprà sorprenderci con altrettanti effetti speciali 😀

Reference

Maggiori informazioni sono presenti qui.




ScriptRunner per Confluence – Diamo una occhiata

Estendiamo le funzionalità di Confluence

In questo post andremo a dare una prima occhiata a questo nuovo Addon, che estende le funzionalità di Confluence. Abbiamo già avuto modo di conoscere questo addon per JIRA, dove abbiamo mostrato le potenzialità.

Vediamo subito che cosa offre

Questo addon è una piacevole sorpresa di AtlasCamp. Non sono riuscito a partecipare, ma spero di essere ben presente al prossimo :-D.

Abbiamo la possibilità di poter aggiungere degli script personalizzati, esattamente come descritto per JIRA, per aggiungere azioni o macro che non sono presenti.

Possiamo quindi aggiungere delle funzioni personalizzate o sfruttare la completa libreria di script, che la Adaptavist mette a disposizione, per poter creare i nostri script 🙂

Conclusioni

Abbiamo fatto la conoscenza di un addon molto interessante. Nei prossimi post andremo a testare e ben provare per saggiarne le caratteristiche.

Reference

Maggiori informazioni sono presenti qui.




JExcel LITE – Ultime news

Ultime news su JExcel

In questo post andremo ad esaminare le ultime novità sulla versione LITE di JExcel. Abbiamo già avuto occasione di parlare di questo ottimo addon in:

Dettaglio, Dettaglio, Dettaglio

Andiamo subito al sodo. Nell’ultima versione viene rilasciata la seguente feature:

  • Delete issue in context menu

Abbiamo anche la risoluzione di bugfix minori, ma che sono sicuramente ci aiutano nella vita di tutti i giorni:

  • Link problems risolti 😉
  • dialogs troppo piccoli
  • Altri bugfix minori

Conclusione

Abbiamo visto le ultime novità di questo addon. Continuamo a monitorare con interesse questo addon: Sono sicuro che ci riserverà delle bellissime sorprese.

Reference

Maggiori informazioni sono presenti qui.




Uno studio in JIRA – Scenario e possibili soluzioni

Uno studio in JIRA

In questo post cercheremo di descrivere un possibile scenario, dettato da una necessità reale, cui successivamente cercheremo di fornire alcune possibili soluzioni.

JIRA esposto verso i clienti

Partecipando ad un evento, mi fu indicata questa situazione: Si voleva esporre JIRA verso dei clienti. Tuttavia esisteva sempre il timore che i clienti potessero anche accedere, oltre ai progetti loro esposti, anche altri progetti, cui NON DOVEVANO ACCEDERE.

Si trattava ancora di JIRA 6 e JIRA 7 era appena stato rilasciato.

La necessità è reale. Avere a disposizione un unico JIRA è sicuramente utile. Non abbiamo la necessità di dover gestire più istanze e non ci complichiamo la vita con troppe operazioni di amministrazioni.

Quali azioni possiamo intraprendere?

Sicuramente andiamo a gestire i permessi ed i relativi permission scheme associato al progetto.

In quest modo riusciamo a stabilire chi fa cosa e perché. In aggiunta, lavorando con i Roles del progetto, stabiliamo i ruoli degli utenti.

Questo sicuramente aiuta nel separare le persone dalle informazioni che possono leggere da quelle che non devono reperire.

Utile, ma??

Questo è sicuramente utile, ma tenendo tutto in un unico JIRA esiste sempre la possibilità che:

  • una configurazione possa …. scappare e di conseguenza delle informazioni possono essere lette;
  • si potrebbe sfruttare dei buchi di sicurezza (ce ne sono stati e ce ne saranno sempre) ed accedere a sezioni private;
  • se abbiamo un numero molto alto di utenti da gestire, l’errore aumenta.

Ok. Che cosa possiamo fare?

Possiamo sfruttare le API REST che i prodotti della Atlassian mettono a disposizione. In questo modo possiamo mettere a disposizione una applicazione, ad uso interno, per mettere a disposizione degli utenti ciò di cui hanno bisogno, e niente ALTRO.

Le API sono molto complete e permettono di poter fare… praticamente tutto. Di conseguenza abbiamo una applicazione opportunamente bloccata e configurata. Il pericolo delle falle di sicurezza è limitato…… forse :-O

Tuttavia, questo significa che occorre SVILUPPARE e MANUTENERE questa applicazione. Di conseguenza aumentano i costi e  i tempi. Questo è un aspetto da non sottovalutare.

La facciamo più difficile? ovviamente si

Se oltre a JIRA volessimo esporre anche JIRA Service Desk? Questo complica la vita. La versione 6 di JIRA differisce parecchio dalla versione 7 di JIRA, come abbiamo mostrato nei precedenti post e nei post successivi.

Nella versione 6, JIRA Service Desk è un ADDON di JIRA. Quindi, se si vuole esporre JIRA Service Desk abbiamo comunque lo stesso problema.

In questo caso, le API di JIRA Service Desk sono state introdotte solo dopo. Di conseguenza la strada di un applicativo a se stante non è percorribile.

Che alternative abbiamo?

Se non abbiamo a disposizione di un team di sviluppo, se siamo magari una azienda medio piccola e l’informatica non è il core business, che cosa possiamo fare? Cercheremo di dare delle risposte nei prossimi post.

Conclusione

Abbiamo introdotto un nuovo argomento molto delicato ma mooooooooooolto interessante 🙂 . Cercheremo di svilupparlo molto bene nei prossimi post.

 




Estendiamo JQL con altre funzionalità

Estendiamo le funzionalità JQL

In questo post andremo ad esaminare come possiamo ancora estendere le funzionalità di JQL Standard.

 

Come possiamo fare?

Vediamo quali possibilità abbiamo per estendere le funzionalità JQL nel nostro JIRA. Abbiamo già visto alcuni esempi esaminando diversi addon, che abbiamo recensito nel corso del tempo, quali ad esempio scriptrunner, di cui abbiamo ampiamente parlato. vediamo adesso quali altri soluzioni sono possibili:

JQL Tricks Plugin è sicuramente una prima soluzione. Mette a disposizione tante funzioni aggiuntive per il JQL, permettendo di poter eseguire moltissime interrogazioni specifiche.

 

Abbiamo la possibilità di monitorare chi ha eseguito determinate operazioni in maniera banalissima, come mostrato dalla precedente immagine.

In aggiunta abbiamo la possibilità di poter indicare quali utenti/gruppi/progetti ne possono fare uso, con una agevole form di configurazione.

Craftware Search Linked Issues for JIRA è la nostra seconda indicazione. Si tratta di un addon che estende, a sua volta, il JQL con opportuni funzioni. Permette di poter eseguire delle ricerche sulle linked issue in maniera molto semplice.

 

 

 

Dalla immagine precedente, vediamo che abbiamo delle funzioni che, nella vita lavorativa, ci aiutano a semplificarcela :-D.

JQL Functions Collection mette a disposizione un insieme di funzioni JQL anche queste molto semplificative della vita di ogni giorno.

 

 

Si tratta di funzioni che trattano formato di dati, di stringhe etc. Queste sono sicuramente molto utili :-), come mostrato dalla immagine successiva.

 

Conclusioni

Abbiamo fatto una carrellata molto rapida di addons che permettono di estendere JQL con altre funzioni che possono aiutare la vita di tutti i giorni.




Nuove features in Confluence

Nuove features in Confluence

In questo post andremo ad esaminare una piccola novità di  Confluence, che aiuta molto gli utilizzatori nello svolgere il proprio lavoro.

Resizable table columns in Confluence

Una delle ultime caratteristiche introdotte, già presenti sulla versione Cloud, è la possibilità di poter inserire delle tabelle ridimensionabili, come mostrato dalla seguente GIF animata:

Abbiamo la possibilità di poter disporre di tabelle a dimensione fissa o responsive :-). Usando le tabelle tutti i giorni, come utente, posso assicurarvi che è una feature che aspettavo da un pò di tempo.

Avendo a disposizione una istanza cloud, che uso regolarmente, l’uso di tabelle responsive è UTILE :-D.

Conclusioni

Una piccola novità, un ottimo aiuto per noi utenti di Confluence. Restiamo in attesa di ulteriori … sorprese.

Reference

Maggiori informazioni sono reperibili qui.