- ° quarter

Gilde: accrescere e condividere le conoscenze

Ogni settimana dedichiamo parte del nostro tempo per lavorare all'interno delle Gilde. Le Gilde sono gruppi di persone cross team, che nascono con lo scopo di apprendere e condividere le conoscenze. Ogni quattro mesi si formano nuove Gilde sulla base degli argomenti proposti liberamente da ogni persona.
2021 1Quarter

Usa la forza

Obiettivo della gilda ha riguardato lo studio di Unity, un motore grafico multipiattaforma che consente lo sviluppo di videogiochi e altri contenuti interattivi, e la sperimentazione del NextMind Dev Kit. Il kit comprende un dispositivo indossabile brain-sensing che, grazie ad un’interfaccia cervello-computer non invasiva, traduce istantaneamente i segnali cerebrali dalla corteccia visiva dell’utente in comandi digitali per qualsiasi dispositivo.

L’output di questa gilda è stata una presentazione del lavoro svolto, una sessione di live-coding in Unity e una demo di un’avventura grafica 3D per macOS e Windows realizzata dai partecipanti della gilda.

Mob Programming

Una gilda dedicata all’approfondimento della pratica del Mob Programming, una evoluzione del Pair Programming in cui i tutti i membri del team collaborano sulla stessa attività usando un solo computer.

I partecipanti della gilda hanno innanzitutto partecipato ad un workshop tenuto da Woody Zuill – uno dei pionieri del mob programming- e nei mesi successivi hanno sperimentato questa modalità di lavoro nei rispettivi team.

Come risultato è stato realizzato un articolo di approfondimento sul Mob Programming spiegando nel dettaglio i ruoli e le dinamiche di questa pratica, fornendo anche delle interessanti riflessioni figlie dell’esperienza.

i3Portal

Questa gilda è nata con lo scopo di rendere più snella l’attuale modalità di rendicontazione nota spese, che prevede la compilazione di diversi fogli Excel.
L’idea è realizzare un portale web, basato sul framework Django per il backend e React per il frontend, ad uso interno.

L’obiettivo è stato presentare un MVP dell’applicazione contenente alcune funzionalità: la navigazione del portale, la localizzazione, la compilazione del foglio delle percorrenze chilometriche.
La gilda prosegue nella prossima iterazione per completare l’implementazione del portale.

CEH

Una gilda dedicata allo studio della sicurezza informatica.
L’acronimo CEH sta per Certified Ethical Hacker, la certificazione che si può prendere a fine corso che prevede lo studio del libro “CEH Certified Ethical Hacker”.

Data la vastità degli argomenti trattata nel libro, il team si è organizzato con sessioni di studio individuali ed esercitazioni di gruppo quali: l’invio di email con mittente fittizio, ottenere tutti i dati possibili su un sito/dominio o simulare un password attack su sistemi Windows e Ubuntu. Nel corso degli incontri sono stati utilizzati diversi strumenti (Raspberry PI, un modem-router) e sperimentate diverse tecnologie. Questo sforzo ha permesso al team di coprire i primi 5 capitoli del libro.

Come risultato di questo primo episodio della gilda (è prevista una seconda iterazione) è stato organizzato un workshop interno per dimostrare come si può crackare una password in Windows.

Jay-Off

Il nome della gilda altro non è che una fusione di due parole: Javascript e Pay-Off.

Durante questa iterazione il gruppo si è concentrato sul secondo macro-obiettivo dei due pensati inizialmente (lo studio su Javascript verrà svolto nel secondo quadrimestre), un lavoro iniziato nel 2019 durante un workshop sul pay-off. Da tre cartelloni ricchi di parole ed espressioni utili a definire ognuno dei tre pillar del motto, la gilda ha svolto un lavoro di analisi sulle nove keyword risultanti per capire quali possano essere i touchpoint digitali (e fisici) adatti a raccontare il nostro motto.
Per i tre touchpoint (handbook, carte e poster) il team ha svolto un lavoro di ricerca stilistica e definizione dei contenuti, e preparato una prima versione da mostrare come output. Un lavoro destinato a continuare, magari con un’altra gilda.

Scrum

Questa gilda è nata in corsa con lo scopo di introdurre i nuovi arrivati al mondo delle metodologie Agili e Scrum.

Durante gli incontri sono state trattate le seguenti tematiche: Scrum, retrospettive, planning refinement, review, XP e Kanban. E’ stata organizzata una meta-retrospettiva e infine una sessione per produrre un articolo di approfondimento, che racconta i primi mesi d’esperienza lavorativa in un’azienda che applica principi agili.

2020 3Quarter

Reactiva

Lo scopo di questa gilda è di irrobustire la conoscenza di React, sia per esigenze di progetto che per curiosità personale.
A tale scopo si avvale della esperienza e della conoscenza di programmatori esperti di Intré, favorendo così il trasferimento e la diffusione delle esperienze tra i membri dell’azienda e si avvale inoltre di corsi sia online che con tutor in presenza per una didattica più strutturata.
Oltre ad una base teorica, punta molto su esercitazioni e prove “hands-on” per mettere in pratica quanto appreso, per verificare l’effettiva comprensione, ma soprattutto per rendere l’apprendimento più coinvolgente e partecipato.

Gilda Adoratori del Pythone – il ritorno

Questa gilda è la prosecuzione naturale della gilda Pythoff (introduzione a Python); in questa nuova iterazione il focus è stato dato allo sviluppo web, in particolare al framework Django considerato il più completo, stabile e con una lunga storia di sviluppo disponibile per Python.
Altro punto a favore ha riguardato l’attività di coaching (Raffaele Colace, 20tab SRL), possibile proprio grazie alla scelta di Django.
La gilda si è strutturata in 2 fasi:

  • studio individuale del tutorial presente sul sito di Django in modo tale da avere un minimo di familiarità con lo strumento;
  • implementazione insieme di una semplice applicazione, completa di pipeline di CI/CD e integrata con LDAP aziendale, che consentisse di rendicontare i rimborsi chilometrici.

La scelta di questo tipo di applicazione è stata presa nell’ottica di sviluppare qualcosa di realistico che comprendesse tutti i principali aspetti dello sviluppo web e che, una volta raffinata e ottimizzata, potesse (plausibilmente) rimanere come strumento aziendale.

Analytics e rudimenti di Javascript

La gilda è nata con lo scopo di cercare migliorare le conoscenze in merito all’analisi e miglioramento della UX per i siti. Per questo possiamo definire due obiettivi:

  • Acquisizione di un nuovo strumento per la comprensione e l’analisi dell’esperienza utente su un sito web.
  • Ottenimento delle conoscenze necessarie al monitoraggio e al miglioramento dei siti aziendali.

Per la parte di analitici, gran parte del tempo è stato dedicato a due corsi da remoto:

  • Per la parte di analitici, tramite Digital Pills sono state apprese una serie di competenze tecniche legate all’utilizzo dei principali strumenti della suite di Google: Google Tag Manager, Google Data Studio, Google Analytics.
  • Grazie a GialloCobalto ci siamo confrontati con la metodologia di lavoro di un altro studio di User Experience, specializzato in questo ambito.

Per quanto riguarda la parte Javascript invece l’obiettivo è l’acquisizione della conoscenza delle basi di programmazione legate allo sviluppo web con focus sul suo utilizzo per la prototipazione rapida di UI e per l’animazione di siti web. Per questo abbiamo seguito un corso online su Skillshare.

Realtà aumentata in Kotlin

Scopo della gilda è apprendere le basi sia del linguaggio Kotlin e addentrarsi nel mondo dell’AR, realtà aumentata.

Inizialmente è stata fatta un’analisi per capire che cosa Kotlin può offrire in più rispetto ad altri linguaggi come Java, poi grazie alla consulenza di un coach esperto in applicazioni Android
è stata implementata una semplice app.

Anche per la parte di AR si voleva fare affidamento ad un coach, ma per cause di forza maggiore non ce n’è stata la possibilità.
Dopo vari tentativi con Google ARCore, Si è convenuto che i tool più adeguati per sviluppare AR sono, ad esempio, Unreal Engine e Unity.

Gli output sono i seguenti:

  • il repo contenente il codice dell’applicazione Android;
  • le registrazioni del corso interno di Kotlin e del corso con il coach esterno.

Sapientina 2.0

L’obiettivo della gilda era di continuare lo sviluppo del sistema realizzato dalla precedente gilda Sapientina.
In particolare, i principali miglioramenti apportati al prototipo con la nuova release consentono di:

  • Registrarsi al sistema con un indirizzo email che deve essere verificato dall’utente.
  • Resettare la password in caso di smarrimento.
  • Gestire il proprio profilo utente cambiando username, password, e avatar (immagine di profilo).
  • Risolvere il problema senza vincolo di linguaggio (in Java, Javascript, o Python).
  • Dopo aver risolto un problema, è possibile vedere le soluzioni degli altri.
  • Configurare i template per la risoluzione nei vari linguaggi in modo più semplice, astraendo la gestione dell’input e output.
  • Visualizzare dei badge per “premiare” la risoluzione dei problemi, in base a linguaggio, quantità e difficoltà.
  • Confrontare la propria carriera di risolutore con quella degli altri attraverso la pagina “hall of fame”.

Tecnologie coinvolte: Angular per il Front-End, Parse Server e MongoDB per il Back-End, e Jobe come motore per l’esecuzione del codice proposto come soluzione ad un problema. Abbiamo anche configurato le pipeline di CI/CD in GitLab, il sistema gira in container Docker.

2020 2Quarter

Gilda Sapientina

L’obiettivo di questa gilda è la progettazione di una piattaforma per la valutazione delle skill tecniche individuali, adottando un approccio di gamification, realizzando un prototipo funzionante.
Funzionalità implementate:

  • Signin, login e logout
  • Gestione del catalogo dei problemi da risolvere (Java, JavaScript o Python) da parte di un utente admin.
  • Consultazione del catalogo e inserimento proposta di soluzione da parte di un utente
  • Tracciamento dei tentativi e delle soluzioni proposte, per stilare classifiche.
  • Visualizzazione dei problemi risolti dall’utente, e chi ha risolto un problema in precedenza.

Tecnologie usate: Angular per il Front-End, e Parse Server e MongoDB per il Back-End. Integrazione di Jobe come motore per l’esecuzione del codice.

L’output della gilda è l’MVP della web-app Sapientina.

Gilda Retrò

I team scrum hanno un momento privilegiato per continuare a migliorarsi: la retrospettiva. Quel momento in cui si ragiona assieme su quanto andato bene e male durante un’iterazione, per poi concordare azioni migliorative.

Scopo di questa gilda è imparare a fare retrospettive profondamente utili.

I primi incontri sono stati dedicati allo studio del libro “Agile retrospectives: Making Good Teams Great”, e man mano sperimentare quanto studiato organizzando retrospettive di gilda facilitate a turno da ognuno dei componenti.

Output della gilda:

  • Facilitazione di una retrospettiva a tema gilde, con l’intento di far emergere delle azioni migliorative relativamente all’esperienza delle gilde appunto. Ne è scaturito un action item inerente ad un’attività relativa all’affinamento dell’attuale scheda di proposta di una gilda.
  • Realizzazione di un prototipo di Retròmaniacs, ovvero un gioco (web-app) per aiutare un facilitatore nella preparazione e conduzione di una retrospettiva.

Pythoff

Obiettivo della gilda è maturare un livello di conoscenza tale da essere “confident” nello scegliere Python come linguaggio per poter risolvere problemi di varia natura.

Stilare, inoltre, il percorso di formazione adottato al fine di provare a riutilizzarlo nel momento in cui qualcuno dovrà apprendere un nuovo linguaggio.

Mezzi per raggiungere l’obiettivo:

  • Corsi online per iniziare a imparare la base del linguaggio.
  • Esercizi creati da noi (o Google Hash Code) per approfondire la pratica.
  • Analizzare (eventualmente) le librerie più comuni.
  • Usare la wiki per capire quali sono state le migliori scelte intraprese.

L’output riguarda la stesura di un articolo di approfondimento tecnico sul linguaggio Python.

Gilda Thanks Showcase

Una gilda per creare uno showcase di siti in grado di mostrare le potenzialità di Thanks nell’ambito visual design/web. Ogni partecipante ha potuto scegliere un argomento di interesse intorno a cui realizzare il sito.
Attraverso il proprio lavoro ogni persona ha acquisito una serie di conoscenze inerenti allo sviluppo di siti web con animazioni avanzate grazie all’utilizzo di librerie quali: ScrollMagic, GSAP ecc.

Step:

  • Scelta dell’argomento del proprio sito.
  • Ricerca informazioni del proprio argomento.
  • Sintesi della narrazione.
  • Ricerca visiva.
  • Concept.
  • Progettazione grafica.
  • Implementazione.

Come output della gilda sono stati realizzati 6 siti monopagina.

WebFlux

Lo scopo di questa gilda è approfondire la conoscenza su Reactive Programming per capire quali sono i punti di forza.

Per fare ciò è stata studiata la libreria Reactor (Mono/Flux) dopodiché è stato realizzato un progetto che permettesse di mettere a confronto una tecnologia che implementa il pattern MVC.

L’output della gilda è un articolo di approfondimento su Reactive Programming.

2020 1Quarter

Insanely Fast Devs

Chi ha detto che sviluppare una applicazione web debba richiedere molto tempo?
Con questa gilda sono stati messi alla prova alcuni tool che accelerano lo sviluppo scoprendo che è possibile ottenere un valido output in pochissimo tempo.
Il focus è stato su strumenti per lo sviluppo di frontend e backend, che dessero un punto di partenza estendibile e production ready.
Come output sono stati realizzati diversi progetti: alcuni solo dimostrativi, altri attualmente utilizzati nella vita aziendale di Intré.

MarHashCode

L’obiettivo è sviluppare le competenze necessarie per partecipare al round di qualificazione della competizione Hash Code, organizzata da Google per il 20 Febbraio.
Nel corso della gilda abbiamo alternato diverse attività:

  • Simulazione del round di qualificazione, ossia quattro ore dedicate alla risoluzione di esercizi degli anni precedenti.
  • Eventuale ripetizione di esercizi andati male e analisi delle soluzioni pubblicate da altri team.
  • Retrospettive per individuare gli aspetti da migliorare.
  • Analisi e sviluppo di strumenti utili per la risoluzione degli esercizi.

Tutto ciò ha permesso al team, composto dai componenti di questa gilda, di classificarci al 560° posto su un totale di oltre 10000 partecipanti provenienti da tutto il mondo.

GildIt

Lo scopo dell gilda è di studiare e produrre strumenti da inserire nell’infrastruttura di rete aziendale per renderla attuale, fruibile e sicura.

Gli argomenti che si è proposta di trattare sono numerosi:

  1. Autenticazione a 2 fattori in Active Directory
  2. Abilitazione dell’autenticazione biometrica
  3. Alternative all’uso di Jira
  4. Meet.intre.it con accesso telefonico
  5. Alternative a Slack
  6. Sistema di todo comune
  7. Calendario comune
  8. Office 365 su nostro Exchange
  9. Piattaforma opensource e free per VDI

Dei tanti temi proposti, si è dovuta fare una dolorosa selezione che ha condotto alla sperimentazione:

  1. Di DUO Mobile per la 2FA (Two Factors Authentication)
  2. Dell’integrazione del VOIP su Jitsi, usato per meet.intre.it
  3. Di una istanza di WeKan su Docker con accesso LDAP per la gestione e condivisione di kanban board.

JS4dummies

La gilda nasce dal desiderio di prendere confidenza con Javascript per avere una visione più ampia dello stack tecnologico del Web.
Studiare alcuni aspetti di JavaScript (introduzione a Node.js e npm, la sintassi di Javascript, (A)sincronicità, Minimal rest server, JSON manipulation) e un’introduzione a Angular.
Output della gilda:

SEKT - Strict Extreme Kata Tournament

Obiettivo della gilda è, incontro per incontro, approfondire una pratica di eXtreme Programming, fare un po’ di studio/teoria utilizzando un tool tipo draw.io e metteremo in pratica tramite kata cercando di migliorare di volta in volta.

Gli incontri si svolgono in questo modo:

  • parte teorica/studio:
    • si sceglie un argomento;
    • si fissa un tempo limite durante il quale si cercano informazioni su internet e si riportano su un foglio draw.io condiviso;
    • si rivede assieme il materiale raccolto;
  • parte pratica di kata:
    • si sceglie un kata tra i numerosi disponibili;
    • si decide quale stile di pair programming adottare e ci si divide per affrontare il kata;
    • retrospettiva finale per trovare considerazioni/azioni da applicare alla prossima iterazione.

Per rendere questi momenti più divertenti, ricorrere agli esercizi tipo codingame.

iwwwannaplay: microbit + design

Questa gilda si pone molteplici obiettivi:

  • Progettazione e realizzazione di controller fisici (cartone o altro materiale) che integrino la scheda micro:bit e permettano di comandare giochi realizzati in Scratch.
  • Realizzazione di uno o più mini siti in linea con l’argomento (retro)gaming per capire e sfruttare le potenzialità di animazioni e transizioni (scrollMagic più barbaJS).

Step:

  • Conoscere la scheda micro:bit e capire i suoi limiti nell’integrazione con Scratch.
  • Decidere quale tipologie di gioco possano utilizzare i controller con micro:bit
  • Individuare quali giochi delle tipologie scelte sviluppare, trovare le grafiche relative e creare i mini giochi.
  • Trovare una soluzione per integrare la micro:bit nei diversi controller e creare i controller.

In parallelo:

  • Definire un concept di mini sito/siti in linea con l’argomento della gilda.
  • Sviluppare il mini sito/siti con grafica e animazioni coerenti con il concept (sfruttando scrollmagic, barbaJS etc.).
2019 3Quarter

Test-Write-Share

Obiettivo della gilda è implementare una libreria condivisibile all’interno dell’azienda (e pubblicarla come software open source) con particolare attenzione all’utilizzo di tecniche di test come garanzia di qualità.

In fase di setup del progetto, è stata configurata l’integrazione con Travis CI e la pubblicazione su Maven Central.
In modalità mob programming (una persona alla tastiera e gli altri che danno ordini), è stato scritto il codice alternando TDD puro e refactoring.
E’ stata un’occasione per vedere diverse tecniche di refactoring ed affinare l’utilizzo di tool di sviluppo messi a disposizione dal nostro IDE di riferimento (IntelliJ).

Sono stati approfonditi (seppur meno del previsto) anche alcuni aspetti relativi al testing quali:

Gumly

L’obiettivo della gilda Gumly è stato quello di creare un prodotto per la experience transformation dei nostri clienti, che facilitasse il lavoro designer durante le fasi evolutive di un progetto e che permettesse di mappare monitorare e migliorare l’esperienza degli utenti.
Attraverso questo tool sarà possibile:

  • Identificare e rappresentare le tipologie di utenti/personas facendone emergere le aree di azione e i bisogni.
  • Mappare i Customer Journey evidenziandone le interazioni e organizzandoli in macro-flussi.
  • Ottimizzare i processi tenendo traccia di tutti i Pain points e di tutte le opportunità identificate durante la fase di ricerca qualitativa e quantitativa.

La collaborazione tra i partecipanti della gilda ha portato alla creazione di un team cross funzionale composto da designer e developer che ha permesso di giungere alla realizzazione di un primo MVP funzionante di Gumly.

AgiLEGO

Obiettivo di questa gilda è quello di produrre uno strumento a supporto dell’indottrinamento verso metodologie Agili.

Si tratta di realizzare dei video su singole cerimonie Agili tramite la tecnica dello STOP-MOTION utilizzando, come scenografia e interpreti, dei componenti LEGO (R).
La realizzazione dello stesso può essere parte del percorso di indottrinamento, sia come argomento trattato che come organizzazione del lavoro stesso.
Nello specifico questa gilda ha trattato il momento di STAND-UP mettendo in scena gli errori in cui i componenti del team possono incorrere.
La pianificazione della realizzazione del filmato, che ha richiesto:

  • coordinamento dei lavori in accordo alla consegna del materiale ordinato
  • stesura del copione
  • suddivisione dei compiti tra shooting e montaggio ha permesso di migliorare i legami tra i componenti del team.

Inoltre lo studio della momento di STAND-UP per la la stesura del copione ha permesso di migliorarne la conoscenza.

CobraML

L’obiettivo della gilda CobraML è stato duplice:

  • acquisire una padronanza di base di Python
  • sfruttare la conoscenza di Python per apprendere i concetti fondamentali del Machine Learning.

Avendo già conoscenze approfondite di altri linguaggi prendere dimestichezza con Python è stato semplice, permettendo di apprezzarne le sfumature che lo caratterizzano.
Sono stati messi in pratica i concetti appresi sviluppando uno script per mettere in comunicazione due sistemi (mediante API REST) trasformando i dati prima di salvarli.
Il primo contatto con il Machine Learning è avvenuto mettendo alla prova una libreria per il riconoscimento facciale: in poco tempo è stato realizzato un software in grado di riconoscere con successo i volti dei membri del nostro team all’interno di foto di gruppo.
Per approfondire la comprensione dei meccanismi implementati dalla libreria, sono stati studiati ed implementati diversi approcci fondamentali: reti neurali, algoritmi genetici, alberi di decisione e reti bayesiane.

Open Source

Questa gilda si è messa in gioco collaborando a un progetto Open Source.
Il primo passo non banale è stato scegliere il progetto a cui contribuire: abbiamo dovuto considerare tecnologie, interessi personali, community, tipologia di progetto. Kibana è stato il vincitore di questa selezione.
Abbiamo quindi scelto un argomento su cui lavorare partendo dai problemi già noti. Affrontare una codebase nuova è stato più semplice del previsto: siamo riusciti a implementare la modifica richiesta anche grazie alla buona organizzazione dello progetto e alla nostra conoscenza delle tecnologie usate. Meno entusiasmante del previsto, invece, è stata la collaborazione con la community. L’interazione asincrona con persone esterne all’azienda, considerando le disponibilità di ognuno, ha reso poco funzionale  la struttura delle gilde dove viene dedicato un tempo fisso settimanale.
Nell’arco della durata della gilda abbiamo risolto due segnalazioni e questo ci è sembrato un ottimo risultato.
Sicuramente adesso abbiamo un’idea più chiara di cosa voglia dire confrontarsi con il mondo dell’Open Source.

2019 2Quarter

Transazioni distribuite: Saghe

Obiettivo della gilda è stato l’approfondire il tema delle transazioni distribuite, riassumibile con il termine saga. Non solo saghe, anche event sourcingCQRS e DDD.

Il punto di partenza delle saghe è un’analisi dettagliata, la definizione dei domini e delle competenze, in poche parole la base è il Domain Driven Design.

Una saga è un meccanismo che garantisce la consistenza dei dati tra i servizi. In caso di errore la saga riporta i dati ad uno stato equivalente (quindi, non identico) a quello di partenza. Si definiscono una serie di transazioni ognuna delle quali implementa una parte delle logica di business (T). Per ogni transazione bisogna prevedere una transazione di compensazione (C) che riporti i dati elaborati da T ad uno stato equivalente a quello di partenza.

Una saga quindi risulta semplice da sviluppare se e solo se supportata da un’analisi architetturale dettagliata del sistema.

Alexa Skill

Una skill Alexa è un’applicazione che permette di estendere le funzionalità base di ciascun dispositivo della serie Amazon Echo e trarre il massimo dall’assistente digitale Alexa, incorporato in questi dispositivi.

Obiettivo della nostra gilda è stato, quindi, l’implementazione di una nuova skill custom per la gestione della lista della spesa, con le seguenti funzionalità:

  • aggiunta di un prodotto
  • eliminazione di un prodotto
  • lettura della lista
  • eliminazione di tutti i prodotti presenti
  • invio della lista della spesa via e-mail
  • gestione della lista tramite un bot di Telegram

Reactive Canvas

Per reactive programming si intende un nuovo paradigma di programmazione in cui si fa uso di flussi di dati asincroni.
Il flusso, o stream, è l’elemento centrale nelle tecnologie reactive come RxJS perché può essere, oltre che creato, combinato con altri filtri o filtrato.

Aggiunto con HTML5 Canvas, o meglio HTML canvas è un elemento che può essere usato per disegnare elementi grafici tramite script (di solito JavaScript). Per esempio, può essere usato per disegnare grafici, creare composizioni fotografiche, creare animazioni e perfino realizzare elaborazioni video in tempo reale.

L’obiettivo della gilda è stato la realizzazione del gioco della battaglia navale, con grafiche relative a cielo, mare e navi sviluppate utilizzando elementi canvas.
La comunicazione client-server è stata gestita tramite websockets mentre per gestire le animazioni 3d all’interno della pagina del browser è stata utilizzata three.js, una libreria Javascript cross-browser che fornisce anche un API.

Lambda: Functional Programming

Per programmazione funzionale si intende un paradigma di programmazione in cui il flusso di esecuzione del programma assume la forma di una serie di valutazioni di funzioni matematiche. Il punto di forza principale di questo paradigma è la mancanza di effetti collaterali delle funzioni, il che comporta una più facile verifica della correttezza e della mancanza di bug del programma e la possibilità di una maggiore ottimizzazione dello stesso.

Obiettivo della gilda è stato l’approfondimento della tematica, e il lavoro è stato svolto in due momenti:

  • lettura del libro Domain Modeling Mode Functional di Scott Wlaschin, utile per conoscere l’argomento del Domain Driven Design e capire in quali contesti poter applicare la programmazione funzionale
  • esercizi di applicazione di programmazione funzionale, effetuando refactoring di codice già scritto, utilizzando C# come linguaggio di programmazione

User Research Tools

L’obiettivo della gilda ha riguardato un lavoro di ricerca di nuovi tool da utilizzare in fase di ricerca utente per:

  • raccogliere gli insight da user testing in maniera efficiente
  • far convergere e organizzare i feedback raccolti attraverso i diversi strumenti (es. interviste, user testing, questionari,…)
  • definire uno standard a livello di report di usabilità

Di seguito l’elenco dei tool analizzati e studiati:

  • hotjar: consente di rilevare il comportamento degli utenti di siti/web app unendo le funzionalità di un’analisi quantitativa (es. Google Analytics) ad un’analisi qualitativa.
  • UsabilityHub: una piattaforma che consente al designer di effettuare user testing da remoto attraverso una suite di strumenti volti a far emergere problematiche legate all’usabilità ed a facilitare il processo progettuale.
  • User Testing: simile a UsabilityHub
  • Airtable: piattaforma accessibile online che permette di creare e gestire spreadsheet contenenti sia testo che non.,  nonché la possibilità di creare report stampabili
2019 1Quarter

Design for emotions

Progettare la user experience di un prodotto significa occuparsi di tre principali sfere di valore da offrire agli utenti finali: utilità, usabilità e piacevolezza.
L’obiettivo di questa gilda è stato quello di approfondire il tema della piacevolezza legato all’esperienza di un prodotto o servizio.
Attraverso attività di ricerca, esperimenti e la lettura di alcuni libri sull’argomento.
Queste le tematiche trattate:

  • Piacevolezza superficiale e profonda
  • Design del coinvolgimento
  • Emotional design
  • Bias cognitivi

Free gilda

Il nome free sta ad indicare appunto la libertà di poter approfondire più argomenti per i quali i 4 mesi canonici di una gilda risulterebbero un tempo eccessivo.
Argomenti da approfondire non in solitaria, ma in mini gruppi di almeno 2 o persone.
Argomenti trattati:

  • Corso su CSS, tenuto dal collega Andrea Sironi e svoltosi con incontri settimanali
  • Realizzazione di un backend in linguaggio Golang, applicando TDD
  • Sessioni di TDD competition durante le quali ci si è sfidati a colpi di codice seguendo uno dei tanti KATA conosciuti e disponibili in rete

Games

Obiettivo della gilda è stata la realizzazione di un videogame, precisamente un gioco a turni, dove ogni giocatore sfida altri facendo combattere i propri personaggi.

Degno di nota CryptoZombies, un tutorial tanto simpatico quanto esaustivo per imparare a programmare in Solidity, linguaggio di programmazione ufficiale di Ethereum lo sviluppo di Smart Contract.

Per la parte di back-end, è stata implementata logica per

  • creare e salvare un personaggio
  • lettura personaggi dell’utente
  • compilazione e deploy della applicazione su una blockchain locale di sviluppo

Per la parte di front-end invece, è stato realizzato un avatar creator (un grazie ai colleghi designer) con il quale poter scegliere ad esempio i vestiti, capelli e colori.

La comunicazione tra front-end e app è stata gestita con chiamate tramite la libreria Web3.js.

Progressive Web App

Obiettivo di questa gilda è la realizzazione di una PWA, cercando di coglierne pro e contro.
Da un punto di vista tecnologico, si è deciso di realizzare il back-end in Node.Js e il front-end con ReactJs. Per il database è stato utilizzato MongoDB.
Degno di nota l’utilizzo di Lighthouse, un tool open-source disponibile anche nel developer tool di Google che fornisce statistiche della web-app anche durante la fase di sviluppo.
Come esercizio, il gruppo ha deciso di realizzare una PWA per tenere traccia degli elementi di una collezione.
Pro della tematica PWA:

  • concetto immediatamente applicabile a progetti esistenti
  • facilmente implementabile
  • documentazione adeguata

Contro:

  • durante lo sviluppo bisogna fare attenzione al service worker, script che il browser esegue in background e separato da una pagina web.
  • assenza di support per iOs (per ora)
2018 3Quarter

Blockchain 2

Obiettivo di questa gilda è applicare la blockchain di Ethereum, ad un progetto reale.
Il progetto in questione è I3-WAY (Where Are You), una applicazione in AngularJs sviluppata durante la gilda Update and Commit 2.
Where Are You perché permette a qualunque collaboratore di Intré di segnare un appuntamento in un calendario visibile a tutti.
Sfruttando una blockchain Ethereum sviluppata nel corso della precedente gilda Blockchain abbiamo realizzato l’integrazione con I3-WAY creando un database contenente i riferimenti alle transazioni.

Design workflow and tools

Obiettivo di questa gilda dei colleghi di Thanks Design è stato lo studio di tool in grado di migliorare le performance dei  flussi di lavoro del team.
La gilda ha previsto una fase esplorativa in cui sono stati analizzati una serie di applicativi emergenti.
Dalla fase esplorativa sono emersi alcuni nuovi strumenti, che sono stati integrati nel nuovo workflow di gestione dei progetti.
Questa integrazione ha permesso di creare un unico ambiente di progettazione delle interfacce costantemente aggiornato e capace di mettere il relazione la parte di design con quella di sviluppo.

Free Gilda

Una gilda particolare, nata con lo scopo di colmare lacune su argomenti troppo piccoli per essere oggetto di uno studio di 4 mesi, e quindi di un’unica gilda.
Come si sono organizzati i componenti del team per tenere traccia delle attività? Usando una semplice board su Trello, aggiornata con incontri frequenti, e un journal nella wiki interna.
Gli output prodotti sono di diversa natura, dalla pubblicazione di un articolo alla presentazione di un talk o workshop ad una conferenza.
Eccone alcuni:

Software Architectures

Obiettivo di questa gilda sono stati lo studio e l’applicazione di alcuni pattern architetturali per lo sviluppo software.

Come ci si è organizzati?

  • scelta di quali architetture studiare
  • ricerca di documentazione per ognuna delle architetture scelte
  • creazione delle sezioni su Draw.io
  • esercitazione con schemi basati su Kata architetturali
  • realizzazione del tic-tac-toe, nome anglosassone del gioco del tris

Architetture scelte:

  • Domain Driven
  • Hexagonal
  • Layered
  • Event-driven
  • Microservices
  • Onion

Kubernetes

Kubernetes, o K8s, è un sistema open-source di orchestrazione e gestione di container, compresi quelli creati con Docker.
Perché è nata questa gilda?

  • La curiosità sulle potenzialità che il prodotto offre, e dall’esigenza di utilizzarlo in un progetto reale.
  • Trovare soluzioni alternative per semplificare i rilasci e la loro successiva manutenzione.

Nonostante le difficoltà legate ad esigenze di progetto, del lavoro è stato svolto:

  • studio del tool seguendo il tutorial
  • prove su cluster del progetto cliente
  • creazione cluster su Amazon Web Services
  • deploy di una applicazione di chat in autoscale: in base al carico, l’applicazione scala le risorse
2Quarter

Kotlin 2

Abbiamo dedicato questa Gilda alla preparazione della prima Kotlin Community Conf di Milano. È stata una Gilda un po’ diversa dalle altre, abbiamo dovuto curare ogni minimo dettaglio dell’evento: call for sessions, identity dell’evento, gestione delle registrazioni, organizzazione del catering e così via. Per tutti i partecipanti è stata un’esperienza molto gratificante, in cui ognuno ha messo del suo arrivando a coinvolgere anche persone di Intré al di fuori della Gilda.

Blockchain

La rivoluzione blockchain è partita e noi ne vogliamo fare parte. L’obiettivo della gilda era quello di acquisire le nozioni fondamentali di questa tecnologia. La blockchain Ethereum ci ha permesso di realizzare degli smart contracts e tramite una pagina web siamo riusciti a mettere in contatto fornitori di servizi software con clienti, permettendo loro di definire un accordo, confermare il risultato del lavoro, ed effettuare il pagamento, tutto tramite la blockchain.
Ethereum ci ha permesso quindi di avere uno strumento sicuro, con un’elevata affidabilità e verificabile liberamente derivante proprio da alcune sue caratteristiche come sistema inviolabile, distribuito e accessibile.

Data Visualization

In questa Gilda abbiamo approfondito il tema della data visualization, inteso come l’insieme delle conoscenze e degli strumenti inerenti alla raccolta, comprensione e rappresentazione di dati.
Attraverso lo studio di alcun libri di Alberto Cairo e due corsi di Nicholas Felton, abbiamo affrontato sia l’aspetto teorico, razionalizzando le nostre conoscenze in merito alle attività di percezione e rappresentazione, sia quello pratico, focalizzandoci sull’utilizzo di linguaggi come Processing o tool ad hoc. L’output di questo corso è stato un’infografica realizzata con Processing e Adobe Illustrator e un poster sulle scale di attività percettive elementari, basato su uno studio di Alberto Cairo.

IOT

Smartband, telecamere, termostati… Il mondo dell’IoT ce l’abbiamo sotto gli occhi tutti i giorni e anche per molte grandi aziende è fondamentale raccogliere e aggregare i dati dalle macchine di produzione con particolare attenzione alla sicurezza. Con questa gilda abbiamo cercato di costruire un sistema per rispondere a questa esigenza.
Un gruppo ha costruito l’hardware e il software basato su Nodemcu per ricevere comandi o raccogliere i dati dal singolo sensore e inviarlo via wifi ad un Raspberry, di cui si è occupato un secondo gruppo, che aveva il compito di ricevere i dati da un gruppo di sensori e inviarli al sistema centrale gestito da un terzo gruppo che, prima tramite QBoat, poi tramite Node-RED aveva il compito di configurare, aggregare ed eventualmente esporre i dati.

Top
Ogni nostro Sprint ha l'obiettivo di massimizzare il Valore per l'utente finale