06.09.2006 - sede Sinapsi, viale Bligny 27, Milano
19:00
Configurazioni varie
Gli altri stanno già preparando le postazioni di lavoro. Scaricano il progetto, modificano quelle due o tre impostazioni che servono
Obiettivo
- vedere la barra verde dell'unico test di accettazione che passa "gratis" (grazie Gabriele)
- poter lanciare un test unitario e vedere - a dipendenza - la barra rossa o verde
Introduzione al lavoro
Gabriele introduce il modo di lavorare ed io spiego brevemente in cosa consiste quella che chiamiamo "sfida".
Il pomodoro di 15 minuti suscita già qualche perplessità tra chi ha letto le mie considerazioni iniziali.
Il vantaggio di provare "la sfida" è principalmente che si potrà sperimentare - anche se in piccolo - un surrogato della metodologia stessa che però dovrebbe essere indicativo soprattutto perchè molto concreto e basato su qualcosa da produrre, in pratica un mini-xp.
Dopo questa brillante trovata di marketing mi ritrovo con cinque volontari e - nel gioco delle coppie per creare i pair - devo rinunciare a Matteo che farà coppia con Uberto. Nota personale: Matteo e Uberto praticano da tempo sia le metodologie agili che la programmazione in Java o per lo meno sono ben piazzati in entrambi, forse non sarebbe stato così interessante nè per loro nè per me in quanto non ci sarebbe stato molto da sperimentare.
Definizione dei pair e brevi spiegazioni
Le quattro persone a mia disposizione sono quindi: Roberto, Franco, Fabio e Luca.
Già da subito si capisce che sono molto motivati (d'altro canto sono volontari tra i volontari) ed hanno molta voglia di cominciare e questo è un fattore molto positivo!
Il meccanismo è abbastanza semplice, si prova come definito senza farsi troppe domande. Valutazioni alla fine.
20:00 - si parte
Riceviamo la storia dal nostro cliente, si tratta di visualizzare in html delle news già presenti in una cartella sul filesystem.
Mini pianificazione
L'obiettivo è spezzettare la storia in task dettaglio dei task, che abbiano uno o più test unitari e della dimensione massima di due pomodorini, altrimenti ci tocca dividerli ulteriormente.
Particolare: viene creato un task che dovrebbe leggere le news da una directory ma viene buttato perchè giudicato troppo pretenzioso.
Viene sostituito da:
- Lettore directory: riceve una directory e restituisce i percorsi dei file nella stessa
- Lettore news: riceve un percorso e restituisce una news (al momento non sappiamo ancora in che formato, speriamo che per allora la classe News sia già stata sviluppata in modo da poter creare oggetti di questo tipo)
I task vengono quindi stimati (1 o 2 pomodorini) e vengono ordinati in modo da parallellizzare il più possibile il lavoro.
20:21 - Primo pomodorino (inizio)
20:27 - Intervento
Una rapida occhiata ai codici evidenzia subito un'incongruenza:
Mentre da una parte i metodi si chiamano setTitle e getDescription, dall'altra c'è la classe LettoreDirectory.
Breve interruzione: "Adesso potete ancora scegliere, italiano o inglese, poi però dovete attenervi alla vostra scelta"
In pochi secondi il team vota per l'italiano e il team anglofono deve rinominare i suoi metodi.
20:30 - Problema
Il lettore directory legge anche i file nascosti nella directory, nel caso specifico un .svn
Quando ci si aspetta che ci siano quattro file quindi se ne trovano cinque.
La soluzione "volante" è quella di utilizzare una nuova cartella invece di quella dove risiedevano le news da caricare (così non ci sono file nascosti).
20:36 - Primo pomodorino (fine)
- Classe News - Finito, test funzionante (stimato 1p, effettivo 1p)
- Lettore Directory - Finito, test funzionante (stimato 1p, effettivo 1p)
Un buon inizio, anche gli sviluppatori sono felici, soprattutto chi è riuscito a far passare il test negli ultimi due secondi validi, vero Fabio?
Anche se è poco ci dà morale...
Un attimo di pausa e si riparte.
20:40 - Secondo pomodorino (inizio)
20:55 - Secondo pomodorino (fine)
Comments (0)
You don't have permission to comment on this page.