Tools Vita da bitbulli

Chatbull: Colleghi Fantastici e Dove Trovarli

Lettura 7 minuti


“Già, dove trovarli? I miei colleghi sono veramente fantastici?
Ma, soprattutto, ho mai parlato con tutti i miei colleghi?”

Se si lavora in un’azienda full-remote, forse è già chiaro che la risposta sia no.

Si provi a pensare alla vita d’ufficio classica, a quante volte ci si trova a fare due chiacchiere alla macchinetta del caffè, in pausa pranzo o anche alla scrivania.
In quei momenti ci si riesce a conoscere un po’, facendosi un’idea delle persone che si siedono accanto a noi tutti i giorni e con cui collaboriamo: condividiamo gli stessi valori? Abbiamo delle passioni in comune? Abbiamo degli argomenti di cui parlare anche extra lavoro?

Da remoto, tutto questo è molto ovattato.
I meeting con tutti i colleghi sono pochi e soprattutto ben mirati, quindi non c’è tanto spazio per conoscersi.
Se si lavora in team si ha l’occasione di conoscere meglio le persone del proprio gruppo, ma spesso le chiacchiere sono relative ad un task, un’attività, insomma, inerenti al progetto su cui si sta lavorando.

In Bitbull, durante un meeting collettivo, abbiamo affrontato il tema “How to build a great culture in a distributed team” ispirato al tweet di Nathan Barry.
Questo argomento, molto sentito a livello aziendale, è stato poi ampiamente discusso su Basecamp e un punto sul quale eravamo tutti d’accordo era l’esigenza di trovare un modo per conoscersi meglio, per parlare anche con i colleghi con cui non si lavora sullo stesso progetto.
Questo ha fatto sì che nascessero idee e proposte per migliorare proprio l’aspetto delle relazioni interpersonali.
Tra i vari suggerimenti ne sono emersi due particolarmente interessanti e realizzabili nel breve periodo: creare un flusso di e-mail di onboarding, per facilitare e accompagnare l’ingresso dei nuovi colleghi, e organizzare delle pause caffè con un numero di persone ridotto per cercare di conoscersi.
Del primo punto ve ne parleremo più avanti - stay tuned!! -, mentre delle pause caffè ne parliamo proprio ora!

Dopo aver deciso che prendere un caffè in compagnia è meglio che prenderlo da soli, il conseguente interrogativo è stato: come fare?

L’idea era di trovare un sistema per selezionare alcune persone dell’azienda e avvisarle che per quella settimana avrebbero potuto organizzare una pausa caffè e fare quattro chiacchiere, ancora meglio se non lavorative.
E, ovviamente, questo sistema doveva essere automatico.
E così è nato il Chatbull.

Ci sono sul mercato strumenti che già fanno la selezione casuale tra gli elementi di un elenco, ma noi avevamo bisogno di qualcosa di nostro, da gestire e personalizzare completamente. Anche perché, diciamocelo, a noi sviluppatori stimola fare un po’ di ricerca e sviluppo e lavorare su qualcosa di diverso da quello che facciamo tutti i giorni!

Abbiamo lavorato in due sul progetto, aiutati dalla vision e i consigli del nostro COO, e dopo un po’ di brainstorming abbiamo deciso di utilizzare Google Spreadsheet e Apps Script che, del resto, altro non è che Javascript, quindi un linguaggio che conosciamo bene e che sappiamo essere ben adattabile alle varie esigenze.

Siamo partiti dal fare l’elenco dei dati utili al nostro scopo di tutte le persone di Bitbull, quindi nome, email e Slack ID, perché nella nostra idea c’era quella di utilizzare Slack come principale sistema di notifica.
Siccome il sistema è casuale e automatico, c’era bisogno di tenere traccia delle persone già selezionate e quelle ancora da selezionare in modo da cercare di far pescare sempre tutti. Abbiamo aggiunto due flag, uno che viene popolato direttamente dallo script e uno manuale, per permettere allo script di saltare alcune persone, magari assenti temporaneamente, la cui selezione “sprecherebbe” uno slot per la chat di gruppo di quella settimana.
Inoltre, abbiamo aggiunto un contatore, non solo per avere un dato statistico, ma soprattutto per cercare di livellare quante volte ogni persona fosse stata sorteggiata e dare priorità a quelle selezionate meno volte. In questo modo cerchiamo di garantire che ogni persona venga estratta con cadenza più o meno regolare.
Questo è tutto ciò che serviva lato Spreadsheet per partire!

Lato codice, invece, la prima cosa da fare era prendere delle decisioni, quali:
- quante persone devono essere sorteggiate per ogni Chatbull?
- quanti Chatbull in contemporanea?
- lo script va fatto girare con che cadenza?

In realtà le domande erano molte di più, ma queste sono quelle a cui abbiamo dato una facile risposta.
Si è deciso di far partecipare ad ogni Chatbull tre persone, due gruppi ogni settimana.

Quindi, dopo questa prime righe di configurazioni, entriamo nel vivo della faccenda.

Selezioniamo, tramite la classe SpreadsheetApp, i contatti realmente disponibili, controllando i flag presenti nello Spreadsheet, questo array lo sottoponiamo ad un vero e proprio shuffle, che ne mescola gli elementi, da cui vengono poi estratti i sei partecipanti della settimana.
Le persone selezionate vengono, quindi, divise in due gruppi da tre.
Questa selezione è tanto banale quanto complessa, perché deve tenere conto delle selezioni del giro di Chatbull precedente e, soprattutto, in azienda, non siamo un numero divisibile per sei, quindi ci rimane sempre il resto.
Questo fa sì che lo script debba girare più volte per poter raggiungere il numero desiderato di elementi dell’array e, nel caso in cui il primo giro ci siano disponibili meno persone di quelle realmente necessarie, prevediamo che il sistema, dopo aver selezionato i partecipanti “obbligatori”, svuoti i restanti flag di disponibilità, cosicché tutte le altre persone possano essere nuovamente selezionate in modo da completare l’array.
(PS: se vuoi aiutarci a risolvere questo problema e renderci divisibili per sei, puoi entrare nel team ^^)

Una volta pronto questo array si entra nel sistema di notifica.

Come dicevamo precedentemente, il sistema di notifica principale è Slack. Sì è vero, abbiamo settato anche l’invio di un’e-mail tramite il metodo GmailApp.sendEmail messa a disposizione da App Scripts nella classe GmailApp, ma il vero protagonista delle notifiche rimane Slack, grazie alla sua usabilità e immediatezza nel mettere in contatto le persone tra loro.

Abbiamo creato un Google script a parte per gestire la comunicazione con il nostro Slack aziendale, al quale ci interfacciamo tramite API, per creare due chat formate dalle tre persone selezionate per ogni gruppo e il nostro Chatbull Bot, che dà il benvenuto agli invitati e comunica loro che sono stati scelti per farsi una pausa caffè insieme durante la settimana corrente.
Una delle cose belle di App Scripts è proprio il poter suddividere il codice in più file, in modo da avere una codebase organizzata e ordinata.

Ma torniamo a Slack, tramite gli ID che abbiamo inserito nello Spreadsheet, quindi, riusciamo a pingare le persone interessate e a metterle già in comunicazione tra loro così da agevolare il primo contatto, poi da lì ovviamente è tutto in mano alla volontà e disponibilità delle persone per organizzare la pausa caffè, ma noi siamo colleghi fantastici, quindi ci piace prendere i caffè insieme!

Infine, per non farci mancare nulla, abbiamo utilizzato Google Moduli per raccogliere un po’ di feedback.

L’obiettivo era soprattutto capire se davvero questo sistema ci stesse aiutando a raggiungere il nostro scopo, ossia far sì che le persone che non lavorano insieme sullo stesso progetto riescano comunque a trovare l’occasione di parlarsi e fare una pausa caffè insieme, e guardando le statistiche sembra proprio che funzioni!


Concludendo, questa è la versione 1.0 del Chatbull, ma è solo un primissimo passo, perché abbiamo già vari improvements in mente di cui parleremo più avanti!

Questo tool aziendale, sviluppato ad hoc per venire incontro alle nostre esigenze come azienda full-remote, ha aiutato a migliorare la comunicazione tra le persone dell’azienda non tanto da un punto di vista lavorativo, quanto da un punto di vista personale, perché lavorare da remoto ha veramente tantissimi pro, ma ha il contro di non facilitare le relazioni umane, a meno che non lo si voglia e noi, in Bitbull, lo vogliamo eccome.

Articolo scritto da

Front-end dev | Formigine (MO)

☝ Ti piace quello che facciamo? Unisciti a noi!