Resoconto Agile Day – parte 1: impressioni e risultati

AgileDay2008LogoIl 2008 è stato uno degli anni più interessanti per l’IT soprattutto dal punto di vista degli sviluppatori.
Molte tecnologie stanno prendendo piede, altre stanno uscendo dal loro bozzo di crisalide ed altre ancora proseguono nel loro cammino di innovazione (pensiamo a Google, Microsoft o Adobe nel campo RIA per esempio).
Ma l’innovazione senza una buona comunicazione non è sufficiente. E per argomenti molto tecnici e “cutting edge“, seppur Internet ed il Web forniscano strumenti senz’altro utili, le conferenze ed i meeting organizzati qua e là sul territorio nazionale servono anche a questo scopo; hanno cioè la funzione di informare ed attrarre i “neofiti” e al tempo stesso fare il punto della situazione tra i professionisti affermati del settore.

Una delle manifestazioni che negli ultimi anni si è fatta maggiormente apprezzare e segnalare per affrontare tematiche all’avanguardia legate al software development ed alla programmazione (ma non solo, come avremo modo di spiegare più avanti) è stata senz’altro l’Agile Day, il cui fulcro, come si intuisce dal nome, ruota intorno alle metodologie agili, sempre più conosciute ed utilizzate anche su suolo italiano.

Il programma si è svolto interamente nella giornata del 21 novembre ma ad un ritmo serrato con ben 5 track parallele suddivise tra panel “classici”, experience report (testimonianze lavorative di persone che hanno utilizzato metodologie agili), sessioni aperte (Open Panel) ed infine i workshop, novità ed assoluto successo dell’edizione 2008.
A distanza di un po’ di tempo, approfittando del Results Day del 30 gennaio (e giorni seguenti), abbiamo chiacchierato con Marco Abis, ideatore e promotore dell’evento, che ,va ricordato, essere stato gratuito per i partecipanti.
L’intervista, a causa dello “spazio tiranno”, sarà pubblicata in due parti; qui segue il primo troncone.

Appunti Digitali: Grazie Marco per la disponibilità. Prima di iniziare ed entrare nel merito dell’ultima edizione, vorrei spiegassi brevemente ai nostri lettori cosa intendiamo per “metodologie agili”.

Marco Abis: Innanzitutto grazie a te Jacopo per questa opportunità. Con “Agile” in questo caso si intende una famiglia di approcci alla gestione e allo sviluppo del software che aderiscono ai valori ed ai principi dell’Agile Manifesto. Ne esistono diversi tra cui sicuramente i più conosciuti sono eXtreme Programming e SCRUM . La migliore risorsa online per cominciare a districarsi tra i nomi,le sigle ed i concetti e’ probabilmente l’elenco di articoli presente sul sito dell’Agile Alliance.

AD: Se tu dovessi brevemente tirare le somme dell’Agile Day 2008 come lo giudicheresti?

MA: La prima parola che mi viene in mente è “intenso”. Ogni anno è un po’ come fosse la prima volta, forse perché effettivamente ogni anno c’è un notevole incremento dei partecipanti. Basti pensare che siamo passati ai 100 del 2004 ai quasi 400 del 2008.
E questo mi rende particolarmente felice perché la comunità Italiana dimostra di esistere e potersi supportare autonomamente. Infatti per il terzo anno abbiamo finanziato la giornata tramite donazioni realmente volontarie: non era necessario donare per partecipare.

AD: Siamo arrivati alla quinta edizione ormai. Che cosa è cambiato in questi anni in merito soprattutto alla percezione delle metodologie agili?

MA: C’è una sicuramente una maggiore consapevolezza che anche in Italia esistano realtà interessate a migliorarsi e stanno adottando approcci agili per farlo.
Una dimostrazione deriva dal fatto che si incontrano team che si autodefiniscono agili anche quando non lo sono. Questo è un aspetto negativo ma significa anche che “Agile” in Italia ha raggiunto quella massa critica per cui si cominciano a vedere anche gli errori e i fallimenti. Succede sempre così quando la curva di adozione di una pratica supera la cosiddetta fase degli “early adopters“.

Agile Day Panel Agile-Pragmatico

AD: Il keynote di apertura di quest’anno è stato piuttosto particolare. Si è infatti concentrato sul dibattito molto recente che vede una sorta di contrapposizione tra l’essere agili e l’essere pragmatici. Ci puoi spiegare brevemente di cosa si tratta?

MA: Tutto è cominciato dalla volontà di sostituire il classico keynote con ospite di rilievo in favore di un panel differente. Un amico, che in questi anni ha sempre partecipato attivamente alla conferenza, mi aveva comunicato di non potersi prestare al ruolo di speaker nella nuova edizione perché entrato in una sorta di “crisi mistica”: dopo tanti anni di applicazione era giunto infatti ad un punto in cui stava mettendo in dubbio le sue stesse competenze e quindi si domandava con quale diritto poteva mettersi ad insegnare agli altri.
Ne seguì un’ interessante discussione perché, almeno dal mio punto di vista, proprio il fatto di aver raggiunto un certo livello di competenza ti porta naturalmente a dubitare delle tue capacità.
Gli approcci Agili spingono molto sul miglioramento continuo, un po’ il socratico “so di non sapere”.
Parte della discussione ruotava intorno al fatto che a suo parere molte persone tornano a casa da un Agile Day energizzate nel vedere tante persone interessate all’argomento, ed è positivo, ma anche convinte che se solo anche loro potessero usare la pratica X o lo strumento Y anche loro sarebbero Agili. E questo è il lato negativo della curva di adozione di cui abbiamo abbiamo parlato in precedenza.
Negativo perché significa ignorare completamente il messaggio di fondo secondo il quale sono i valori ed i principi a guidare e non le pratiche e i tool.  Da qui l’idea di fare qualcosa che mettesse in evidenza anche le difficoltà che si incontrano, i problemi e l’importanza dell’attitudine più che dei nomi e delle etichette.
Neanche a farlo apposta, qualche giorno dopo aver deciso di sostituire il keynote con un panel è scoppiata in rete una discussione a partire dal post di James Shore (autore tra le altre cose di uno dei migliori libri “agili”, ovvero The Art of Agile Development  ndr) intitolato “The Decline and Fall of Agile” in cui James spiega per quali motivi ci sono tanti team che si definiscono Agili che non hanno successo. Anche se non concordo con la forma ed alcune affermazioni – più che altro perché se letto da chi non ha esperienza al riguardo il messaggio di fondo che passa è diverso da quelle che James vuole comunicare – la discussione di fondo è esattamente la stessa che avevo intenzione di far nascere con il panel. Per me personalmente essere Agili significa essere pragmatici ma bisogna stare attenti a non farsi attrarre troppo dall’una o dall’altra ortodossia: devo essere Agile “by the book” all’inizio altrimenti non posso capire come e perché funziona ma devo essere pragmatico e a riconoscere quando qualcosa “by the book” per la mia realtà non funziona ed ha bisogno di essere adattato. E d’altronde l’essere adattivi è un tratto fondamentale dell’essere Agili. Per gli interessati il video del panel e’ disponibile online.

AD: Un’altra novità è stato il social network con il sito agilemovement.it. Segno che i tempi cambiano anche per gli sviluppatori? Come mai hai avuto questa idea?

MA:  Fondamentalmente per pigrizia :). Il sito dell’Italian Agile Movement aveva bisogno di una rinfrescata dato che le due precedenti si erano limitate all’implementazione di nuovi temi e moduli per PostNuke (il CMS che abbiamo usato fin dal 2002).
Invece di installare, configurare e personalizzare un nuovo CMS e poi andare alla ricerca di decide di moduli per fargli fare quello che volevo ho deciso di aprire una community su ning.com e redirezionare lì il dominio.
Questo mi solleva totalmente dagli aspetti di back-end e mi permette di concentrare il (poco) tempo libero sui contenuti e sulla crescita della community.
In realtà il fatto di poter dire “io sono amico di quello e quell’altro” dal mio punto di vista è secondario se non addirittura superfluo; mi interessano invece tutte le altre funzionalità della piattaforma che è in continua evoluzione.

Qui si conclude la prima parte. La prossima settimana verrà pubblicata la seconda, per cui stay tuned come dicono gli anglofoni.

Press ESC to close