ITA: di ritorno dall’ESSAP 2007
Ragazzi, l’ESSAP è stato fantastico, semplicemente fantastico!
Ma magari non tutti sapete cosa sia, e allora vediamolo dall’inizio alla fine, con anche un po’ d’introduzione.
Cos’è?
ESSAP significa European Summer School on Agile Programming. E’ un corso di 5 giorni, full time, full load, sponsorizzato dall’Università dell’Insumbria, che introduce a tutti gli elementi necessari allo sviluppo agile. Definire “Agile” non è ancora semplice per me (d’altra parte il corso è appena finito) ma credo che, in poche parole, si possa definire come: comunicazione (tanta e sincera), organizzazione (di tempo, idee e attività), testing (ad ampio raggio), creatività.
E perchè ci sei andato?
Quando la prima email di annuncio dell’ESSAP passò nella lista xp-it, non sapevo quali sarebbero stati i miei programmi per la fine di giugno: così la ignorai. Fortuna volle che allo scadere del tempo massimo per le iscrizioni ci fossero ancora un paio di posti disponibili e colsi la palla al balzo: i soldi (pochissimi) e il tempo meglio investiti degli ultimi anni!
Sì, ma perché ci sei andato?
Perché nell’ambito dei JUG di Milano e Torino, le tecniche agili sono la quotidianità per molti: questo genera un sacco di parole che fino a pochi giorni fa mi sono limitato ad origliare, rimanendo impressionato dall’entusiasmo che mi comunicavano e che vidi per la prima volta al webbit 2003 (grazie Bruno!) (Amir: ti ricordi?). Dovevo saperne di più ma il tempo è tiranno, i libri sono tanti e i clienti pochi. L’ESSAP risolveva questi problemi.
Primo impatto: gli studenti
Le tecniche agili (almeno in Italia) sono ancora abbastanza di nicchia. Io me lo spiego pensando che cambiare è scomodo per molti, ma non per tutti: anzi a qualcuno cambiare piace, cerca di farlo in continuazione, purché ciò significhi migliorare. E’ quindi necessario avere la testa aperta: al cambiamento, alle novità, alla gente. All’ESSAP di gente così ho fatto il pieno! Una ventina di persone erano lì per imparare. Studenti? Non solo! Manager, vecchi (senza offesa) e nuovi programmatori, imprenditori, consulenti. C’era di tutto: tutti lì con un solo obiettivo.
Secondo impatto: la sede
Vi lascio giudicare da soli. Non male per essere “una roba da tecnici”, eh?
L’unità di misura: il pomodoro
Il pomodoro richiederebbe un libro a parte, ma visto che qualcuno l’ha già scritto, sappiate solo che l’abbiamo impostato in 25 minuti di lavoro e 5 minuti di pausa. Ogni 3 pomodori, 1 pomodoro di pausa.
Giorno zero: domenica in pizzeria
Circa metà degli studenti (quelli che venivano da lontano, me compreso) sono arrivati all’hotel (convenzionato con l’università) un giorno prima. Siamo quindi andati tutti insieme in pizzeria (ma quante pizzerie hanno questi fratelli la bufala?) e abbiamo cominciato a chiaccherare (in inglese naturalmente). Gran cosa essere capitato proprio in mezzo a David e Rick. Dopo una mezz’oretta di convenevoli e pizza, ci siamo messi a parlare di libri, di sociale, di software, di aspettative.
Primo giorno: Intro & Executable Documents
La giornata è cominciata con l’introduzione a XP di Matteo Vaccari ed è proseguita con 6 pomodori di David Hussman e Rick Mugridge sugli Executable Documents. A pranzo Matteo ha portato insalata, affettati, pizza e panini. Tutti insieme nel parco a mangiare. E abbiamo cominciato a conoscerci e confrontare i vari domini lavorativi: in particolare ho conosciuto diverse persone che programmano con c# e con il buon vecchio visual basic (caspita: c’è chi ha ancora ha bisogno di applicazioni desktop classiche: mi convinco sempre di più che le RIA abbiano un sacco di spazio per diffondersi).
Secondo giorno: XP Game & Mind Maps at large
Probabilmente il giorno migliore in assoluto: dopo aver passato il lunedì imparando a dividere le richieste del cliente in user stories, abbiamo messo in pratica il tutto con l’XP Game. E’ stato davvero ottimo prendere la teoria appena imparata e metterla in pratica con un gioco di gruppo. Fantastico! Uno scheduling perfetto.
La giornata è proseguita con Federico Gobbo e le wikimaps.
Terzo giorno: TDD and JooB project
Mercoledì è arrivato Carlo Bottiglieri che ha fornito, nei primi 3 pomodori, un’introduzione al Test Driven Development, mentre nei successivi 3 abbiamo visto come applicare il TDD partendo dalle user stories.
Il pomeriggio invece ci siamo buttati sul progetto JooB: Matteo e i ragazzi del Varese XPUG hanno organizzato una storia di base (un sito per la ricerca e l’inserimento di offerte di lavoro). Quindi ci siamo divisi in 3 team, uno del team ha fatto il cliente, abbiamo tirato fuori un po’ di user stories, abbiamo dato loro delle priorità e un livello di difficoltà, le abbiamo condivise con il cliente e abbiamo organizzato 3 iterazioni. Dopo l’XP game, abbiamo messo in pratica le user stories su un caso realistico, su un lavoro di software.
Quarto giorno: Creatività e DDD (e un po’ di rails)
Il mio personale premio per il miglior talk va a Fabrizio Milo, che ci ha tenuti occupati con esempi ed esercizi di creatività, nel software ma non solo. Davvero ottimo!
Nel pomeriggio invece sono comparsi Antonio Terreno e Luca Grulla. Antonio ha quindi parlato di Domain Driver Design e di Behaviour Driven Development, rivelandomi l’aspetto teorico dietro al quale stavano gli esempi del giorno prima di Carlo che in effetti usava il termine “behaviour” per dare un nome alle sue classi di test.
A pranzo invece Matteo ha parlato un po’ più nel tecnico di Rails: l’introduzione del giorno prima in effetti non era andata benissimo, a causa di alcuni problemi tecnici. Con i due pomodori extra (perché fuori programma) di giovedì invece, ho avuto gli elementi di base necessari per cominciare a sviluppare il progetto JooB.
Quinto e ultimo giorno: Retrospettive
La retrospettiva è un’attività che il team svolge alla fine di qualcosa (del progetto, di un’iterazione, dipende dal team) che serve a capire cosa è andato bene e cosa è andato male, al fine di prendere delle decisioni mirate a migliorare i passi successivi (il prossimo progetto, la prossima iterazione, eccetera). Di retrospettive ha parlato Luca Grulla, scrum master. Alla fine del suo talk abbiamo al solito applicato la teoria alla pratica e abbiamo fatto una retrospettiva della settimana di ESSAP giunta alla conclusione.
Il tutto è quindi terminato con una passeggiata su per le montagne.
Xw: eXtreme week
L’ESSAP è stato il miglior investimento che ho fatto negli ultimi tempi, sia in termini di tempo sia di denaro (per la cronaca sono 80 euro e, no, non ho dimenticato uno zero). La quantità di cose imparate e fatte, la qualità e la diversità della gente incontrata, le splendide giornate e il verde spettacolare: mai avevo visto tutte queste cose insieme e così, come dire, intense. In questo senso è stata davvero una settimana eXtrema.
Tra l’altro, ho anche mangiato benissimo (e tantissimo).
Ora si tratta di mettere in pratica. Già so di non poter fare tutto. Il pair programming per esempio viene difficile, lavorando da solo da casa. Inoltre, come da suggerimenti, è importante NON fare tutto e subito: trattandosi di metodologie, si tratta di introdurre un certo dogmatismo nel ciclo di sviluppo, anche se smussato e adeguato al mio ambiente di lavoro.
Certe cose però voglio farle proprio subito, perché ne intravedo i benefici a brevissimo termine.
Il pomodoro, innanzitutto, che comincerò ad impostare come all’ESSAP (25+5). Ma soprattutto le user stories: lavorando da soli e con le piccole aziende è facile che nascano dei “pruriti” che fan sembrare vitali cose di dubbio valore. Comincerò scrivendomele e valutandole da solo, scoprendo il business value con qualche opportuna domanda ma senza parlare di “storie”. Se ne ricaverò dei buoni risultati, porterò il tutto nell’azienda del cliente.
Se va come credo, il prossimo anno all’ESSAP ci mando i colleghi.
Grazie
Grazie a Matteo, a Federico, allo staff (Andrea, Jacopo, Max, Mimmo, Piero), agli speaker e a tutti i miei “compagni di scuola” per la meravigliosa settimana!
July 1st, 2007 at 6:33 pm
Inutile dire che un po’ t’invidio :-)
Grazie per aver condiviso con questo resoconto la tua esperienza… l’anno prossimo magari ci faccio un pensierino :P