Il mio phpday2010

Quest’anno per la prima volta, preso un po’ da questa onda social che non si era mai presentata in me, ho partecipato al #phpday2010.
Quest’anno posso dire: “C’ero anche io!”. Non che prima non conoscessi questa manifestazione, anzi, diciamo che l’ho sempre seguita … solo che a posteriori, su blog, riviste e quant’altro (in fondo sviluppo in php da quasi 10 anni).

La manifestazione si è svolta dal 13 al 15 di maggio a Corropoli (Te), a pochi km da Alba Adriatica. Giovedi a parte, durante il quale abbiamo potuto godere un buon tempo, tutti gli altri giorni non ha fatto alto che piovere. Qualcuno aveva detto, phpday bagnato, phpday fortunato … Sembra proprio sia stato così.

Questi sono i corsi che ho seguito, ne avrei seguiti molti di più, ma purtroppo non ho ancora il dono dell’ubiquità. Ripieghero recuperando slide e streming video salvati.

Giorno 1

  1. Agile Software Lifestyle – Francesco Trucchia

Giorno 2

  1. Continuous Integration e PHP – Daniele Teti
  2. Dependency Injection – Fabien Potencier
  3. Qualità totale – Jacopo Romei
  4. Testare l’ignoto – Michele Orselli e Filippo de Santis

Giorno 3

  1. Don’t touch the slow parts – Federico Galassi
  2. Striving toward better code with PHP – Stefano Maraspin
  3. Introduction to GIT – Scott Chacon
  4. Quality Assurance in managing web projects of medium and large size – Memi Beltrame
  5. Architettura e testabilità – Giorgio Sironi

Sviluppo Agile, Continuous Integration, Test Driven Development (TDD) , sono stati sicuramente i temi piu trattati di tutto il phpday. Sono concetti emergenti (non più di qualche anno), almeno in ambito php, che vanno assolutamente acquisiti per poter lavorare  in un processo industriale. Il php come linguaggio ha dimostrato che può essere adatto alle realtà enterprise. Il processo di sviluppo deve fare lo stesso. La risposta è Qualità e Sviluppo agile.

Il metodo Agile, si contrappone al modello Waterfall e al modello iterativo: modelli ormai troppo vecchi per la gestione di progetti con clienti dei nostri giorni. Il metodo agile, è tale perche è in grado di cambiare direzione non appena lo si ritiene necessario.

La metodologia agile non risolve i problemi, li fa rilevare prima

Alla base di questa metodologia ci sono principalmente due cose:

  1. Qualità del processo di sviluppo che deve essere tenuta sotto cotrollo attraverso dei Feedback ( a molti livelli )
  2. La capacità di integrare il cliente nel team di sviluppo aumentando il piu possibile la comunicazione tra le due entità

Se lo sviluppo Agile è in grado di scovare le incomprensioni tra la soluzione richiesta (cliente) e la soluzione proposta (team sviluppo), la Continuos Integration è in grado di scovare le incompatibilità software fin dal principio. Il concetto di base è semplice: Invece di fare il deploy nel momento in cui stiamo per rilasciare la demo al cliente, prepariamo tutti gli ambienti necessari allo sviluppo e alla produzione fin da subito ed ogni volta che rilasciamo una nuova feature del nostro sw la replichiamo su tutti gli ambienti da quello di test a quello di produzione. In questo modo siamo certi che la maggior parte dei problemi di incompatibilità, non sarà riscontrata solo al deploy, ma appena inseriamo l’elemento incompatibile. Lo strumento necessario a questo fine è il test. Ovvero tutto questa funziona se siamo in grado di stabilire con una ragionevole certezza che il nostro codice è scritto bene e fa il suo dovere.

Lo stress è inversamente proporzionale al numero di test

Quando si parla di test ci si puo riferire o ai test unitari o ai test funzionali. I primi sono rivolti alla valutazione del funzionamento di una singola classe, mentre gli altri si occupano di valutare una funzionalità nel suo insieme.
Per verificare che ogni cosa sia rimasta al suo posto ogni volta che ampliamo le funzionalità del nostro software dobbiamo scrivere dei test che testano questa funzionalità. Utilizzare la continuos integration significa ri-avviare questi test ogni volta che estendiamo il sw e verificare che non si sia rotto nulla (tutto verde).

Il concetto si estende quando si parla di TDD ( Test Driven Development). Sono i test che guidano lo sviluppo. In poche parole: bisogna scrivere il codice del test prima di scrivere il codice che risolve la nostra feature. Questo dovrebbe facilitare l’approccio al problema e non solo garantisce che quello che si sta scrivendo sia corretto ma anche che non si stia scrivendo codice superfluo.

Ed Io ?

Io sono relativamente nuovo a queste tecniche, grazie soprattutto all’intervento di Garak, con il quale sto avendo il piacere di lavorare in questi ultimi mesi, sto provando sulla mia pelle la bontà di alcune delle metodologie sopra descritte.

Una cosa è certa, faccio tesoro delle cose che ho conosciuto e cercherò di farle mie il più possibile.

In tutto questo colgo l’occasione per salutare alcune persone che ho avuto il piacere di conoscere in questi giorni: Steve Maraspin, con il quale spesso abbiamo avuto modo di scambiarci più di una opinione dopo i corsi, ottimo relatore, dalle risorse inaspettate ( nel suo corso ha tirato fuori un ottimo inglese, oltre a degli ottimi contenuti). Stefano Paolo Mainardi, che oltre ad aver soccorso il mio collega accompagnandolo in farmacia, mi ha permesso di verificare di persona alcune esigenze della mia applicazione sul suo iPad. Jacopo Romei (ancora dobbiamo capire dove ci siamo già visti! ) che ha tenuto un ottimo talk sulla Qualità e con il quale abbiamo avuto il piacere di condividere il viaggio di ritorno. Cirpo che mi sta ancora odiando per quella cosetta sul suo mac e con il quale abbiamo avuto il piacere di cenare insieme ben due volte (Quando arrivi a roma fai uno squillo un PUG ci aspetta!).
Ultimo ma non meno importante, il mio fedele collega di viaggio Zepod con il quale ho condiviso l’intero evento!

Doveroso ringraziamento alla mia società (Archebit) che ha finanziato interamente la mia presenza al phpday2010.

6 pensieri su “Il mio phpday2010

  1. davvero un’ottima recensione. E’ stata una grande esperienza che ha insegnato un pò a tutti a far meglio il nostro lavoro.
    Spero che lo legga anche ‘qualche’ Pm che gli servirebbe proprio taaaaaaaaaaaaaaaaaaanto….

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...