Deploy Value, Learn

Intré Camp 1° febbraio 2023 – Cascina La Lodovica

14 Febbraio 2023 - ~ 12 minuti di lettura

Bentrovati cari lettori con il primo articolo del 2023 dedicato a un nostro camp aziendale.

Negli ampi e curati spazi della dimora di campagna “La Lodovica” abbiamo trascorso un’intera giornata insieme al primo Intré Camp del 2023, precisamente mercoledì 1° febbraio.

Come sempre, l’agenda è stata ricca di appuntamenti, tra i quali hanno spiccato la gildonferenza e la unconference. In questo articolo vi fornirò i resoconti, corredati da qualche foto, dei momenti che hanno caratterizzato il camp.

Introduzione

Francesco Rigillo, CEO di Intré, ha come da tradizione aperto l’Intré Camp fornendo a tutta l’azienda un riepilogo sul business e sui risultati raggiunti nel 2022 e dando una visione sulle sfide e le iniziative interne delle quali ci occuperemo nel 2023.

Iniziative interne

  • i3academy: un’iniziativa partita lo scorso anno dopo essere stata annunciata al camp di ottobre 2022. Sono state coinvolte 8 persone – 4 mentori e 4 mentee – organizzate in coppie che hanno lavorato in modo autonomo affrontando diversi argomenti e lavorando utilizzando diversi approcci. L’esperimento è andato bene, e sicuramente continuerà.
  • I Wanna Be A Speaker: come suggerisce il nome, Intré vuole ridare linfa vitale a un’attività molto importante, ovvero promuovere la partecipazione alle principali conferenze nei settori dello sviluppo software, del design e dell’Agilità sia come pubblico che come speaker.
  • Newsletter interna: nel mese di febbraio abbiamo inaugurato la nostra newsletter aziendale, uno strumento utile a tutte le persone perché le aiuterà a sentirsi parte di Intré, rafforzando il senso di appartenenza di ognuno di noi.

Gildonferenza

Da anni oramai dedichiamo una buona parte dei nostri camp a questo appuntamento, e l’Intré Camp di febbraio 2023 non ha fatto eccezione. Il termine gildonferenza è una fusione delle parole gilde e conferenza, in buona sostanza è 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.

Nella pagina “Gilde” del nostro sito aziendale trovate le schede riassuntive di queste ultime gilde e delle precedenti.

Gilda “Big Brain”

La gilda si è posta fin da subito un obiettivo principale: produrre modelli di Machine Learning in ambito “Defect Detection” adottando un approccio “learning by doing”.
Il team ha sperimentato diverse librerie esistenti per creare modelli di M.L., migliorandoli di volta in volta al fine di avere un livello di accuratezza sufficiente a renderli utilizzabili per casi d’uso reali. Ogni incontro è stato documentato in un notebook utilizzando Kaggle.

L’obiettivo è stato raggiunto, è stato infatti realizzato un modello di M. L. generico, facilmente adattabile a più contesti di “Defect Detection”, che è stato oggetto di una sessione di unconference al camp.

Gilda “D&D”

È possibile fare attività di team building giocando a Dungeons & Dragons, il gioco di ruolo fantasy più celebre al mondo? La risposta è “Sì!”. I partecipanti di questa gilda si sono sì divertiti giocando, ma hanno anche e soprattutto imparato a lavorare insieme, nonostante l’eterogeneità dei vari elementi del gruppo, adottando il framework Scrum per la creazione delle campagne, ovvero delle storie. Di volta in volta, grazie ai feedback raccolti, il Dungeon Master ha affinato la campagna seguendo le nuove specifiche.

Come risultato della gilda il team ha pubblicato sul nostro blog un articolo sui principi Agili e D&D, due mondi più vicini di quanto si possa pensare.

Gilda “Fluttermania”

Questa gilda è nata per approfondire le conoscenze su Flutter e mettere in pratica quanto appreso in un caso di studio, una app che aiuti l’utente a rimanere aggiornato sulle conferenze. Il team, composto da sviluppatori e designer, ha dedicato i primi incontri allo studio sul linguaggio Dart e su Flutter per poi dedicarsi allo sviluppo dell’app attraverso 3 fasi:

  • workshop: sono state organizzate sessioni di brainstorming, è stata decisa l’architettura dell’informazione e infine sono stati realizzati i wireframe;
  • UI design: sviluppo dei componenti delle schermate dell’app;
  • integrazione di tool e funzionalità come Firebase (per la gestione di database e dell’autenticazione), la mappa geografica e la gestione delle notifiche.

Alla unconference di questo primo Intré Camp del 2023 i partecipanti della gilda hanno organizzato una sessione di approfondimento sull’architettura e il codice sviluppato per l’app.

Gilda “Gildoppiaggio, contro li gnoranza”

Approfondire le conoscenze sull’arte del doppiaggio, e provare a metterci la voce. Durante questa gilda i partecipanti, con l’aiuto di Alessandro Rota, hanno svolto un percorso sia teorico che pratico (con doppiaggi di spot pubblicitari, cartoni animati e scene di film).

Come risultato finale, il team ha doppiato un video aziendale sul tema “gli errori più comuni che si commettono durante un Daily Scrum Meeting”, a sua volta risultato della gilda AgiLEGO, che potete vedere e ascoltare nel nostro canale YouTube. Alla unconference del camp è stata organizzata una sessione pratica di doppiaggio.

Gilda “GNUcca”

La gilda GNUcca è nata per raggiungere un duplice obiettivo: imparare Linux partendo dalle basi per conoscere ogni suo aspetto (dalla diagnostica dei problemi più comuni all’amministrazione) e ottenere la certificazione LPIC-1.

I partecipanti hanno studiato dai libri di riferimento “LPIC-1 Linux Professional Institute Certification Study Guide” e “Linux Professional Institute: LPIC-1 (101)” e si sono esercitati prendendo il materiale dal libro “LPIC-1 Linux Professional Institute Certification Practice Tests“. Per prepararsi al meglio all’esame, sono state svolte simulazioni sul sito “Wiley“.

Gilda “i3Tombolata”

Come suggerisce il nome, questa gilda si è dedicata all’implementazione di una Web app per la gestione delle partite del gioco della Tombola.
Nei diversi incontri il gruppo si è occupato dello sviluppo dell’applicazione (frontend in Vue.js, backend in Java e Spring Boot) e dell’organizzazione della tombolata aziendale per la cena di Natale 2022. Queste sono state le principali attività svolte:

  • revisione della User Interface dell’applicazione;
  • refactoring del codice del backend;
  • organizzazione della Tombolata aziendale (comprese le attività di scelta e acquisto dei diversi premi, la realizzazione pacchi e la creazione delle cartelle fisiche).

Gilda “Keep in TouchDesigner”

TouchDesigner è un linguaggio di programmazione a nodi per la creazione di contenuti multimediali interattivi in tempo reale. La gilda si è articolata in due principali fasi:

Alla unconference i partecipanti della gilda hanno tenuto una sessione di approfondimento sulla tecnologia TouchDesigner.

Gilda “NearlyHeadlessNick – NHN Cms”

Questa gilda vuole essere l’inizio di un nuovo progetto. Ciò che conta è dare importanza alla qualità, quindi in questa prima iterazione i partecipanti si sono focalizzati sullo sviluppo di un MVP “headless” di un CMS, precisamente un set di API esposte da microservizi modulari.

Il codice del progetto NHN Cms è stato reso disponibile su GitHub e per la unconference i membri della gilda hanno organizzato una sessione tecnica di approfondimento sul progetto stesso.

Gilda “Swift”

La gilda è nata per imparare a sviluppare con il linguaggio Swift, ideale per la realizzazione di applicazioni per il mondo Apple, in particolare per i dispositivi iPhone.
Grazie alla consulenza fornita da Nicola Garone il team ha approfondito diversi argomenti (applicati al progetto di una mobile app di nome “i3Tainment”), tra i quali:

  • ciclo di vita di una mobile app iOS;
  • form inserimento dati, Table view, navigation, chiamate REST, UIKit, SwiftUI, alert, sheet, dati da environment, interazione con gesti dell’utente;
  • keychain, autorizzazioni per l’accesso alla posizione/contatti, notifiche Push;
  • organizzazione del codice e delle strutture dati per facilitare sviluppo di mockup e di preview;
  • OpenID per autenticazione integrato con un altro servizio aziendale interno;
  • Package manager: CocoaPods e Swift Package Manager.

Per la unconference è stata organizzata una sessione tecnica dedicata a UIKit e SwiftUI.

Unconference

Alessandro Giardina, Agile Delivery Manager e responsabile della formazione in Intré, e Fabio Ghislandi, Executive Agile Coach nonché partner di Intré, hanno facilitato la unconference.

Dopo aver spiegato a tutti i presenti le regole e i principi che regolano una unconference, una conferenza la cui agenda è organizzata al momento e dai partecipanti, Alessandro e Fabio hanno moderato il marketplace. In questo momento, durante il quale viene effettivamente generato il programma della unconference, ciascun partecipante, munito di post-it, presenta la propria sessione e lo posiziona in uno degli slot orari predisposti nell’agenda.

Terminate le presentazioni, sono stati dedicati alcuni minuti per confermare l’attuale configurazione delle presentazioni o apporre delle modifiche, rispettando un’unica regola: solo chi chiede uno spostamento, insieme al proprietario del post-it coinvolto, può prendere una decisione in merito.

I prossimi paragrafi sono dedicati alle sintesi delle sessioni che ho seguito.

Etica e AI

Recentemente si parla sempre più spesso di ChatGPT, Intelligenza Artificiale…e di quali implicazioni ci potrebbero essere nelle nostre vite.
Francesco Sacchi, Matteo Franchini e Domenico De Angelis hanno trattato questo tema suddividendo il tempo a loro disposizione in due momenti.

Etica dell’IA

Domenico ha curato una breve presentazione sull’etica dell’Intelligenza Artificiale. Partiamo da una sua definizione.

“L’Intelligenza Artificiale (I.A.) è una disciplina che mira a creare sistemi che riescano a svolgere compiti che richiedono intelligenza umana.”

Due sono i grandi filoni da considerare: l’Apprendimento Automatico, meglio conosciuto come Machine Learning, e l’Apprendimento Profondo, noto con i termini Deep Learning.

Riguardo all’etica dell’I.A., Domenico ha ricordato alcuni episodi, recentemente accaduti, per i quali forse vale la pena riflettere:

  • un articolo del 3 gennaio 2023 racconta quanto accaduto al cittadino americano Randall Reid, arrestato per un crimine commesso in Louisiana, “grazie” al risultato fornito da un algoritmo d’identificazione facciale. C’è un problema. Quest’uomo ha dichiarato, tramite il suo avvocato, di non essere mai stato in Louisiana.
  • Qualche anno fa a Hong Kong sono state installate delle “smart lamp”, lampioni intelligenti destinati a misurare le condizioni del traffico, le informazioni meteorologiche e i dati sulla qualità dell’aria, oltre a monitorare le discariche abusive e a fornire servizi Wi-Fi gratuiti. Molti cittadini si sono lamentati perché temevano che questi lampioni potessero contenere telecamere ad alta tecnologia e software di riconoscimento facciale utilizzati per la sorveglianza da parte del governo cinese.
  • Nel 2018, in Arizona, un’auto a guida autonoma di Uber ha investito e ucciso una donna.
  • ChatGPT, un prototipo di chatbot conversazionale molto utilizzato negli ultimi tempi, è stato utilizzato da Domenico per la preparazione delle slide che ha presentato alla unconference.

ChatGPT, GitHub Copilot e Dall-E

Francesco e Matteo hanno realizzato delle piccole demo per mostrare ai presenti le potenzialità offerte da 3 servizi di Intelligenza Artificiale e Machine Learning, tutti sviluppati da OpenAI.

ChatGPT non ha bisogno di presentazioni, è uno dei servizi più utilizzati negli ultimi tempi in quanto, grazie alla semplicità di interazione, si pensa che possa rimpiazzare gli attuali motori di ricerca e addirittura che possa sostituire l’uomo in alcune professioni (quali ad esempio il copywriter, lo scrittore ecc.). Questo chatbot conversazionale a oggi è gratuito, basta creare un account e potete utilizzare, tra gli altri, il vostro account Google.

GitHub Copilot è a tutti gli effetti un “pair programmer artificiale“, o meglio un compagno per la scrittura di codice. Parliamo di uno strumento per l’autocompletamento del codice basato su OpenAI Codex, disponibile sia per IDE IntelliJ che per Visual Studio Code. Di recente Matteo ha scritto un interessante articolo a riguardo, ve ne consiglio la lettura.

Dall-E (oggi alla versione 2) è un modello di intelligenza artificiale che produce immagini da descrizioni testuali esprimibili in linguaggio naturale. Dall-E, dato in input un testo o una combo “testo + immagine”, restituisce come risultato un insieme di immagini.

Humble Inquiry – Quando ascoltare è meglio che parlare

Pierpaolo Muzzolon, nostro gradito ospite e nel recente passato coach per attività di formazione interna legate alla “Comunicazione Efficace” e “Public Speaking“, ha trattato un tema molto interessante in questa unconference del primo Intré Camp del 2023.
Nel mondo in cui viviamo, dove si erogano facilmente soluzioni a bisogni spesso virtuali, si danno suggerimenti non richiesti, si afferma tanto ma si ascolta davvero poco. Come sostiene Edgar H. Schein, nel suo libro “L’arte di far domande. Quando ascoltare è meglio che parlare“:

“privilegiamo il dire rispetto al domandare perché viviamo in un cultura pragmatica e orientata alla risoluzione dei problemi, che dà valore al sapere e al comunicare agli altri ciò che sappiamo.”

Per costruire relazioni fondate sul dialogo e il rispetto reciproco è fondamentale imparare a fare più domande.

Schein ha coniato l’espressione “humble inquiry” (che è anche il titolo originale del suo libro e del talk di Pierpaolo) che tradotto significa umile ricerca di informazioni“.
La nostra cultura è orientata ai compiti da svolgere, è una cultura del fare e del dire. Privilegiamo il dire rispetto al domandare e diamo la precedenza al fare rispetto al rapportarsi compromettendo così la nostra capacità a costruire relazioni. Quello che genera fiducia – alla base di ogni relazione positiva – è chiamato “umile ricerca di informazioni”:

“l’arte sottile di indurre l’interlocutore ad aprirsi, di fare domande di cui non si conosce la risposta, di costruire una relazione fondata sulla curiosità e l’interesse per l’altra persona”.

Se ci pensiamo bene, “non ci rendiamo conto di quanto spesso le nostre domande, in realtà, non siano altro che affermazioni espresse in forma diversa – cioè domande retoriche o poste solo per verificare la correttezza di qualcosa che già riteniamo giusto.”

I 3 tipi di umiltà

Schein individua 3 tipi di umiltà:

  • Umiltà di base: quella dovuta alle classi superiori nelle società tradizionali o quella che sentiamo di dovere agli altri quali essere umani.
  • Umiltà facoltativa: quella che si prova nei confronti delle persone di successo.
  • Umiltà del “qui-e-ora”: quella che si prova quando si sente di dipendere da qualcuno (anche solo per un’informazione).

L’ultima delle 3 umiltà è quella difficile da mettere in pratica, anche perché spesso si preferisce fallire pur di non riconoscere la propria dipendenza dagli altri.

Il fatto è che siamo inseriti in un mondo sempre più complesso dove siamo tutti interdipendenti.
La relazione è la chiave di una buona comunicazione, la buona comunicazione è la chiave del successo nell’esecuzione di un’attività e l’umile ricerca di informazioni fondata sull’umiltà qui-e-ora è la chiave di una buona relazione.

Semantic Web

Marco Loregian, Agile Delivery Manager in Intré, ha ripreso un argomento di cui Tim-Berners Lee iniziò a parlare nell’oramai lontano 2001: il Semantic Web, tradotto in Web Semantico. Marco, non nuovo a questa tematica (se siete interessati, potete leggere le sue pubblicazioni passate), ha fornito una panoramica della situazione.

L’obiettivo del Web Semantico

Il Web Semantico ha un grande obiettivo: creare un Web più intelligente, in cui i dati possono essere facilmente compresi e utilizzati dalle macchine, rendendo possibili nuove applicazioni e migliorando la fruibilità del web per gli utenti finali. Esiste un enorme problema di fondo: i dati, ovvero far sì che debbano essere scoperti, elaborati e combinati da diverse applicazioni e sistemi.

Che cosa serve per implementare il Web Semantico?

  • Description Logic (DL), tradotto Logica Descrittiva, ovvero una branca della logica matematica che si concentra sulla descrizione di fatti e relazioni. Il Web Semantico la utilizza per descrivere i dati pubblicati in rete e le connessioni tra di essi, utilizzando ontologie.
  • Ontologia, un modello formale delle conoscenze in un determinato dominio: descrive in astratto le proprietà e i concetti presenti in quel dominio, e le relazioni tra di essi. Le ontologie sono utilizzate per descrivere come i dati possono essere utilizzati (interpretati) e combinati fra loro. Ma non basta definire le classi di oggetti e i collegamenti per costruire qualcosa che funziona.
  • Inferenza: la DL permette di definire le regole di inferenza che consentono alle macchine di dedurre nuove informazioni a partire dai dati esistenti.
  • Partendo da questi concetti, è possibile definire diversi tipi di algoritmi:
    • Linked Data: pubblicazione e utilizzo di dati Resource Description Framework (RDF) su Internet, in modo che i dati possano essere facilmente collegati e riutilizzati da diverse applicazioni.
    • Reasoning: inferenza logica, che consente di dedurre nuove informazioni partendo dai dati esistenti.
    • Ontology Matching: corrispondenza tra ontologie, che consente di combinare facilmente i dati provenienti da diverse fonti.
    • Ontology Alignment: allineamento tra ontologie, che permette di mappare i concetti e le relazioni tra ontologie diverse.
    • Text mining: estrazione di informazioni semantiche da un testo non strutturato e loro utilizzo per descrivere i dati in modo semantico.
    • Natural Language Processing: elaborazione del linguaggio naturale, per comprendere il significato del linguaggio utilizzato dagli utenti e utilizzarlo per rispondere alle loro domande.

Come si implementa tutto ciò?

Esistono diverse tecnologie e standard per descrivere i dati e le relazioni tra di essi, uno di questi è il Resource Description Framework. Questo standard consente di descrivere i dati come triplette di “soggetto”, “predicato” e “oggetto”. Utilizza URI che possono identificare i soggetti e gli oggetti, consentendo di creare link tra i dati e utilizzare i dati in modo più efficace. RDF utilizza vocabolari come RDFS (RDF Schema) e Web Ontology Language (OWL) per descrivere i concetti e le relazioni tra di essi.

Il Web Semantico oggi, nel 2023

Esistono diversi servizi di Web semantico, tra i quali figurano:

  • DBPedia: una versione semantica di Wikipedia, che utilizza RDF per descrivere le informazioni e consente di accedere alle informazioni utilizzando query SPARQL;
  • MusicBrainz: una base di dati di musica semantica che utilizza RDF per descrivere le informazioni su artisti, album e tracce musicali;
  • OpenLink Data Explorer: un’interfaccia Web che consente di esplorare e visualizzare i dati RDF in modo semantico.

Rispetto ai primi anni 2000 però, non sono stati fatti enormi progressi e il Web Semantico continua a non essere diffuso. I motivi sono diversi:

  • enorme sforzo richiesto per adottare formati come RDF e ontologie;
  • mancanza di standard dominanti, ce ne sono tanti e lo stesso vale per le tecnologie a disposizione;
  • limiti delle tecnologie attuali (SPARQL e inferenza logica);
  • mancanza di un business model che lo renda attraente per gli investitori e le aziende;
  • limitazioni della capacità delle macchine.

Conclusione

Terminata la unconference ci siamo ritrovati nella sala conferenze dove abbiamo aperto questo primo Intré Camp del 2023.

Francesco Rigillo, Fabio Ghislandi e Giulio Roggero hanno animato un piccolo momento di retrospettiva sulla giornata di camp, dando la parola a chiunque volesse lasciare un feedback sull’evento. È stato anche il momento delle premiazioni per i migliori interventi della unconference, come potete vedere nelle foto seguenti.

Ringrazio tutti gli ospiti che hanno partecipato all’evento, e al grande contributo che hanno fornito durante le sessioni di unconference, e ovviamente Intré, che costantemente si impegna per dare vita a queste giornate.

Articolo scritto da