papo we(b)log

software engineering slave!
posts - 29, comments - 49, trackbacks - 26

domenica 6 luglio 2008

Customer Test-Driven Development with FIT and FitNesse

no, non è un post in inglese. il titolo si riferisce alla sessione che io e il mio collega Tommaso abbiamo tenuto lo scorso giovedì per i ragazzi della ESSAP (European Summer School on Agile Programming) presso Villa Toeplitz a Varese. è stata un'esperienza stupenda, sia per il fatto che ci siamo tutti divertiti moltissimo, sia per l'interesse che i partecipanti (un po' assonnati per il post pranzo!) hanno dimostrato verso i temi esposti.

putroppo, questa era la prima volta che la sessione prendeva corpo, e quindi sicuramente non siamo stati efficaci quanto speravamo: l'argomento è insidioso perchè offre il fianco a lunghe discussioni puramente tecniche, errore in cui siamo caduti anche noi. il pubblico, una ventina di ragazzi da tutta europa, era molto eterogeneo, chi vedeva per la prima volta le tematiche legate ai metodi Agili, accanto a chi invece già adotta alcuni principi e pratiche nel proprio lavoro ed era lì per affinarli o capire come farli meglio funzionare.

abbiamo scelto di dividere la sessione in due parti. prima un'introduzione al concetto di iterazione e test di accettazione scritti da/con il cliente, quali possibili forme usare per scriverli e quali tool esistono a supporto. abbiamo descritto in dettaglio il funzionamento di FIT e FitNesse e mostrato le principali fixtures usate, quelle di FIT e alcune di FitLibrary.

nella seconda parte della sessione invece abbiamo fatto un esercizio, partendo da un esempio scritto da noi (una variazione di quello che i ragazzi avevano già visto in altre sessioni): un semplice gioco di ruolo per il quale abbiamo realizzato una decina di user stories, corredandole di test unitari e test di accettazione. quindi abbiamo eletto a customer uno dei ragazzi nel pubblico, chiesto a lui di inventarsi la prossima user story e iniziato a descriverla in forma testuale su una lavagna. prendendo spunto da quanto già fatto per le altre storie, abbiamo poi scritto un test di accettazione, sempre su lavagna, e tradotto poi in forma tabellare.

il resto del pomeriggio (troppo breve!) i ragazzi hanno così lavorato in coppie cercando di implementare la storia richiesta, partendo dalla traduzione in FitNesse del test di accettazione, collezzionando una bella "barra rossa", doverosa a inizio iterazione. hanno poi iniziato a decidere dove porre le responsabilità richieste, e mi pare che tutti abbiano deciso di assegnarle a oggetti già esistenti, iniziando così a scrivere i test unitari, a vederli fallire uno ad uno, per poi modificare il sistema e godersi il premio di una barra verde!

anche se l'esempio era molto semplice e le modifiche da aggiungere davvero limitate, ho notato la soddisfazione sopratutto dei ragazzi nuovi alle tematiche ad ogni esecuzione con successo dei test unitari. è quello che in eXtreme Programming viene detto il valore del feedback, assolutamente fondamentale.

prima di andare a casa, tutte le coppie sono riuscite a chiudere la micro-iterazione, verificando che il loro lavoro fosse corretto e concluso, vedendo passare con successo anche il test di accettazione. qualche coppia, avendo finito in anticipo, ha iniziato a lavorare su una seconda carta, inventata al momento. mi spiace solo che l'abbiano scelta loro invece di coinvolgere il "customer-per-un-giorno", ma è comprensibile dato l'entusiasmo e la brama di giocare col la pratica e lo strumento.

a me non resta che ringraziare tutti: gli organizzatori (primo tra tutti il mio coach Matteo) per l'occasione concessa e i partecipanti per le ottime domande a cui abbiamo cercato di rispondere in modo conciso. da parte mia, è stata una giornata splendida, mi ha fatto crescere come "speaker", ruolo per me nuovo, ho avuto anche l'occasione per conoscere di persona alcuni nomi "digitali" (come Luka), e si è conclusa con uno ottimo social-dinner!

il materiale della sessione sarà presto disponibile sul sito della ESSAP, nel frattempo è raggiungibile qui:
le nostre gesta sono anche state immortalate! più le rivedo e più sorrido. in ogni caso, sono qui, qui, qui e qui (peccato non si veda la scritta sul mio tesserino "Jacopo - xtreme guitarist", nascosta dalla maglia rosso acceso!).

grazie ancora a tutti, spero la scuola possa farsi conoscere ancora di più, magari nelle prossime edizioni ci troveremo anche molti della comunità ugidotnet!

a presto.
-papo

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (2) | Filed Under [ TDD XP ]

Powered by:
Powered By Subtext Powered By ASP.NET