Posts
66
Comments
1024
Trackbacks
131
mercoledì 14 ottobre 2009
Agile testing days: storie di vita vissuta

Oggi è stato il gran giorno: il mio primo speech ad una conferenza internazionale, e soprattutto il primo speech in inglese.
Direi che non è andata male, a parte un po’ di preoccupazione iniziale e tanta, tanta tensione durante la demo-live. Ora aspettiamo i feedback, ma sembrerebbe che i partecipanti abbiano gradito…staremo a vedere!!!

La conferenza ora è in fase di stallo per la pausa pranzo, per poi lanciare lo sprint finale. E’ stata un’ottima esperienza e soprattutto l’occasione di toccare con mano la visione dell’ “agilità” che si ha oltre i confini italiani. La cosa che più mi ha colpito è come, negli altri paesi, l’adozione delle pratiche agili e una loro continua evoluzione sia lo standard-di-fatto…parlare con gli altri speacker di user stories o continuous integration e capire che per loro sono una piacevole abitudine, mi ha fatto molto riflettere. Spesso e volentieri quando io e/o Ema proponiamo ai nostri clienti l’adozione delle user stories o altri “gingilli” agili veniamo accolti con facce stralunate e perplesse…speriamo che anche in Italia, prima o poi, la conoscenza e l’adozione delle pratiche agili diventi di uso più comune e non solo dei casi rari e isolati.

Ora mi posso gustare le ultime sessioni (senza la tensione dei giorni scorsi) e domani ci gustiamo Berlino da turisti…sperando che il clima ci venga in aiuto!

Certo…essere al tavolo con Tom e Mary Poppendieck e avere la possibilità di confrontarsi con loro non ha prezzo… <cit.>

posted @ mercoledì 14 ottobre 2009 13.07 | Feedback (47)
lunedì 12 ottobre 2009
Finalmente a berlino…

Eccoci qua!!! Siamo arrivati ieri dopo una levataccia e un viaggio piuttosto “tortuoso”.
Il clima è abbastanza “agghiacciante”: sabato giravo in mezze maniche, qui quasi nevica. Ieri mezza-maratona con
Ema per le vie di Berlino…non è un granchè, sarà per il clima, la pioggia e soprattutto perchè ero sveglio da quasi 24 ore. L’albergo è super e le sale della conferenza non sono niente male.

Ora vi saluto, la conferenza sta per iniziare e oggi è giorno di tutorial…potrei aprofittarne per terminare la demo per mercoledì. Speriamo in bene…

posted @ lunedì 12 ottobre 2009 9.41 | Feedback (9)
giovedì 8 ottobre 2009
Agile testing days: arriviamo…(quasi)

Oggi pomeriggio, insieme al socio, “un quattro o cinque pomodori”…et voilà…la demo per gli AgileTestingDays è pronta (o quasi)
L’idea è quella di riprodurre (più o meno completamente) l’intero processo di build che il
team utilizza nei progetti di tutti i giorni. I task per ora “schedulati” sono:

     - versionamento automatico degli assembly
     - allineamento dello schema del database
     - build
     - unit test
     - integration test
     - deploy
     - metriche del codice (ed oltre) con:
          -
source monitor
          - fxcop
          - simian

Il tempo a disposizione non è troppo e quindi abbiamo cercato di condensare nei sessanta minuti a nostra disposizione i task più utili (per noi, ovviamente)
Altre idee? Suggerimenti? Cose che avreste voluto vedere, ma nessuno ha mai avuto il coraggio di chiedere? :-)

Alla prossima
- melkio -

posted @ giovedì 8 ottobre 2009 20.30 | Feedback (18)
venerdì 2 ottobre 2009
[OT] Training…

In questo ultimo mese, per la prima volta nella mia seppur breve carriera di MCT, ho passato più giorni in aula che in ufficio. L’attività di training è un’attività veramente dispendiosa, soprattutto se svolta con una certa assiduità…e quindici giornate sulle venti disponibili nel mese sono, per me, veramente tante!
L’attività formativa, seppur stancante, mi da la possibilità di entrare in contatto con realtà differenti da quella in cui sono abituato a “sguazzare” e questo è per me un motivo di arricchimento non indifferente. La possibilità, poi, di incontrare ottimi professionisti è motivo di confronto e quindi di crescita. Insomma anche in qualità di docente cerco di “portare via” da ogni giornata passata in aula un qualcosa in più che mi faccia crescere.

Questa cavalcata, che ci ha portati dall’introduzione al .Net framework fino a WPF, mi ha fatto riflettere parecchio: il valore aggiunto che un trainer deve poter dare alle sue lezioni è l’esperienza sul campo.
L’attività formativa, secondo il mio punto di vista, non può essere predominante nelle attività del docente perchè rischia di fargli perdere il contatto con la “vita in trincea” che ogni giorno, chi fa il nostro mestiere, deve affrontare. Un buon corso è, per me, un giusto mix tra la pura teoria ed esempi di vita vissuta che garantiscono a chi segue, un costante contatto con la realtà che già affronta o che dovrà affrontare al termine del corso.

Comunque con questo post mi sento di ringraziare Jonny, Matteo, Michele e tutti gli altri ragazzi che si sono alternati in queste giornate insieme e augurare a tutti loro un grosso in bocca al lupo per la loro nuova avventura nel “fantastico” modo del .Net framework. Alla prossima…

posted @ venerdì 2 ottobre 2009 17.16 | Feedback (11)
giovedì 24 settembre 2009
[OT] My new english blog

Da oggi prende il via un’avventura da troppo tempo rimandata: tenere un blog in inglese.
Per ora l’idea è quella di pubblicare (quasi sempre) i contenuti sia sul blog in italiano (qui su
UgiDotNet), sia su quello in inglese…per il futuro vedremo.

Comunque, chi fosse interessato, può seguire dirattamente i miei post da qui: EnglishBlog, oppure quelli di tutto il team da qui Plastic/Blog.

A presto
- melkio -

posted @ giovedì 24 settembre 2009 14.31 | Feedback (10)
mercoledì 16 settembre 2009
Sql2008: prevent saving changes

Da quando ho installato Sql2008 mi sono ripromesso di imparare lo stretto indispensabile di T-Sql per creare o modificare tabelle, gestire gli indici (and so on…) in modo da creare gli script necessari per gestire e completare l’automatizzazione del nostro processo di build.

L’altro giorno, dopo parecchio tempo, mi è capitata la necessità di modificare tramite il designer la struttura di una tabella e con mio “sommo piacere” mi sono accorto che non è più così immediato come con Sql Management Studio 2005.

Sql error

L’arcano è, però, presto risolto: bisogna disabilitare l’opzione “Prevent saving changes that require table re-creation” che si trova nel menu Tools –> Options 

Options

 

 

posted @ mercoledì 16 settembre 2009 12.32 | Feedback (7)
mercoledì 26 agosto 2009
Video della NDC09

A questo indirizzo è possibile scaricare alcuni video della Norvegian Developer Conference ‘09.
Anche quest’anno alla NDC09 c’erano
speakers di “portata internazionale”…direi che per l’anno prossimo ci potrei fare un pensierino.

-melkio-

posted @ mercoledì 26 agosto 2009 23.25 | Feedback (9)
venerdì 21 agosto 2009
R#: alias o CLR types?

Una delle cose che proprio non mi è mai piaciuta (l’unica ?!?!?) di R# è proprio il fatto che, ogni volta che aggiunge una variabile, una property o un metodo che prevede l’utilizzo di tipi primitivi, li implementa utilizzando i loro alias. E quindi String è string, Boolean è bool, Int32 è int and so on…
Lo so, fossero tutti questi i problemi nel lavoro di tutti i giorni, ma per un “feticista” del codice come me, quegli alias rappresentavano un nota stonata.

Ho girato in lungo e in largo tutte le opzioni di configurazione di R#, ma non sono mai riuscito a trovarne una che mi permettesse di fare in modo che venissero utilizzati i tipi del framework e non i rispettivi alias.
Fino a quando mi sono imbattuto in questo SPETTACOLARE
plugin!!!

E’ vero, i tipi vengono definiti ancora con i loro alias, ma basta un semplice Ctrl+Alt+F per riformattare i miei progetti e farmi finalmente felice.

Alla prossima
- melkio -

posted @ venerdì 21 agosto 2009 10.48 | Feedback (18)
giovedì 20 agosto 2009
Moq<IMessageBroker>: come fare?

In giro per la rete, sempre con maggiore frequenza, si trovano blog e/o articoli che introducono, approfondiscono, sviscera il pattern M-V-VM evidenziando la necessità di disaccoppiare fortemente le componenti della nostra applicazione per renderla il più modulare possibile.
Una delle compontenti maggiormente chiamate in gioco, insieme ai “famosi” DelegateCommand è il cosiddetto MessageBroker, o come viene chiamato in Prism EventAggregator: un gestore centralizzato di eventi che rende completamente “ignoranti” publisher e subscribers.
La rete pullula di diverse implementazioni e non è intenzione di questo post fornirne una, tutta nuova e fiammante.

Il comportamento del MessageBroker è molto semplice, così come la versione della sua interfaccia minimalista che per ora sto utilizzando nello sviluppo delle mie applicazioni WPF:

image

Semplice e funzionale…quindi ottimo!

Ma come potremmo fare nel caso in cui volessimo mockare il broker dei messaggi per utilizzarlo nei nostri unit-test? Come possiamo fare a simulare il Post di un messaggio da un pubblisher di cui non conosciamo nemmeno l’esistenza?
La soluzione che ho trovato (con Moq) è abbastanza semplice anche se non del tutto intuitiva, ma mi permette di mockare effettivamente il MessageBroker senza doverne utilizzare un’implementazione concreta.
Ecco il codice, che come al solito rende l’idea più di mille parole:

image

Che ne pensate? Soluzioni alternative?

Alla prossima
- melkio -

posted @ giovedì 20 agosto 2009 15.36 | Feedback (10)
domenica 12 luglio 2009
SketchFlow: la risposta a due lingue diverse?

“Tecnico” e cliente parlano spesso (sempre?) due lingue diverse. Questa diversità porta a notevoli incomprensioni che sfociano più o meno palesemente nei famosi ritardi o, nel peggiore dei casi, nel fallimento dei progetti.

Il modo più “safe” che abbiamo trovato per evitare questo genere di incomprensioni è quello di disegnare insieme al cliente le funzionalità desiderate definendo l’unico punto di contatto tra il nostro mondo e il loro: l’interfaccia grafica.
Così facendo la definizione delle funzionalità e quindi la scrittura e il peso delle user stories nasce spontaneo (quasi) sempre senza possibilità di fraintendimento.
Lo strumento più usato e più produttivo per questo genere di attività è come al solito la famosa accoppiata “carta e penna”, ma ultimamente stiamo sperimentando anche alcuni tool.

L’efficacia della carta, come è noto, non  ha paragoni, ma uno strumento semplice ed intuitivo, integrato con i nostri “ferri del mestiere” non può che far bene a questo genere di attività. Ecco, SketchFlow si inserisce in questo panorama e credo che darà nuovo impulso a questo nostro (e non solo, ovviamente) modo di approcciare i progetti.

Visto che qualcuno di più illustre di me ci ha fatto una “puntata” presso il .Net London User Group, l’unica cosa che posso fare è suggerirvi di guardarvi il video

 

posted @ domenica 12 luglio 2009 20.25 | Feedback (12)