Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /web/htdocs/www.request.to.it/home/frank/scripts/sb_display.php on line 60
Pomodorizzarsi - 3 
lunedì, febbraio 12, 2007, 12:12 - Agile
Eccoci di nuovo qua, ho completato un'altra settimana e sono abbastanza soddifatto.

Lunedí e martedí sono stato dal cliente ed ho totalizzato un onorevole 9, nove pomodori al giorno.

Mercoledí sono in ufficio, ed é piú o meno il solito disastro con 6 pomodori. Il problema é che in ufficio "faccio cose e vedo gente". In effetti di cose ne ho fatte: ho fatto una chiaccherata sulla riorganizzazione interna, ho installato una macchina che stava nelláltra stanza, ho emesso una fattura per farmi pagare.

Ad esempio fare tracking dell'attivitá sistemisitca era difficile, perché la macchina era in un'altra stanza ed ho il pomodoro sw. Inoltre é la stanza dove c'é la segretaria, non posso fare troppo casino... ne fa giá abbastanza lei :)
Finita l'installazione sono poi stato chiamato piú volte durante il giorno per spiegazioni e richieste di installazione di altri pacchetti.

Giovedí e venerdí sono state strane giornate, in quanto al mattino sono stato a casa a guardare il piccolo che era malato. Dovevo fare poche cose molto focalizzate dal cliente ed in 3 pomodori al giorno me la sono sbrigata.

Sono soddisfatto, sto entrando nel sistema, vedo una progressione. Facendo un parallelo con le tecniche di allenamento, direi che la tecnica del pomodoro é equivalente all'EDT (Escalating Density Training) e potremmo soprannominarlo ETD (Escalating Tomato Density): l'obiettivo é incrementare il numero di pomodori nella giornata.

Probabilmente questa sará la settimana in cui il processo diventerá effettivamente parte di me, spero di arrivare a 10/12 pomodori al giorno, anche se non tutti di lavoro effettivo :) Ehi, volete mica che abbandoni il browsing selvaggio, si pomodorizza e traccia anche quello, come giá fatto per lo studio!
FRANK

[ 90 commenti ] ( 10603 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3.1 / 3775 )
Pomodorizzarsi - 2 
lunedì, febbraio 5, 2007, 13:43 - Agile
Ci eravamo fermati il 30 Gennaio.

Il 31 sono sempre dal cliente e sono sempre sui 7 pomodori, l'impressione é che non sia stia migliorando.

Il primo febbraio sono in ufficio, 6 pomodori completati, male, male...Mi sono perso nell'analisi di un prodotto e dopo il primo pomodoro non ho piú ricaricato ed ho continuato per un bel po' senza.

Il 2 dal cliente raggiungiamo gli 8, ma 3 li ho passati in una inutile riunione, ovvero un monologo del responsabile di progetto.

Il bilancio di questa prima settimana é pessimo, ma sono molto motivato. Da oggi, lunedí, mi impegneró maggior mente affiché le cose migliorino.

Come giá detto conosco i miei problemi, e la tecnica li fa emergere in modo inequivocabile:
- bassa concentrazione
- tendenza ad attacarmi al browser
- piú cose svolte contemporaneamente
salvo poi avere momenti in cui
- mi butto a capofitto in una attivitá per ore
- se non ci fosse il telefono che suona alle 17.30 rischierei di non uscire dall'ufficio

Nel frattempo ho cambiato il supporto su cui fare tracking ed ho scelto una bella agenda "bancaria", nel senso che é di quelle donate dalle banche ai clienti che fanno i bravi :)

Per ora preferisco utilizzare solo carta, biro, matita. Quando sentiró la necessitá di strumenti informatici il buon Enri mi ha giá passato i suoi fogli elettronici.

La cosa che mi ha colpito é che comincio a sentire il pomodoro. Le prime volte lo sentivo troppo breve o troppo lungo, invece ora la maggior parte delle volte mi accorgo che sono cominciati gli ultimi 5 minuti e dando un'occhiata al timer ne ho conferma. Il guardare il timer mi ha messo un po'di ansia le prime volte, ma poi é passata. Si é trasormata in consapevolezza.

Alla prossima,
FRANK

[ 49 commenti ] ( 7972 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 3763 )
Pomodorizzarsi 
mercoledì, gennaio 31, 2007, 12:35 - Agile
Sto imparando la La Tecnica Del Pomodoro... uh, e cos'è? Oh cavolo, FRANK si e' dato alla cucina o, peggio, all'agricoltura. No, no, state tranquilli, nulla di tutto ció.

Definiamo il Pomodoro:
- il Pomodoro é un timer da cucina a forma di pomodoro (il mio é un jar che si lancia a linea di comando...)
- un Pomodoro dura 30 minuti: 25 di lavoro e 5 di pausa
- ogni 4 Pomodori (~2 ore) si fa una pausa piú lunga, 15/20 minuti
- non esistono mezzi Pomodori

La giornata dovrebbe essere scandita dal pomodoro che ticchetta e trilla. Ok, e che faccio durante il ticchettio.... semplice, lavoro!
Al mattino il primo pomodoro lo dedico alla pianificazione giornaliera, ovvero decido per sommmi capi cosa faró durante la giornata, me lo scrivo su di un foglio e cerco di dare un stima (sbagliata, neh :) ) di durata di ogni attivitá in pomodori.
Ad esmpio ho stimato per la scrittura di questo post un pomodoro. Se vado fuori stima lo segno, ricarico e riparto con un altro pomodoro per completare il lavoro.

Ci sono alcune semplici regole da osservare mentre il pomodoro ticchetta:
- una interruzione interna (che viene da se stessi) o dall'esterno se non é gestita interrompe il pomodoro corrente: il pomodoro é perso
- non esistendo mezzi pomodori, un pomodoro partito non si puó interrompere e quindi non si puó registrare

Il primo giorno di pomodoro é stato il 25 gennaio. Mi ero allocato per l'intera giornata ben 9 pomodori... ne ho lavorati 6. Vuol dire che ho lavorato effettivamente solo 3 ore. Il pomodoro rende consapevoli del proprio fancazzismo e della proprio disorganizzazione. Il mio problema é che tendo a fare molte cose contemporaneamente. I sei pomodori sono pochi, ma sono 6 pomodori in cui ho lavorato ad UNA solo cosa in modo focalizzato.
Ricorda: il prossimo pomodoro andrá meglio.

Il 26 non é andata molto meglio. 8 pomodori allocati, 6 lavorati.

Il 29 miglioro, 10 allocati, 7 lavorati. Ho subito molte interruzioni che hanno interroto alcuni pomodori iniziati.

Questi primi tre giorni li ho passati dal cliente, dove lavoro in solo-programming. Collaboro con una collega esperta di dominio che mi prepara il lavoro. Beh, in fondo lei e'il mio cusotmer-on-site. Anche se ci sono interruzioni, tutto sommato é un buona ambiente per impratichirsi con la tecnica.

Ops, squillo del pomodoro. Uno non é bastato per scrivere il post.

Eccoci di nuovo qui, un'altro pomodoro e nel frattempo ho fatto pausa pranzo :)

Eccoci al primo giorno in ufficio, 30 gennaio. Qui le cose si fanno difficili. Non ho ancora un'idea precisa delle attivitá da fare, sto poco e vengo interrotto anche per cose supide. Pomodori allocati 7, imprevisto (verifica funzionamento stampante) per il quale stimo un pomodoro, non sufficiete, ce ne vogliono due. Quidi salgo a 9 pomodori allocati, ne faccio 6. Stavo per scrivere che era stata una pessima giornata, ma, con il senno di poi, non é andata malissimo, sono arrivato alle 11, causa guasto idraulico riparato da me stesso medesimo "di pirsona pirsonalmente" (cit.). E sono uscito abbastanza presto, alle 17.45. Dai FRANK, un 6 te lo sei meritato :)

Per ora sono soddisfatto. I miei problemi li conosco: mancanza di concentrazione, troppe attivitá contemporaneamente, frenesia da browsing. Avevo giá provato il pomodoro in alcune occasioni per restare concentrato su di un obiettivo, ma la tecnica completa é sicuramente un'altra cosa. Essere consapevoli a fine giornata del lavoro svolto, e di quello non svolto, conoscere le cause delle interruzioni, avere delle metriche, e tutto con un foglio e una matita!

GLi sviluppi sono molti. Al momento dal cliente ho una visione delle attivitá limitata alla singola giornata e sto lavorando da solo. Questo mi permette di affinare la tecnica senza troppo stress.

In ufficio le cose dovrebbero evolvere in maniera diversa. Almeno in due dovremmo essere, quindi un po' di pair programming si potrá fare. E poi sicuramente avremo un piano, dei rilasci, delle iterazioni. L'idea é quella di farsi le ossa con la tecnica in solo-programming e poi migrarla sul team.

Bene, sta per finire il pomodoro per il blog. Il prossimo é dedicato all'autoformazione: An Introduction to Text-To-Speech Synthesis, alla prossima.

[ 1 commento ] ( 1113 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 3780 )
"Abbiamo il DB!" 
venerdì, ottobre 20, 2006, 10:20 - Agile, Dev
Prologo
Ormai è un mese e mezzo che sono su questo nuovo progetto, nuovamente nel centro di ricerca, che ormai di ricerca ne fa ben poca, della <grande compagnia telefonica>. L'applicazione è sviluppata completamente da zero, ripeto da zero!

Ok, cominciamo con il post.

Il primo giorno, riunione del team, dopo le presentazioni di rito, il capo progetto prende la parola ed esclama: "Abbiamo il DB!".
Ok, ma l'applicazione che deve fare? "Abbiamo il DB!". Certo i dati sono importanti, ma forse sarebbe meglio partire dagli aspetti funzionali e modellare il db su questi. Insomma test, green, refactor ad ogni livello :). "Abbiamo il DB!".

Ok, ci adeguiamo, siamo in 4 sviluppatori, siamo agili. Ogni tanto abbiamo bisogno delle modifiche al db, per assolvere a qualche requisito funzionale (ma dai, "Abbiamo il DB!"). Il db prodotto fa schifo, ed è un complimento. Dopo i primi confronti è scontro aperto, ci viene rinfacciato di non sapere fare il nostro lavoro, che quelli sono i dati e su quelli dobbiamo lavorare. Ci viene detto di rileggerci i sacri testi di basi di dati. Visto il prodotto, mi chiedo se qualcuno abbia sentito anche solo parlare di forme normali. Qualche cosa la otteniamo, ma l'ultima battaglia ci vede vincitori per la modifica, perdenti perchè probabilmente sarà l'ultima.

L'individuo che ha progettato il DB non accetta il confronto, impone la sua idea ed ha spostato la questione sul piano personale. E' indisponente, supponente, altezzoso, geloso del suo operato.
Nella sua visione delle cose, ed anche in quella di altre persone come il capo progetto, una volta fatto il db, il resto sono dettagli implementativi.....
Ah, ovviamente il db viene modificato a piacimento da loro... fortunatamente abbiamo scelto hibernate e con gli h8-tools per eclipse rigeneriamo almeno un paio di volte alla settimana gli oggetti di mapping...

Non siamo una banda di imbecilli. Varie volte ho progettato db prima dell'applicazione, ma questo accadeva nella preistoria (vabbè, 475 anni fa :) )! Visto che si parte da zero, e non si sviluppa su un db legacy, il vantaggio sarebbe quello di partire dai requisiti funzionali, che tanto cambieranno 50 volte, ed adeguare la struttura di db ogni volta.

Il software è molle! E lo si può modellare come argilla, se si ha una buona suite di test automatici.

Ci troviamo così nell'assurda situazione di applicazione nuova e db legacy! Con un db che ha meno di 30 giorni di vita, ma sembra essere stato scolpito nella pietra!

E poi, anche nel caso di db legacy, in questi anni sono state sviluppate tecniche di refactoring anche per quelli, vedi il post di Enri sull'argomento.

Stiamo pensando all'ammutinamento. Ci creiamo una nuova istanza e la modelliamo a nostro uso e consumo.

Mi sembra incredibile, nel 2006, vivere queste situazioni. Sarà che sono orientato verso altri modelli di sviluppo, alla comunicazione, al confronto, ma poi mi guardo intorno e vedo che spesso e volentieri è così.

In definitiva, non penso molleremo facilmente.

[ 173 commenti ] ( 3859 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 2096 )
Il post non postato 
martedì, marzo 21, 2006, 10:11 - Agile
Questo post è il sunto del post che non ho postato prima e che non ho voglia di riscrivere... semplicemente, avevo un post in preview e mi sono sloggato... perso!

I grandi hacker

L'esperimento di ThoughtWorks

Tutto questo per rappresentare il problema delle stelle, individui troppo bravi che mal si integrano in un team perchè lavorano per se stessi e non per il team. Persone che riscrivono dalle 18 in avanti ciò che il team ha scritto fino alle 18.


[ 25 commenti ] ( 2556 visite )   |  [ 0 trackbacks ]   |  permalink  |   ( 3 / 2154 )