Intré Camp 3 ottobre 2022 – Tutti in Franciacorta!
Bentrovati cari lettori al consueto appuntamento con il resoconto di un camp aziendale.
Lunedì 3 ottobre 2022 si è svolto l’Intré Camp completamente immersi nella natura e nei vigneti in Franciacorta, celebre zona che va da Brescia al Lago d’Iseo, dove fin dal periodo preistorico si pratica l’attività vitivinicola.
Come per ogni Intré Camp, due sono stati i momenti significativi: la gildonferenza e la unconference. In questo articolo potrete leggere e rivivere i momenti più significativi della giornata.
Introduzione
Francesco Rigillo, CEO di Intré, ha ufficialmente aperto l’Intré Camp di ottobre presentando a tutta l’azienda un aggiornamento sul business e sui trend di mercato.
Il contesto nel quale ci muoviamo è dinamico e in costante mutazione, per cui, in puro spirito Agile, Intré deve rispondere al cambiamento continuando a generare valore per i nostri clienti.
Francesco ha colto l’occasione per aggiornarci su due nuove Business Unit nate nel 2022: Intré Cloud Native e Intré Security.
Intré Cloud Native
La Business Unit dedicata alla progettazione di soluzioni cloud “from envisioning to continuous value delivery”. I team di Intré Cloud Native guidano i clienti, passo dopo passo, nella definizione e realizzazione dei loro prodotti e servizi digitali Cloud Native. Dalla “Vision” dell’applicazione al rilascio del primo MVP fino allo sviluppo Full Scale; un approccio Lean, Agile e User Centered per sfruttare a pieno le opportunità del mondo Cloud.
Intré Security
La Business Unit è composta da un team di specialisti di cybersecurity nato per guidare le Piccole e Medie Imprese nella definizione di piani di sicurezza informatica in base alle specificità di ogni azienda. Intré Security fornisce supporto sia alle aziende che desiderano migliorare il livello della loro sicurezza informatica, sia a quelle che hanno subito una violazione e vogliono tornare operative il prima possibile.
Iniziative interne
Alessandro Giardina, Agile Delivery Manager e responsabile della formazione in Intré, ha concluso la presentazione illustrando due nuove iniziative interne.
- Merit Money: un meccanismo diverso, in ipotesi più equo e motivante, per distribuire i bonus aziendali. Si basa su un principio fondamentale: i “pari”, i colleghi di team che, vivendo quotidianamente a contatto l’uno con l’altro, conoscono meglio i meriti delle persone; non i manager che, essendo più distanti, potrebbero avere una visione parziale o distorta. Ogni persona ha a disposizione un numero preciso di token, chiamati Kudos. Una volta a settimana, durante una breve cerimonia, ogni membro del team ha l’obbligo di elargire un token in favore di un collega. Alla fine di un ciclo di diverse settimane (per noi saranno quattro mesi), ogni persona avrà un tesoretto di token che potrà usare secondo le modalità decise dall’azienda. L’iniziativa avrà un carattere sperimentale e coinvolgerà solo un paio di team; la sua applicazione completa e strutturale sarà graduale e subordinata a una verifica nella quale si analizzeranno pro e contro dell’esperienza.
- i3accademy: un’iniziativa nata da persone che hanno espresso il desiderio di sperimentarsi nel ruolo di “mentori” con un duplice obiettivo: acquisire e sviluppare le abilità proprie della figura del mentore e allo stesso tempo fornire un percorso di formazione personalizzato e coinvolgente ai dipendenti in fase di onboarding.
Gildonferenza
Per chi ancora non ne fosse a conoscenza, il termine gildonferenza è una fusione di due parole: gilde e conferenza. Una gildonferenza è quindi una mini conferenza dedicata alle gilde e rappresenta un momento importante per tutte le persone di Intré durante il quale condividere i risultati e le esperienze maturate nelle gilde che hanno animato l’ultimo quadrimestre.
Per ulteriori approfondimenti sulle gilde nate negli ultimi anni, vi invito a consultare la pagina del sito dedicata.
Gilda “i3eer”
Questa gilda è nata per raggiungere due obiettivi: imparare a produrre la birra “home-made” e realizzare un’applicazione per il monitoraggio della fermentazione del mosto.
Durante i diversi incontri, i partecipanti hanno avuto modo di utilizzare un kit per la fabbricazione della birra e produrre una IPA finalizzando 24 bottiglie da 75cl. Nel mentre è stato realizzato un software con l’intenzione di aiutare l’utilizzatore finale, il mastro birraio. L’applicazione sviluppata permette infatti di creare e gestire delle ricette e di monitorare la temperatura del mosto nel momento in cui si decide di eseguire una cotta. Per lo sviluppo dell’applicazione sono state utilizzate diverse tecnologie: React.js per il frontend, Java Spring per il backend, un microcontrollore STM32 Nucleo64 con sensore di temperatura per la rilevazione della stessa in tempo reale e il protocollo MQTT per il trasferimento dei dati della temperatura al Cloud AWS.
All’Intré Camp, mentre veniva degustata la birra prodotta, è stata presentata l’esperienza vissuta in tutti i suoi aspetti: organizzativi e tecnici.
Gilda “La VUElta Buona”
Come si può intuire dal nome, la gilda è stata dedicata allo studio del framework per frontend Vue.js, giunto alla versione 3, e al linguaggio TypeScript.
Dopo aver seguito un corso tenuto dal coach esterno Andrea Simone Costa, il team ha dedicato il resto degli incontri a esercizi di approfondimento e di pratica che hanno portato alla creazione di un’applicazione relativa al gioco della Tombola, partendo da un progetto precedente sviluppato in React.
Gilda “Pictionary”
Questa gilda ha seguito un percorso di apprendimento e di pratica di tecniche di visualizzazione, concentrandoci in particolare su modelli e strumenti proposti da bikablo ®. Per i partecipanti l’obiettivo principale è stato d’imparare come essere efficaci nella visual facilitation e nello sketch noting, acquisendo competenze che permettano loro di realizzare poster e cartelloni d’impatto per diverse situazioni e cerimonie.
La gilda è stata sempre molto partecipata e ricca di momenti divertenti, con progressi inaspettati nel giro di pochi mesi.
All’Intré Camp sono stati esposti i cartelloni realizzati da ogni componente comprensivi sia dell’agenda della giornata, sia della board per l’unconference.
Gilda “CKADiamo e ci crediamo!”
La gilda, prosieguo della gilda “Se non stai attento…CKAD“, è nata per raggiungere il vero grande obiettivo: acquisire la certificazione CKAD, acronimo di Certified Kubernetes Application Developer.
Durante gli incontri il gruppo si è cimentato in una serie di esercizi e prove d’esame, sfruttando la piattaforma killer.sh, e ha sviluppato un’applicazione in stile killer.sh per:
- fornire un set di esercizi più o meno sfidanti ai colleghi che in futuro vorranno provare a ottenere la certificazione;
- testare le API di Kubernetes, eseguendo una verifica real-time degli esercizi svolti.
Per l’unconference dell’Intré Camp la gilda ha organizzato una sessione dedicata ad alcuni “Tips & Tricks”, utili durante la prova d’esame, e alla presentazione del simulatore.
Gilda “i3chart”
La gilda nasce per approfondire gli strumenti di organizzazione e di visualizzazione dati attingendo sia dal mondo del Design, sia da quello della Data Science.
Il team ha seguito un corso online sull’argomento Data Visualization, dopodiché si è suddiviso in due gruppo per lavorare a due casi di studio.
- Avvistamenti U.F.O. negli USA tra il 1905 e il 2014, per capire la tendenza in base a diversi indicatori (ogni 100.000 abitanti e livello d’istruzione superiore, trend delle forme dopo Roswell (1947)).
- Classifica Top 5 dei cani più popolari in Canada, Nuova Zelanda, Giappone, Regno Unito e Cina. Per ogni cane viene evidenziato il livello di popolarità, quello d’intelligenza e cinque caratteristiche identificative: Fisico, Addestrabilità, Salute, Cordialità, Adattabilità.
Entrambi i casi di studio sono stati presentati durante la gildonferenza tenuta durante il camp.
Gilda “Electronics for Dummies”
Scopo di questa gilda è apprendere i concetti fondamentali di elettronica ed elettrotecnica, conoscere i principali componenti di un circuito elettronico e capire come e con quali strumenti assemblarli.
Dopo una breve introduzione teorica dei componenti, il team ha individuato alcuni casi pratici in ordine progressivo di complessità con cui poi si sono cimentati, da kit didattici sino ad arrivare a progettare un circuito complesso con un software di simulazione.
I partecipanti della gilda hanno acquisito manualità con gli strumenti (stagnatore, multimetro, ecc.), hanno realizzato un prototipo funzionante in due differenti versioni e infine hanno organizzato un workshop durante la unconference per consentire alle persone di Intré di ripetere l’esperienza dell’assemblaggio.
Gilda “I3D”
Come programmatori costruiamo modelli di sistemi che qualcun altro utilizzerà per raggiungere i propri obiettivi. La sfida quotidiana è capire le diverse esigenze degli utilizzatori e i diversi contesti di utilizzo e costruire modelli che siano utili ed efficaci. Molte sono le pratiche, i pattern, le tecniche che Domain-Driven Design (DDD) offre per modellare domini complessi.
La gilda nasce con lo scopo d’introdurre al vasto mondo del DDD e di realizzare un’applicazione C# .NET per applicare quanto imparato. A tale scopo il gruppo si è avvalso dell’aiuto del collega Alberto Acerbis. Durante gli incontri i partecipanti hanno avuto modo di prendere parte a una sessione di Event Storming per la modellazione del dominio, e da questo hanno sviluppato una prima versione di un monolite (con frontend in Blazor) che man mano è stata scomposta in più parti: microservizi (backend) e microfrontend (frontend).
Gilda “Rage Against The Machine”
La gilda si pone l’obiettivo di migliorare sensibilmente il robot realizzato dalla precedente gilda “Lego Skynet“. Il robot era stato assemblato utilizzando due kit Lego Mindstorms ® 51515 ed era capace di riconoscere una pallina e muoversi verso di essa grazie a logiche di AI e il supporto di un Raspberry Pi con modulo webcam. Incontro dopo incontro, il robot è stato sensibilmente migliorato sia lato hardware (ripensando una costruzione più efficiente), sia lato software (aggiungendo al Raspberry Pi un modulo Google Coral e la libreria open source TensorFlow).
All’Intré Camp i partecipanti hanno realizzato una piccola demo del nuovo robot che è ora in grado di riconoscere una persona e inseguirla; per l’unconference è stato organizzato un talk di approfondimento degli aspetti tecnologici del progetto.
Unconference
Ferdinando Santacroce, tra gli ospiti fissi dei nostri Intré Camp, ha spiegato a tutti i presenti le regole e i principi che regolano una unconference.
Basata sulla metodologia Open Space Technology, una unconference (o open conference) è una conferenza la cui agenda è organizzata al momento. L’idea è che le proposte arrivino dal basso, dai partecipanti stessi, affinché si abbiano argomenti tutti di reale interesse. Non solo argomenti da proporre, ma anche richieste di aiuto, dubbi, spunti che possano generare una discussione costruttiva.
Esiste una sola legge, la Legge dei due piedi, ossia che abbiamo il dovere di andare dove possiamo trarre/apportare valore, e si basa su quattro principi.
- Quando comincia è il momento giusto.
- Chiunque venga è la persona giusta.
- Quando è finita, è finita.
- Qualsiasi cosa accada, è l’unica che poteva accadere.
Come i calabroni e le farfalle, i partecipanti sono liberi di spostarsi di stanza in stanza, trasportando in questo caso informazione e conoscenza.
Fabio Ghislandi, Executive Agile Coach nonché partner d’Intré, insieme ad Alessandro Giardina hanno coordinato il marketplace, il momento durante il quale viene generato il programma della unconference. Ciascun partecipante ha presentato il titolo della propria sessione e una breve spiegazione, e ha posizionato il post-it con queste informazioni in uno degli slot orari predisposti nell’agenda. Terminate le presentazioni, abbiamo dedicato alcuni minuti per confermare l’attuale configurazione delle presentazioni o apporre delle modifiche, rispettando un’unica regola: solo il proprietario di uno slot può spostare il proprio post-it, ed è qui che inizia la trattativa.
Nei prossimi paragrafi potrete leggere una sintesi di tre sessioni che ho avuto il piacere di seguire.
- Delitti in ambasciata – Come affrontare le analisi e sopravvivere allo stress
- Rumore e Giudizio
- From legacy to freedom: a futuristic approach to dealing with legacy software modernization
Delitti in ambasciata – Come affrontare le analisi e sopravvivere allo stress
Marco Loregian ha trattato un tema assai caro a ogni sviluppatore: l’incertezza delle informazioni. A chi non è mai capitato di dover sviluppare qualcosa senza avere ben chiaro il problema da risolvere, l’approccio più adatto da usare, eventuali insidie nascoste nel contesto, le limitazioni della tecnologia che si sta utilizzando ecc.
Nessun problema, la soluzione esiste e si può riassumere con una parola: spike. Che cos’è?
È una pratica derivata dall’Extreme Programming (XP) nella quale si individua una attività che necessita di ulteriori approfondimenti rispetto a quanto preventivato
Spesso una storia, anche se già inserita nel backlog, non può essere (compresa e) stimata prima che il team di sviluppo inizi a fare del lavoro per risolvere un problema tecnico o di design. Uno spike è il lavoro che si fa per raccogliere informazioni, fornire una risposta a una domanda o una proposta di soluzione tecnica iniziale. Non è detto che uno spike porti a un effettivo Potentially Shippable Product Increment (PSPI), ma magari a una revisione dei lavori in corso d’opera (agendo come feedback). Ovviamente non bisogna esagerare con gli spike, nell’ottica Inspect and Adapt si deve agire in modo che il team possa ragionare e lavorare progressivamente in maniera informata.
Lo spike SMART
Qual è quindi l’outcome dello spike? Ciò che più conta è fornire una risposta alla domanda. L’importante è fornirla subito (all’inizio di un documento scritto, o di una presentazione) e presentarla in modo SMART.
- Specific: come si risolve il problema.
- Measurable: come cambia la situazione.
- Actionable: dimostrare che la soluzione è fattibile.
- Relevant: dimostrare che c’è un impatto significativo (per l’utente).
- Time-bound: stimare la complessità.
Tutto il resto rischia di essere rumore:
- evitare le digressioni;
- evitare affermazioni vaghe, bisogna essere conclusivi;
- essere impersonali: il protagonista è il prodotto, il sistema o una tecnologia;
- se esistono risorse che approfondiscono un aspetto, inserire un link, un riferimento;
- non servono troppe parole, a volte una tabella chiara e completa è più che sufficiente.
Rumore e Giudizio
Pierpaolo Muzzolon, nostro gradito ospite con il quale collaboriamo per attività di formazione legate alla Comunicazione Efficace e al Public Speaking, ha trattato due argomenti legati l’uno con l’altro: Rumore e Giudizio. Per la sua presentazione Pierpaolo ha preso spunto dal libro “Rumore: Un difetto del ragionamento umano” di Daniel Kahneman, famoso psicologo premio nobel grazie alle ricerche svolte che aiutarono a comprendere e a individuare i processi decisionali in ambito economico, noto anche per i suoi studi sui bias cognitivi (sull’argomento consiglio la lettura del libro “Pensieri lenti e veloci“).
Il giudizio è una forma di misurazione il cui strumento è la mente umana.
Giudizi predittivi e valutativi
I giudizi integrano in maniera informale diverse informazioni in una valutazione complessiva. Non si tratta di calcoli o dell’applicazione di regole precise: un insegnante usa il giudizio per valutare un tema, ma non per assegnare un voto a un quiz a risposta multipla. Pierpaolo ha spiegato le due categorie in cui suddividere i giudizi.
- Predittivi. Alcuni di questi sono verificabili: prima o poi scopriremo se erano corretti. Il caso tipico è quello delle previsioni a breve termine su risultati quali gli effetti di un trattamento medico, l’andamento di una pandemia o gli esiti di un’elezione. Ma una gran parte di questi, per esempio le previsioni a lungo termine e le risposte a domande fittizie, non sono verificabili, e la loro qualità si può valutare solo sulla base di quella del processo di pensiero da cui sono emersi.
- Valutativi. La condanna emessa da un giudice o la posizione che si aggiudica un dipinto nella classifica di un premio non sono confrontabili con un valore reale oggettivo. Curiosamente, però, chi esprime un giudizio si comporta sempre come se questo valore reale esistesse, come se vi fosse un bersaglio invisibile a cui puntare, impossibile da mancare di molto. Con l’espressione giudizio opinabile si indica sia la possibilità di un disaccordo, sia l’aspettativa che tale disaccordo sarà limitato.
Giudizio, Rumore e Bias
Quindi possiamo pensare che Giudizio e Rumore siano legati tra loro? Pierpaolo ha riportato l’esempio di quattro team coinvolti in una gara di tiro al bersaglio.
Possiamo dire che la squadra B è affetta da bias – cioè da un errore sistematico, che ricorre in maniera prevedibile in particolari circostanze -, perché i suoi tiri cadono sistematicamente fuori dal centro del bersaglio. Trattandosi di una deviazione costante, come illustra la figura, è possibile fare una previsione: se un membro di quella squadra dovesse fare un altro tiro, c’è da scommettere che cadrebbe nella stessa zona dei primi cinque. La costanza di questa deviazione ci induce poi a cercare una spiegazione causale: forse il mirino del fucile assegnato a questo gruppo era nella posizione sbagliata.
La squadra C, invece, potremmo definirla affetta da rumore, perché i suoi tiri sono sparpagliati qua e là. Non c’è un’ovvia deviazione, in quanto i colpi si concentrano in un’area uniforme intorno al centro del bersaglio. Se un membro della squadra facesse un altro tiro, difficilmente sapremmo prevedere dove andrebbe a colpire. Inoltre non ci viene in mente nessuna ipotesi interessante per spiegare i risultati di questa squadra. Capiamo che i suoi membri sono scarsi come tiratori, ma non sapremmo spiegare il perché di tanto rumore.
La squadra D è affetta tanto da bias quanto da rumore. Come per la B, i suoi tiri mancano sistematicamente il centro, e come per la C, sono sparpagliati qua e là.
Bias e rumore – deviazione sistematica e dispersione casuale – sono due diverse componenti dell’errore. I bersagli ne illustrano la differenza.
Il tiro a segno funge da metafora per gli sbagli che è possibile commettere nel giudicare, specialmente nelle decisioni di vario tipo che occorre prendere per conto di un’organizzazione.
In tali situazioni, troveremo i due tipi di errore illustrati nella figura. Certi giudizi sono affetti da un bias: mancano sistematicamente il bersaglio, mentre altri sono intaccati dal rumore, come quando individui che dovrebbero convenire su un punto colpiscono zone diversissime del bersaglio.
Nel resto del tempo a sua disposizione Pierpaolo ha analizzato assieme ai presenti alcuni casi della nostra vita in cui i giudizi sono affetti da rumore (la medicina, le previsioni, i colloqui di selezione, la libertà provvisoria ecc.) e ha toccato un altro interessante concetto, il rumore occasionale.
From legacy to freedom: a futuristic approach to dealing with legacy software modernization
Mauro Sanfilippo, CTO di Sme.UP e nostro gradito ospite della giornata, ci ha presentato Smeup data platform, la soluzione che Sme.UP adotta per gestire l’annoso problema del legacy code, o meglio del software legacy. Smeup data platform, sviluppata dal reparto R&D dell’azienda, è un software enterprise per medie e grandi imprese, nato inizialmente per IBM i a fine anni ’80 (quindi nel tempo diventato legacy). In che modo hanno affrontato questo processo di modernizzazione? La piattaforma è in poche parole “un software a supporto di coloro che realizzano software” sviluppata in RPG, un linguaggio proprietario IBM.
Evitare la modernizzazione e quindi il software legacy è impossibile, si può però minimizzarne il costo, è tutta una questione di design. Mauro ha spiegato i principi di design applicati per realizzare la piattaforma, tra i quali: Clean Architecture, separazione tra View e Presentation dei dati, Data Abstraction, uso di servizi interni, stratificazione del backend, uso di componenti frontend e backend.
Smeup data platform e tutti i tool vengono utilizzati dai Delivery Consultant, persone che seguono i clienti e che implementano le loro soluzioni quando non sono già presenti nel software standard. Dato che è davvero complicato avere ogni consulente sempre aggiornato da un punto di vista applicativo e soprattutto tecnico, è importante fornire loro degli strumenti soluzione a un livello di astrazione quanto più possibile alto. Ecco che entrano in gioco i DSL, ovvero linguaggi di programmazione/scripting/definizione e configurazione ad hoc per uno specifico dominio applicativo, oggetto della seconda metà della presentazione di Mauro.
A questo link trovate la registrazione dell’intervento di Mauro alla Codemotion Online Tech Conference del 2020.
Visita alla cantina e degustazione 🍷
Al termine della unconference ci siamo ritrovati nelle cantine per un ultimo interessantissimo appuntamento.
Gianluigi Vimercati Castellini, tra i titolari insieme alla sorella Francesca, ci ha guidati all’interno delle cantine per fornirci interessanti informazioni inerenti alla produzione dei loro vini.
Personalmente degna di nota è stata la spiegazione del metodo classico (o champenoise, che prende nome dalla regione francese dello Champagne, a opera del monaco Dom Perignon che diede vita alla forma primigenia dello champagne). La particolarità di tale metodo è quella d’indurre la rifermentazione in bottiglia, attraverso l’uso di zuccheri e lieviti. Grazie a questo processo il vino acquisisce la sua pressione che dà origine alle tanto amate e desiderate bollicine. Dopo una prima fase di riposo le bottiglie vengono posizionate in appositi cavalletti che tengono le bottiglie a testa in giù, in questo modo i depositi si posizionano sul tappo. Successivamente si passa alla fase detta “degorgement”, nella quale si stappa la bottiglia per eliminare i residui e rabboccare con uno sciroppo di vino e/o zucchero al fine di ottenere il cuvee desiderato.
La visita e la giornata di Intré Camp si è conclusa con una degustazione di satèn, un vino DOCG la cui produzione è consentita nella provincia di Brescia.
Conclusioni
L’Intré Camp del 3 ottobre è stata una giornata molto intensa, passata tutti insieme nella splendida cornice del territorio della Franciacorta. Sono certo che ognuno dei partecipanti si sia portato a casa qualcosa, il famoso “take-away” per usare una buzzword, che sia dalla unconference, dalla gildonferenza, dalla degustazione di vino o anche da una semplice chiacchierata con i presenti.
Ringrazio tutti gli ospiti che hanno partecipato all’evento, sempre più numerosi e felici di dare il loro contributo alla unconference.
Un ultimo grande grazie va ovviamente a Intré, che ogni quattro mesi si impegna affinché l’Intré Camp sia realtà e soprattutto sia migliore di quello precedente.