“Quello che conta è il viaggio” (cit. Stefano Leli). Questa è l’essenza del Coderetreat.

Ho scoperto questo format durante gli Italian Agile Day 2017 di Urbino. In quell’occasione mi sono divertito ad esercitarmi con gli altri partecipanti mentre a farci da facilitatori c’erano Matteo Vaccari, Stefano Leli e Gabriele Tondi. Il formato mi è piaciuto a tal punto che ho deciso di riproporlo a Firenze, dove vivo, per dare la possibilità di fare la mia stessa esperienza alla mia comunità di sviluppatori.

Insieme a Marco Castellani, abbiamo deciso di proporre il Coderetreat in versione ridotta, quattro ore invece di una giornata intera, ad un gruppo ristretto di amici per oliare i meccanismi e raccogliere l’interesse su questo tipo di attività.

Abbiamo quindi organizzato, in qualità di facilitatori, due (mini) Coderetreat, il secondo dei quali si è svolto sabato 20 gennaio. L’evento è stato un successo sotto diversi punti di vista, primo fra tutti l’entusiasmo e la voglia di mettersi in gioco dei partecipanti.

Abbiamo aperto l’evento con una breve presentazione preparata seguendo le linee guida per i facilitatori. Questo ha permesso ai partecipanti di entrare nello stato d’animo giusto per affrontare la giornata. Dopo la presentazione iniziale, abbiamo deciso di fare una breve sessione di Test Driven Development (TDD) in pair programming utilizzando un kata molto semplice. In questo modo, anche i più inesperti hanno capito il focus della mattinata: lavorare in coppia, utilizzando il TDD, per affinare le proprie capacità.

Per facilitare la comprensione del Game of Life di Conway abbiamo distribuito ai partecipanti un foglio contenente le tre regole fondamentali dell’esercizio. Il feedback dei partecipanti è stato molto positivo perché il foglio è stato utile per mantenere il focus sulle “regole di business” da implementare.

L’evento è poi proseguito, come da programma, con tre sprint da un’ora durante i quali i partecipanti hanno esplorato l’esercizio proposto. Il primo sprint è stato sicuramente il più impegnativo. Molti partecipanti non avevano mai sviluppato in TDD e, soprattutto, si sono trovati a lavorare in coppia con dei completi sconosciuti. È stato subito evidente che la comunicazione sarebbe stata la vera sfida della mattinata.

Per questo motivo al secondo sprint abbiamo proposto di sviluppare facendo il ping pong: in ogni copia uno sviluppatore scrive il test e l’altro implementa le classi e i metodi necessari a soddisfare il test scritto dal primo. Questa attività, pur introducendo un ulteriore difficoltà, ha avuto subito due effetti positivi: la comunicazione è stata più fluente e lo sviluppo meno ingessato.

Dopo i primi due turni di esplorazione, il terzo sprint ha dato la possibilità a tutti di sperimentare più liberamente e i commenti finali dei partecipanti hanno sottolineato l’evoluzione che ognuno ha avuto nell’approcciare il problema e nel confrontarsi con gli altri.

Una delle regole più difficili da seguire è stata quella di cancellare alla fine di ogni sprint il codice prodotto. È stato interessante vedere la reazione dei partecipanti, la stessa di quando togli le caramelle ad un bambino!

La mattinata si è conclusa con una grande soddisfazione per l’esperienza vissuta ma anche un vago senso di incompiuto perché avevamo appena scaldato i motori e ci siamo dovuti salutare. Per questo abbiamo messo subito in cantiere l’organizzazione del prossimo Coderetreat Firenze aperto a tutti, il quale si terrà a marzo… e questa volta sarà una giornata intera!

Un ringraziamento speciale agli amici di Giuneco che continuano a ospitare e sponsorizzare questa bella iniziativa.

Segnatevi la data: 10 Marzo 2018. A breve apriremo le registrazioni su Eventbrite.

Vi aspetto!