Una mega pizza!

(articolo scritto da Andrea Ros)

Così iniziano tutte le serate 4nerds organizzate dal dottor Gross all’oratorio di San Donà di Piave.

E venerdì 11 aprile abbiamo avuto un ospite d’eccezione: Vittore e gli adepti della setta di Symfony.

Sì perché dovete sapere che già qualche anno fa Vittore aveva cercato di indottrinarmi con Symfony, ma a quel tempo non ero ancora pronto per accedere all’illuminazione. Solo dopo un anno trascorso nell’aridità di Zend Framework, e solo perché il Maestro Vittore è sempre disponibile a dare una seconda possibilità, ho capito che Symfony era veramente la strada giusta per i miei progetti web evoluti.

Che ci crediate o no però venerdì sera non ci siamo ritrovati per parlare di Symfony, ma di come si lavora in un team di programmatori. Dovendo riscrivere da zero il sito donboscoland, io, Giovanni e Nicola (e in futuro anche altri) ci siamo chiesti quale fosse il modo migliore per non pestarsi i piedi a vicenda. Vittore e i suoi ci hanno portato allora la loro esperienza.

Prima di tutto è stata presentata la filosofia dello sviluppo “Agile” (pr. agiàil), secondo la quale gli sviluppatori lavorano costantemente a stretto contatto con il committente per far evolvere il software in base alle necessità che via via si presentano. Non più un manualone di specifiche da concordare con il committente fin all’inizio per poi attenervisi puntigliosamente, ma un lavoro produttivo fin dall’inizio, con aggiornamenti frequenti volti a massimizzare in ogni momento la soddisfazione del committente.

Non più software pachidermici, già obsoleti prima di entrare in produzione quindi, ma piuttosto una danza continua tra committente e sviluppatori, in una dialettica di creatività e di eccellenza tecnica.

Vittore ci ha poi presentato le “user stories” come strumento fondamentale per questo nuovo modo di definire le specifiche: lo sviluppo avviene a partire dai comportamenti dell’utente, definendo le risposte che ci si attende dal software (Behaviour Driven Development). In questa visione le user stories non solo permettono di formalizzare quello che ci si aspetta da ogni pagina dell’applicazione, per procedere quindi con lo sviluppo, ma anche di avere già pronte le specifiche per il sistema di test.

Matteo ha proseguito introducendo lo strumento fondamentale per lo sviluppo in team: GIT, che grazie a continui snapshot del codice consente agli sviluppatori di procedere separatamente mettendo poi insieme il lavoro, evitando pasticci e tenendo traccia di ogni singola modifica fatta, dando la possibilità di tornare indietro nel tempo a uno specifico snapshot e consentendo di biforcare lo sviluppo mantenendo una linea master stabile e allo stesso tempo una o più linee di sviluppo parallele relative a funzionalità in corso di implementazione.

Dopo aver visto brevemente il sistema delle bacheche condivise di Trello, la serata è continuata con un laboratorio pratico per la costruzione di macchine virtuali ad hoc grazie a Vagrant: la necessità di testare il software su ambienti software coerenti tra i pc dei vari sviluppatori e la macchina di produzione, con il desiderio di non doversi passare pesanti file ad ogni piccola modifica della macchina virtuale, fa di Vagrant uno strumento eccezionale da padroneggiare assolutamente.

In un’era in cui Internet permette una condivisione globale di conoscenze, e in cui il problema non è trovare le informazioni, ma quali scegliere, l’incontro periodico di un gruppo di amici, amanti della pizza (requisito fondamentale) e appassionati di sviluppo software, è un punto di riferimento e di scambio sicuro che porta a crescere sempre di più sia a livello professionale che relazionale, condividendo le proprie idee e facendone nascere di nuove!

E la prossima volta?… un film per sognare: Interstellar!!! Perché la creatività… va nutrita!