July 17th, 2007 by
Enri
In questi primi mesi trascorsi in GM Technologies sono accadute molte cose interessanti. Il tempo per parlarvene è stato poco, complici anche il caos post-trasloco e le corse per uffici amministrativi. Spero di riuscire a riassumere con una serie di post alcune delle cose che ritengo piu’ importanti.
Uno degli aspetti sul quale siamo in cammino verso il miglioramento è la tecnica del Pomodoro.
Inizialmente in GM si adottava un Pomodoro per team.
Vantaggi:
- ritmo comune a tutto il team
- pause sempre in comune, che significa guardarsi tutti insieme un video su YouTube, scambiarsi informazioni sul progetto, etc
- diminuzione delle interruzioni causate da altre coppie in “pausa rumorosa”
Svantaggi:
- molto spesso il passo di una coppia non è il medesimo di quello delle altre, questo puo’ dare origine a due comportamenti che violano la base della tecnica:
- la coppia entra nel pomodoro quando gia’ partito da qualche minuto
- la coppia cambia il proprio passo, tenendo un ritmo per lei non efficace
- lo svantaggio precedente porta ad una misura dei pomodori effettatuati poco attendibile (miglioramento piu’ difficile)
- quando un’interruzione non viene gestita da una coppia, si rompe il Pomodoro di tutte le coppie?
Read the rest of this entry »
Posted in Diario di bordo, pomodoro |
6 Comments »
November 15th, 2006 by
Enri
Gli ultimi due post (peccatore, e la rivincita), sono stati da me dedicati a parlarvi di un bug che mi ha tenuto occupato per più giorni. Come spesso accade il bug è tanto più infido e difficile da trovare, quanto banale nella sua soluzione.
In questo caso si trattava (appunto banalmente) di un doppio submit fatto da una form con un pulsunte di submit mal scritto. Il button era così scritto: Read the rest of this entry »
Posted in Test Driven Development (TDD), Diario di bordo, Acceptance Test |
No Comments »
November 15th, 2006 by
Enri
Per testare una possibile soluzione a questo bug avevo la necessità di testare l’utilizzo della CPU di un’applicazione Java che in alcune situazioni può creare N thread in parallelo.
L’occasione è stata ghiotta per sperimentare un’estensione di JUnit che permette di testare ambienti multithread. JUnit infatti non offre supporto nativo per questo task, ed anzi il testing in multithread è stato visto dai TDD-scettici come un forte limite all’adozione reale del TDD, ma con GroboUtils o TestNG è ormai banale riuscire a lanciare N thread e a testare che valgano delle proprietà alla morte di tutti i thread in questione, piuttosto che testare che i thread muoiano entro un periodo di tempo, eccetera.
Read the rest of this entry »
Posted in Test Driven Development (TDD), Diario di bordo |
60 Comments »
November 10th, 2006 by
Enri
Oggi vado a casa da peccatore: ho risolto un bug su un’applicazione non scritta da me, e il codice corretto sarebbe da rifattorizzare, ma ho paura. Ho paura perché quel codice non ha nessun test automatico, e perché non mi è chiaro fino in fondo quali requisiti funzionali quel codice implementa.
Inutile dire inoltre che non sarebbe così facile e rapido scrivere dei test “post coding”, magari con l’aiuto dell’esperto di dominio, a causa del design del codice stesso. Persistenza (su più db), service layer e business layer sono una cosa sola, e l’ereditarietà la fa da padrone.
Ma poche scuse: oggi vado a casa da peccatore perché non sono ancora abbastanza bravo da scrivere i test nelle condizioni più ostili: IDE ostile, design ostile, tempi stretti e un ambiente di test di fatto non utilizzabile.
La domanda che mi pongo è: “Quanto voglio diventare bravo?“
Posted in Test Driven Development (TDD), Diario di bordo |
4 Comments »
September 26th, 2006 by
simone
vi porto un’altra esperienza (fin troppo)concreta.
è appena successa e non è - in effetti - niente di nuovo; però bisognerebbe ogni tanto sentirne una perchè ritengo che faccia bene
(un po’ per riderci sopra e un po’ per non abbassare la guardia).
ovviamente non posso svelare i “segreti” aspetti del business, cercherò comunque di rendere l’idea…
comincia così:
“c’era una volta una ditta nella quale si seguivano tanti bei principi agili…
però qualcuno tramava nelle tenebre…”
Infatti alcune “operazioni di business una-tantum” (a volte anche due-tantum
) venivano svolte in modo “selvaggio“. Read the rest of this entry »
Posted in Management, Quality, Diario di bordo, Simone |
4 Comments »
September 7th, 2006 by
Enri
Negli ultimi giorni ho rispolverato le mie conoscenze di PL/SQL, per scrivere dei banali web-service LOW REST invocati da un Interactive Voice Responder, che sfruttano alcune succose funzionalità offerte da Oracle DBMS 10g. Sono tra quelli che credono che 9 volte su 10 non sia cosa buona e giusta scrivere della logica di business nel database, ma in questa situazione ho i miei buoni motivi per farlo (e magari ve ne parlo in un altro post).
Ma veniamo all’argomento del post. Come potete vedere dal logo qui a destra, sono test driven, e quando vi prende il virus, non guarite più
. Ho quindi deciso di programmare a la TDD anche in PL/SQL, anche per la ruggine che si è posata sulla mia memoria.
Read the rest of this entry »
Posted in Test Driven Development (TDD), Diario di bordo |
6 Comments »
September 1st, 2006 by
Enri
Ormai sono rientrato a lavorare da due settimane e (purtroppo) sto lavorando da solo. Solitamente il ritorno dalle vacanze e la mancanza di un compagno portano a poca concentrazione e soprattutto a vagare con la mente su vari task, arrivando spesso a fine giornata con la sensazione di aver “sprecato un giorno”. Questi aspetti uniti al desiderio di tracciare in modo più preciso il tempo speso sulle storie e ad un metodo sistematico per migliorare le stime mi hanno portato alla prima esperienza con la pratica del Pomodoro ideata da Francesco Cirillo. Read the rest of this entry »
Posted in Extreme Programming, Diario di bordo, Metrics, Tracking, pomodoro |
17 Comments »
June 29th, 2006 by
Enri
Chi mi segue da questa piccola finestra (la puntata precedente è comunque qui) sa che da circa un mese non mi è più “permesso” di scrivere codice in PP: il mio attuale e unico collega infatti è allergico alle coppie. Non solo, purtroppo io ed il mio collega abbiamo anche principi prospettive di visione del codice molto differenti, direi addirittura opposte. Ma non è del mio collega (per altro simpatico e di vecchia data) che vi voglio parlare, quanto invece delle mie reazioni e dei miei peccati in questo mese.
Nell’ultimo mese e fino a qualche giorno fa ho prodotto software di bassa qualità, voglio cercare di capire il perché con voi. Sicuramente e per onestà nei miei confronti il motivo principale è la scarsissima conoscenza dei tool utilizzati. Ma questo lo sapete già. Più interessante è invece come il rapporto tra me ed il mio collega, i miei timori e il disallineamento di valori hanno influenzato la mia capacità di creare qualità.
Read the rest of this entry »
Posted in Management, Agile, PairProgramming, Quality, Diario di bordo, holacracy, Values |
9 Comments »
June 28th, 2006 by
Enri
Ieri a Milano si è tenuto il primo giorno della Java Conference 2006.
E’ stata per me innanzi tutto un’occasione preziosa per conoscere di persona gli agilisti dello user group di Milano, nonché per scambiare due parole con Francesco Cirillo e seguire il suo seminario e quello di Bruno Bossola del JUG Torino.
La JC in sè, sinceramente mi ha un po’ deluso. Soprattutto per gli interventi più “ufficiali” nella sessione plenaria del mattino, dove ha parlato tra gli altri anche Gosling (inventore di Java). Il titolo della Conference era “Web 2.0: Il futuro di Internet, Il futuro del Software“, ma se vi aspettavate interventi su Ajax, o su come Java pensa di “reagire” all’avanzata dei linguaggi di scripting, sareste rimasti delusi. Solo un intervento infatti ha affrontato il tema delle comunità ed il tema del social.
Detto questo il pomeriggio con le sessioni parallele è stato più interessante.
Read the rest of this entry »
Posted in Diario di bordo, Acceptance Test |
No Comments »
June 9th, 2006 by
Enri
Ho sentito parlare più volte dell’importanza delle condivisione dei valori all’interno di un team. Fino a qualche giorno fa non ne avevo avuto esperienza diretta all’interno del team di sviluppo, e soprattutto non l’avevo vissuta sulla mia pelle. Negli ultimi due giorni ho invece avuto la fortuna di sperimentarlo, grazie ad una pratica che mi ha permesso di confrontarmi in modo molto stretto con il mio collega sviluppatore: il pair programming. Read the rest of this entry »
Posted in Agile, Extreme Programming, PairProgramming, Diario di bordo, Communication, Values |
No Comments »