Appena prima delle festività natalizie abbiamo tenuto il nostro ultimo incontro del 2014. Questa volta ci siamo cimentati in un “Incremental Kata” che è un tipo di coding kata in cui il problema completo non è noto dall’inizio ma viene svelato passo dopo passo. Su questo repository GitHub (https://github.com/Gianfrancoalongi/incremental_katas) se ne possono trovare diversi.
Noi abbiamo scelto quello chiamato Chaos Driven Development (https://github.com/Gianfrancoalongi/incremental_katas/tree/master/Chaos_driven_development). Sostanzialmente si tratta di implementare un mini-gioco in cui un robot, ricevuti una serie di comandi in input, si deve muovere su una griglia.
Come al solito, ci siamo divisi in coppie e siamo partiti a testa bassa a scrivere codice. C’è stato chi ha affrontato l’esercizio facendo TDD in Python, chi in JavaScript (con NodeJS) e chi facendo BDD in PHP con PHPSpec.
La parte interessante di questo tipo di esercizio è vedere come evolvono le specifiche di volta in volta; proprio come accade nella nostra esperienza lavorativa. Inoltre, con questo sistema, ci si rende subito conto di quanto possa essere sbagliato cimentarsi in implementazioni non richieste che, con l’evolvere delle specifiche, possono risultare inutili o addirittura dannose.
Durante la giornata non è mancata una piacevole pausa in cui ci siamo scambiati gli auguri di Natale con una bella fetta di panettone in una mano e un bicchiere di spumante nell’altra.
L’Incremental Kata ci è piaciuto talmente tanto che lo abbiamo prolungato per tutto il pomeriggio ed infine ci siamo confrontati, come al solito, sulle varie implementazioni e soluzioni adottate dai vari gruppi.
Buon Natale a tutti e felice anno nuovo!
Ci vediamo nel 2015!