Il lavoro al tempo del CoronaVirus – Un pò di appunti liberi

Risultato immagini per coronavirus

Sono oramai passati diversi giorni da quando i Governo Italiano ha emanato il decreto che ci obbligava ad una quarantena generalizzata in tutta Italia.

Nonostante ciò, l’Artigiano non si è fermato assolutamente, anzi. Il lavoro continua e procede su vari clienti, senza mai fermarsi.

In questi giorni convulsi, si impara a gestire il flusso di lavoro modello tsunami, ovvero ondate di lavoro impossibili da gestire, videoconferenze a qualsiasi ora del giorno e della notte e configurazioni VPN a tutto spiano.

Risultato immagini per fatica

anche se alla fine della giornata, almeno durate i primi giorni di clausura semi-volontaria, questo era lo stato in cui mi trovavo

Risultato immagini per fatica

Il primo passo

Il primo passo è stato quello di attrezzarsi una postazione opportunamente illuminata e con tutto ciò che serve. In aggiunta ho due pc sempre accesi.

La mia postazione di lavoro oggi

In questo modo è possibile seguire più attività quasi in contemporanea ed intervenire al momento opportuno dove segue.

Avere a disposizione programmi quali Jira e Confluence aiuta nella gestione del lavoro e delle attività, oltre che a registrare quanto fatto e prendere appunti. Infatti con Jira riesco a monitorare tutte le attività oltre che a pianificarle. Con Confuence, come mostrato dalla seguente figura…..

Un esempio dei miei KB

riesco a classificare tutte le attività ed a documentarle. Non male.

Videoconferenza

La comunicazione con i clienti e colleghi viene sostituita con il telefono (al momento utilizzato ai massimi livelli) e alla videoconferenza, quali zoom, skype (anche skype for business, che personalmente detesto)

Risultato immagini per zoom
Il mio programma di videoconferenza preferito 🙂

Se devo essere sincero, ho aumentato il numero delle ore di lavoro, ma ho anche imparato a gestire meglio gli slot temporali: con questa emergenza sono stato costretto a rivedere i miei orari e quindi devo diluire tutto in maniera tale da riuscire a gestire tutte le richieste che mi arrivano quotidianamente.

Risultato immagini per lavoro multibraccia

In aggiunta, una buona macchinetta del caffe che ci supporta in questo periodo di emergenza e che mi permette di poter andare avanti . Devo però ricordarmi di fare scorta di capsule ogni 10 gg…. altrimenti non riesco.

La pausa caffè è garantitta

Conclusioni

Sarà un periodo abbastanza difficile, ma cerchiamo di tenere botta. Nella mia vita ho attraversato periodi abbastanza difficili, quali il terremoto del 2012 in Emilia Romagna ed eventi eccezionali che sono arrivati anche molto vicino a me. Non molliamo. Andrà benissimo.




Agile in JIRA – Scrum, Kanban, Scrumban

Kanban, Scrum, Scrumban, …

In questo post andremo a proseguire l’esplorazione sulla metodologia AGILE, concludendo l’introduzione di questo argomento.

Definizioni preliminari

Per alcune definizioni preliminari, vi rimando al seguente link del sito Agileway.it, dove ho trovato delle indicazioni molto ben fatte.

Kanban

Per spiegare in cosa consiste Kanban, sfruttiuamo A brief introduction to kanban, di Dan Radigan, dove il lettore viene indirizzato in un percorso abbastanza chiaro e semplice (Si tratta di un articolo in inglese, ma stiamo lavorando per rendere disponibile queste documentazioni in italiano). Cercheremo di dare una spiegazione il più semplice, ma anche il più chiaro possibile.

L’approccio Kanban bene si adatta a quelle situazioni in cui si hanno sempre delle attività continue da svolgere.

Il Product Owner scompone il lavoro in tanti piccoli task, più o meno complessi, modificando l’ordine degli stessi e inserendo in cima quelli con maggiore priorità. In questo modo è sempre possibile rischedulare il lavoro del team senza dover bloccare il lavoro del team.

Il Team di sviluppo verifica i task da eseguire, seleziona quello in cima al backlog e lo porta a compimento. Quando lo seleziona, lo sposta dalla colonna To Do alla colonna Doing. Quando lo completa, lo sposta nella colonna Done.

Quando si ha a disposizione un insieme di task completati, si procede con un rilascio del nuovo software.

Questo approccio è molto più indicato nella manutenzione che nello sviluppo di nuove applicazioni.

Scrum

A differenza della precedente, la Scrum ben si adatta allo sviluppo di un nuovo progetto. Andiamo a capire meglio:

Scrum struttura il proprio sviluppo in cicli chiamati Sprint che durano da una a quattro settimane, al termine dei quali il team di sviluppo rilascia funzionalità immediatamente testabili.

In Scrum non abbiamo una figura di Project manager che coordina il team, ma possiamo dire che il team stesso è in qualche modo auto-organizzato. Tutte le competenze per la realizzazione del progetto sono presenti in tutti i membri del team stesso. Con questo non voglio dire che il project manager non esiste in tali organizzazioni, fa solo qualcosa di differente.

Prima di iniziare i lavori, il team si riunisce e definisce i task che saranno sviluppati definendo una Sprint. Nel definirli si impegna a completarli entro la fine della stessa. Una volta definiti, questi task sono inseriti nel backlog e si iniziano i lavori.

Ogni giorno il team si confronta nello Stand-up Meeting, che deve durare non più di 15 minuti, dove deve emergere lo stato di avanzamento, problemi e criticità. Obbiettivo è di identificare subito ciò che può bloccare il lavoro del team e rimuoverlo in modo da consentire il normale svolgimento delle attività.

Al termine della sprint si rilascia ciò che è stato completato, mettendo a disposizione una funzionalità completa e testata, testabile a sua volta dal cliente.

Scrumban

Si tratta di una composizione delle due tecniche, un cui abbiamo l’unione di quanto di meglio abbiamo dai due approcci precedentemente indicati. Ho trovato, facendo delle ricerche, il seguente link per una bella immagine che descrive abbastanza bene visivamente che cosa è Scrumban, che mi sembra molto chiara e precisa. Maggiori dettagli li ho identificati qui (in inglese).

Scrumban mette insieme l’interazione continua di Kanban, aggiungendo una limitazione agli slot di task che devono essere eseguiti contemporaneamente.  In Scrumban, il gruppo di lavoro è organizzato in piccole interazioni e monitorato attraverso una board similare a Scrum e Kanban.

Si lavora solo su di un sottoinsieme di user story, che vengono scelte attraverso dei planning meeting, che hanno l’obbiettivo di predisporre delle vere e proprie Sprint. Per tenere le interazioni molto basse, Il WIP (Work in Progress) di ogni stato.

 

Kanban Vs Scrumban

La seguente immagine riassume le differenze tra Kanban e Scrumban.

 

Scrum Vs Scrumban

La seguente immagine riassume le differenze tra Scrum a Scrumban:

 

Conclusioni

In questo post abbiamo concluso l’introduzione alla programmazione Agile. Spero di aver fornito le basi per poter iniziare ad approfondire questi nuovi argomenti o quanto meno di aver introdotto degli argomenti interessanti.

Nei prossimi post iniziamo a calare questi concetti su JIRA SOFTWARE, verificando che cosa sia possibile realizzare e come.

Ringraziamenti

Ringraziamenti per l’aiuto a Michael Forni, che è stato un valido supporto ed aiuto nella redazione di questi articoli. Di seguito i suoi contatti:

Citazione

Alcune immagini ed indicazioni sono prese dal sito AgileWay.it e da altre fonti (che cito di seguito), dove ho trovato indicazioni molto utili. Lo cito con piacere e ne suggerisco la lettura dei vari articoli: ritengo siano una fonte molto importante di informazioni in italiano. Altre immagini e riferimenti sono stati presi dai seguenti siti, quali:

  • kanbantool.com – per l’immagine che mette a disposizione per descrivere Scrumban e per le immagini
  • www.solutionsiq.com – per le immagini di confronto tra Kanban e Scrumban e tra Scrum a Scrumban.



Evento Atlassian a Bologna

Evento Atlassian a Bologna

In questo post andiamo a dettagliare un nuovo evento Atlassian a Bologna, che con Milano, si confermano essere sempre al centro degli eventi Atlassian in Italia. Dalla presentazione di JIRA 7, ad AUG, Bologna Docet sempre :-D. Andiamo a curiosare sui vari interventi e su quanto detto ed esposto, verificando quali novità ci sono dal mondo Atlassian.

Gli ospiti

Segnaliamo, tra gli interventi, i seguenti ospiti di eccezione:

  • Feico Mol – Director EMEA channel – AtlassianFeicoMol
  • Vlad Cavalcanti – Partner Manager EMEA – AtlassianVladCavalcanti
  • Gudrun fema olafsdottrit – di TEMPO, società inslandese che produce gli addon per JIRA.Tempo-Gudrum

Gli argomenti

Andiamo subito a dunque, esaminando gli argomenti dei vari interventi e riportando i punti salienti. 😀

Siamo partiti da una breve introduzione di Alessandro Rizzoli, fondatore di Getconnected, che ha fornito una breve ma importante panoramica sul concetto di Innovazione, supportato dagli ospiti Atlassian

Atlassian

Subito dopo, Feico Mol ha indicato i punti salienti di come, la Atlassian, ha fornito il suo contributo nella innovazione, in cui ha illustrato quello che la Atlassian puo fare per supportare ed aiutare i team nel proprio lavoro, ma non solo i team di sviluppo software… TUTTI i team :-D. Anche se questa presentazione è stata in inglese, Feico Mol ha giurato che la prossima volta che interverrà, sarà in italiano.

FeicoMol

L’incontro è entrato nel vivo andando ad affrontare come l’approccio Agile, con la spiegazione delle varie metodologie e incentrandosi sul nuovo concetto di Project Management 3.0, possa aiutare ad innovare l’azienda. Il PM di Getconnected, Christian, ha realizzato una presentazione egregia sull’argomento.

ProjectManagement3.0

Subito dopo, Gudrun Fema Olafsdottrit di TEMPO, ha illustrato come i prodotti realizzati dalla TEMPO possono essere utilizzati per migliorare ed aiutare i team a migliorarsi ulteriormente. Anche se era in vacanza, ha accettato di partecipare a questo evento per dare il suo contributo.

Tempo-Gudrum

Christian è quindi intervenuto nuovamente iniziando a descrivere Jira Portofolio, cui è seguita una piccola demo su JIRA Portfolio 2.0

JIRA-Portfolio

Sono state descritte le nuove funzionalità che la versione 2.0 ha introdotto. Non escludo che JIRA Portofolio sia oggetto di un ulteriore approfondimento per il prossimo AUG Bologna.

JIRAPortfolio

La demo successiva è stata esaustiva ed importante, mostrando come, attraverso pochi e semplici clock del mouse, si possa arrivare ad avere uno scenario ed una proiezione degli sviluppi di un progetto.

Ck68xDAWsAA6aAK

E’ quindi seguita la presentazione di Gonzalo Torres , che ha mostrato come la Opinno porta innovazione nelle aziende di tutto il mondo.

GonzaloTorresOpinno

Intervento interessante, di Alessandro Rizzoli, su AgileMarketing, che descrive come l’approccio Agile può aiutare il personale marketing a migliorare il proprio lavoro.

Ck7MZptWkAAHTz3

Ultimo, ma non ultimo, l’intervento di Vlad cavalcanti:

VladCavalcanti

che ha egregiamente riassunto come la Atlassian ha portato innovazione al suo interno, arrivando a migliorarsi continuamente. La condivisione di tutte le notizie (buone o brutte che siano), la responsabilizzazione delle persone e un nuovo approccio culturale, fanno della Atlassian una delle migliori aziende a livello mondiale

Ha altresì dato alcune notizie in anteprima: Dal 2 al 5 maggio si terrà in europa, a Barcellona, il primo Atlassian Summit europeo 🙂

Conclusioni

Bologna si conferma al centro degli eventi Atlassian in Italia, con argomenti molto validi ed importanti. Con l’estate che incombe, ci apprestiamo alle ferie, ma con l’autunno ci saranno nuove sorprese, non ultime AUG Bologna con un nuovo evento.




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:




Kanban combined WIP – Addon per JIRA

ULTIMORA

L’addon non risulta più disponibile sul Market. Confido che l’autore lo ripresenti a breve 🙂

L’addon è disponibile anche per la versione cloud.

Addon per JIRA interessante

In questo post andiamo a recensire un nuovo addon per JIRA: Kanban combined WIP.

Di che si tratta?

Si tratta di un addon che estende le caratteristiche della Kanban board. Vediamo in dettaglio che cosa offre :-):

  • Nuovi colori e temi grafici per meglio leggere ed identificare i vari task 
  • Possibilità di combinare le colonne con una mini-aggregazione 
  • Possibilità di eseguire degli zoom per rendere …. opportune le visualizzazioni 

Conclusioni

Questo addon consente di poter mettere un pò di ordine e di leggibilità alla Kanban Board. Nei prossimi post andremo a vedere la prova su strada dell’addon.

Reference