Siamo fatti così

Molto probabilmente ricorderai dai tempi della scuola il concetto di mitosi, quello per cui la cellula, raggiunto un certo stadio del suo ciclo di vita e un certo accrescimento, si divide in due cellule figlie duplicando perfettamente il proprio patrimonio genetico e assegnando ad entrambe grosso modo lo stesso numero di risorse.
Se non ricordi la lezione di scienze a scuola forse ricorderai il fatidico momento ricorrente nella serie animata Siamo fatti così in cui i globuli bianchi rispondevano ad un’infezione duplicando rapidamente l’organico di truppe disponibili. Nelle ultime retrospettive in ideato si è pensato di ricorrere allo stesso meccanismo per rispondere agli inconvenienti della crescita: comunicazione più complessa, gestione lenta della conoscenza e colli di bottiglia nel processo a monte del team di programmatori. E così ora ideato si ritrova con due team grandi la metà di quello originale. continue reading »

September 23 2011 | Dalle trincee | 8 Comments »

Lavoro sostenibile. Indefinitamente.

Una delle pratiche primarie dell’Extreme Programming è denominata, nel libro seminale Extreme Programming Explained, energized work. Letteralmente traducibile con lavoro rinvigorito, trovo più felice la traduzione lavoro sostenibile ed è una delle pratiche meno diffuse tra i programmatori, in questo caso spesso senza nemmeno l’alibi del management brutto-e-cattivo. La pratica è banale da descrivere: fatte le tue ore, stacca la spina, torna a casa e fai altro, vivi la tua vita. Distruggerti di lavoro oggi ti impedisce di garantire l’adeguata produttività domani, mancando di rispetto a te stesso, al team e, nei fortunati casi di maggiore autonomia degli sviluppatori, persino al datore di lavoro.

Non esiste alcuna prova che una persona in un team di sviluppo software sia più produttivo lavorando 70-80 ore la settimana invece che 40. Citando Kent Beck

Software development is a game of insight, and insight comes to the prepared, rested, relaxed mind.

E’ già molto facile rimuovere valore da un progetto su cui stiamo lavorando in condizioni normali – per esempio introducendo debito tecnico, ma se siamo stanchi allora il problema diventa accorgersi che stiamo rimuovendo valore. E allora diventa anche interesse del datore di lavoro quello di garantire la sostenibilità ad libitum del proprio processo di sviluppo. Perché

  1. Suo interesse è poter pianificare e per pianificare c’è bisogno di affidabilità.
  2. Suo interesse è consegnare valore una volta per tutte, user story dopo user story, senza doverci ritornare per qualche disattenzione.
  3. Suo interesse è preservare l’integrità del team nel tempo, considerato il valore inestimabile che la seniority ha nel nostro mercato.

Certo, se poi il meccanismo in cui si incappa è banalmente quello di accettare stipendi di qualche punto percentuale sopra la media per lavorare il doppio 30% in più del tempo, allora siamo di fronte ad una raffinata truffa e l’interesse nel lavoro sostenibile diventa tutto dello sviluppatore. Ma a giudicare dalla salubrità del mondo IT in Italia e in Europa, sembra proprio che certe catene siano ancora invisibili agli occhi degli incatenati.

February 18 2011 | Le pratiche XP | 6 Comments »

Roma Extreme Programming User Group, il bilancio di un anno

Ieri l’XPUG Roma si è riunito per il primo incontro di questo 2010. È stato un incontro molto positivo per diversi fattori:

  1. Il tema dell’incontro stesso è stato di per sé molto interessante: abbiamo iniziato a seguire il corso sul Test Driven Development di Piergiuliano Bossi. Di questo devo ringraziare Giorgio Vespucci dell’XPUG Roma che ha avuto questa ottima idea e ThinkCode Labs che ci ha concesso una licenza forfettaria per la visione in gruppo di 10 persone.
  2. Con l’arrivo di nuove persone e una tanto attrattiva occasione abbiamo rischiato che la licenza per 10 non fosse sufficiente. Alla fine per fortuna (nostra) qualche influenza e qualche defezione dell’ultimo minuto hanno fatto il nostro gioco. Record di presenze comunque realizzato.
  3. Detto record è solo l’ultimo episodio di un trend molto positivo innescato lo scorso anno – 12 mesi fa esatti. Nei pochi incontri del 2009 la presenza dei membri e quel sottile sentimento di partecipazione che va oltre la presenza fisica sono aumentati costantemente. Ottimo segno: l’intervento di defibrillazione di un anno fa sta portando i suoi frutti, col contributo di tutti. Abbiamo ancora tanto da invidiare a XPUG italiani ben più blasonati, ma è sempre più importante la tendenza dello stato, no? :)
  4. Il penultimo incontro basato sui kata e quest’ultimo centrato sul corso TDD dimostrano che è possibile crescere se si portano contributi reali alla crescita culturale di tutti. L’introduzione di attività concrete è quanto basta a fare di un XPUG un XPUG sano. Detto questo, il limite è solo la fantasia. Nel frattempo, almeno per un po’, fra kata e corso TDD il programma degli incontri sembra essere già a posto ;)

Ringrazio tutti gli appassionati partecipanti a questa piccola, sobria ma onesta avventura.

February 20 2010 | Eventi | 2 Comments »

Italian Agile Day 2009: Tutti i miei sbagli

Ecco la presentazione che ha accompagnato il mio intervento venerdì scorso all’Italian Agile Day. Incredibilmente anche stavolta ce l’ho fatta in tempi che non richiedono la datazione al carbonio-14. ;)

November 23 2009 | Eventi | 5 Comments »

I have a dream! A saccottino dream!

Saccottino fallato

Saccottino fallato

Sai cos’è questo? Un saccottino.

Non sembra, non è esattamente l’immagine familiare che hai del saccottino che forse ha accompagnato la tua infanzia, ma è invero un saccottino. L’ho trovato ieri nel mio pacco e sono rimasto abbastanza sorpreso. Anzi, devo ammettere di aver provato inizialmente un certo sgomento, una certa diffidenza. Farà mica male? Poi ho capito che si trattava solamente di due mezzi saccottini evidentemente sfasati [1] rispetto alla catena di produzione in azione nello stabilimento industriale dove questi due sfortunati saccottini erano in fase di confezionamento .

Poi ho capito anche un’altra cosa. Il mio sgomento trovava le sue radici nella rarità. Non mi era mai successo di comprare saccottini difettosi. Il prodotto esente da difetti nell’industria del saccottino è una rarità. E così in molte, moltissime altre industrie.

Che l’industria del software sia storicamente di tutt’altra qualità è una cosa che percepisco io e percepisci anche tu, anche senza dati oggettivi.

Ecco, tutto il senso dietro a SCRUM, dietro a Extreme Programming, dietro allo sviluppo agile, dietro al Lean Software Development… è proprio questo: lo sforzo di ricerca di un mondo in cui un software difettoso generi lo stesso sgomento di un saccottino sfasato.

[1] Uno sfasamento di mezzo saccottino è, in termini controllistici, uno sfasamento di 90°. Lo scrivo qui un po’ perché amo le note a pie’ di pagina, un po’ perché l’ingegneria dell’automazione è leggermente off topic in questa sede, ma solo leggermente.

August 25 2009 | Base | 2 Comments »

After-market

Ciao! Forse ricordi che alla fine dello scorso maggio ho avuto il piacere di fare da coach per e-xtrategy. Dopo qualche mese, immagino, di piena dedizione, di tentativi e di errori questo è quello che mi scrive Lorenzo, che tra i ragazzi di e-xtrategy è stato quello che ha proposto agli altri di avvicinarsi ai metodi agili. continue reading »

August 24 2009 | Dalle trincee | 3 Comments »

Virtù emergente: continuous integration

Una riflessione snella, senza pretese, un divertissement estivo. Sarò breve, seguimi.

La teoria della complessità ci insegna che comportamenti complessi possono emergere da sistemi costituiti da agenti semplici in relazione tra di loro in virtù di regole semplici. Craig Reynolds può introdurti a questi concetti sul web con spettacolari sciami virtuali.

Bene. Poniamo ora un team soggetto a queste due regole:

  1. ogni sviluppatore – ogni coppia – deve fare commit del codice solo a test verdi sulla sua macchina
  2. ogni sviluppatore – ogni coppia – deve prendersi carico della risoluzione dei conflitti che incontrerà al momento del proprio commit

È evidente che la probabilità di avere conflitti nel codice tende a 1 col passare delle ore; i commit degli altri sviluppatori infatti avranno sempre maggiori possibilità di introdurre linee di codice non integrabili automaticamente con le nostre. Questo dato sommato al fatto che eventuali conflitti su poche righe sono comunque preferibili a conflitti su interi moduli del nostro software fanno sì che ogni sviluppatore sarà quindi fortemente incentivato a fare frequenti commit che, in virtù della prima regola, non violeranno la stabilità della repository. Abbiamo quindi introdotto con queste due semplici regole una delle pratiche più preziose del contesto agile: la continuous integration.

Spesso introdurre pratiche nuove nei team può essere complicato anche quando il vantaggio che ne deriverebbe può essere facilmente dimostrato. Individuare regole molto semplice e deburocratizzanti può essere molto utile ad indurre i giusti comportamenti nel team di sviluppo con una redditività molto elevata, anche – perché no – in termini di morale.

August 07 2009 | Esperti | 1 Comment »

Scrum non basta. E nemmeno XP.

In un saliente post del caro Alessandro Astarita leggo

Per avere successo con Scrum, XP o ogni altra metodologia agile, bisogna fare refactoring. Non è opzionale, è indispensabile.

tratto da un post di Ron Jeffries.

Il refactoring è una pratica essenziale. Essenziale, nel caso la sedimentazione linguistica non lo portasse alla luce immediatamente, significa relativo all’essenza, fondamentale, che è assolutamente necessario.

Assolutamente necessario.

Troppo spesso si parla di agile – buzzword che francamente sto cessando di impiegare – e si pensa di poter garantire evolutività incrementale solo con un po’ di iterazioni buttate in un calendario e delle user story scritte male. Bisogna essere produttivi per un mercato che cambia. Bisogna essere pronti a rispondere agli stimoli.

Il codice deve essere pronto a seguirci. Ovunque.

June 20 2009 | Base | 1 Comment »

Aprile dolce dormire (su cuscini XP però…)

Questo aprile apparentemente sopito e poco bloggish vede invece un’attività fervente e mi trova in piena preparazione per un intenso maggio 2009 all’insegna dell’extreme programming in Italia.

Meeting Roma Extreme Programming User Group

Stasera, 23 aprile 2009, al Caffé Emporio, Piazza dell’Emporio 1, secondo appuntamento della nuova serie di meeting Roma XPUG. Dopo il gradevolissimo incontro di un mese fa rieccoci per incontrarci fra neofiti, appassionati, professionisti e otaku della metodologia agile dei nostri cuori. Il tema di stasera – deciso la scorsa volta – sarà l’individuazione e la discussione del peggior aspetto di processo in uno dei nostri progetti. Se sei di Roma e dintorni vieni anche tu a mettere a nudo insieme a noi le brutture del tuo modo di lavorare!

Better Software 2009

Il 6 e 7 maggio 2009 a Firenze un evento dedicato ai metodi agili con un occhio al lato imprenditoriale:

Better Software è la prima conferenza italiana dedicata allo sviluppo di software e rivolta a imprenditori e manager del settore.

Io ci sarò, purtroppo avendo mancato stupidamente la possibilità di fare un talk. Mentre mi mangio le mani sicuramente mi attendo una due giorni molto interessante. Ne riparlerò sicuramente su questi schermi.

phpDay 2009

Già ampiamente pubblicato, lo riporto qui solo per completezza su questo maggio de fuego XP. In caso ti fosse sfuggito, eccoti servito: 15 e 16 maggio a Verona; parlerò di contratti agili e preventivi agili, raccontando storie vere di sconfitte waterfall e di cosa è stato possibile impararne.

XP 2009

La più importante conferenza europea su XP e sui metodi agili quest’anno visita nientepopodimeno che la Sardegna! Il costo non esattamente popolare non credo basterà a tenermi lontano da un così intenso programma e – ovvio – dalle spiagge della Sardegna meridionale, che, in quell’ultima settimana di maggio, dovrebbero essere giuste giuste per le prime giornate di mare di questo 2009. Trovo molto interessante la presenza di Mary Poppendieck per approfondire un po’ la conoscenza del mondo lean. Fammi sapere se ci incontriamo lì: porto il pallone da beach! :)

April 23 2009 | Eventi | No Comments »

AgileCamp2009: Lo sviluppo delle mucche viola

Con tempi degni della migliore tradizione della teoria tettonica a placche, ecco qui le slide, il video e la mappa concettuale del mio talk all’ultimo AgileCamp2009. Buona visione/lettura/ascolto!

(dritta: il video è talk fino al 21° minuto poi diventa sessione di domande&risposte)

Mappa concettuale del talk su progettazione della User Experience e sviluppo agile

Mappa concettuale del talk su progettazione della User Experience e sviluppo agile

March 26 2009 | Eventi | No Comments »

Next »