Learn

Apprendisti Agili: tra codice e cerimonie

6 Maggio 2021 - 2 minuti di lettura

Da qualche tempo Agile è una parola sulla bocca di tutti: negli ultimi anni è usata, forse abusata, in tutti gli ambiti soprattutto in quello dello sviluppo software, ed è diventata una “buzzword” su LinkedIn e dintorni.

Ma siamo davvero sicuri che il concetto, la filosofia, siano tanto diffuse quanto l’ubiquità della parola stessa farebbe pensare?

Quando ci sei dentro, quando vivi le metodologie Agili quotidianamente, è facile perdersi nella propria bolla. Là fuori, però, nel “mondo libero”, non tutte le aziende sono ancora riuscite a farsi contaminare dalla corrente e qualche volta, anche chi professa di praticarle…in fondo in fondo potrebbe fare di meglio.

Da inizio 2021 si sono uniti al nostro organico due programmatori, Stefano Maffeis e Simone Recupero, provenienti da contesti non Agili.

Quale miglior occasione, quindi, a distanza di qualche settimana dal loro ingresso, per valutare come sia stato l’impatto con una realtà in cui si cerca di applicare giornalmente i concetti presenti nel Manifesto Agile [1], fresco del suo primo ventennio di esistenza?

Come sapete, tutti i team di Intré lavorano con una qualche declinazione delle metodologie Agili (spesso Scrum, ma non solo). Stefano e Simone, in aggiunta all’apprendimento per “osmosi” dato dal normale coinvolgimento nelle attività quotidiane e nelle cerimonie dei propri team, hanno partecipato ad una gilda di studio ad-hoc sul tema, la gilda Scrum. A discapito del nome, il percorso coperto nei 5 incontri ha affrontato una panoramica completa su Scrum [2] e non solo.

Che cosa hanno appreso da questa gilda sulle metodologie Agili?

Facciamocelo raccontare direttamente da Stefano e Simone attraverso un’intervista.

Buona lettura!

Ciao, da quanto tempo lavori in Intré e come ti è sembrato il primo approccio all’Agile?

Sono ormai passati due mesi dal mio arrivo in Intré, un cambio radicale nella mia vita lavorativa, ben più grande di quanto possa apparire dall’esterno. La realtà in cui sono ormai immerso mi ha trasportato in un mondo Agile, un mondo fatto di cerimonie e regole che, all’apparenza, sembrano così lontane da quell’immaginario “artigianale” che molte realtà piccole hanno del lavoro dello sviluppatore.

Dopo tre mesi dal mio approdo in Intré devo dire che il primo impatto con l’Agile può essere sconcertante per una persona abituata, come me, alla consulenza. E’ chiaramente un cambio di mentalità e di concezione del lavoro enorme. Sapere esattamente cosa fare e quando farlo è sicuramente un modo per sentirmi più sicuro nella mia attività professionale.

Come descriveresti la metodologia Agile Scrum?

Il framework Scrum è un approccio molto razionale allo sviluppo di un progetto, basato su cicli iterativi che puntano a suddividere il problema da affrontare nei propri elementi più atomici, e ad elaborarli in modo completo ed esaustivo esprimendo il massimo della qualità.

Il metodo si basa quindi su alcuni “appuntamenti” fissi durante l’arco dell’attività lavorativa. Questi appuntamenti, che si declinano su varie dimensioni con logiche ben precise (giorno, settimana, mese) sono qualcosa di piuttosto intuitivo e facile da comprendere, e per questo la sorpresa è ancora più piacevole quando ci si rende conto del reale beneficio che portano nella vita lavorativa di un team.

Cerimonie, confronti continui, studio, attività di raffinamento (“refinement” in gergo) sono tutti elementi che possono essere visti come un rallentamento nei tempi di sviluppo e consegna dei progetti ma che, se affrontati in un contesto coerente quale quello di una realtà Agile, finiscono per produrre enormi benefici in termini di qualità del codice, attinenza alle aspettative del cliente e soprattutto benessere dello sviluppatore.

Spostando l’attenzione dalla ricerca compulsiva del risultato (inteso come codice scritto) al metodo, si finisce con produrre di più e soprattutto meglio.

Lo Scrum è un metodo di lavoro che ottimizza l’impegno di ognuno dei membri del team allo scopo di farli lavorare nella maniera migliore e nei tempi giusti, il tutto con il fine ultimo di raggiungere la massima soddisfazione del cliente nell’ottenimento del prodotto.  A trarne beneficio sono non solo le singole persone (il team di sviluppo e il cliente) ma anche la qualità e l’organizzazione del lavoro. Il team inoltre, nutrendosi di continui feedback dalle varie cerimonie Scrum quali il Daily Scrum o gli Sprint Review, intraprendono un continuo processo di miglioramento.

Cosa vuol dire essere un Team Agile?

Essere un team Agile significa lavorare in modo ordinato sul progetto, con una ampia comunicazione e collaborazione. Significa, in molti casi, trovarsi in un ambiente con un senso di responsabilità diffusa, in cui si sta bene e si sente di stare tutti remando nella stessa direzione. L’aderenza alle (poche) regole fisse imposte dalla metodologia consente di mantenere alta la comprensione di ciascun membro su quale sia il suo ruolo, dove si stia andando e a che punto del percorso ci si trovi.

Essere Agili significa essere focalizzati all’ottenimento di un risultato. Il Team pone sempre più il focus nell’ottimizzazione dei passaggi automigliorandosi costantemente, il tutto accelerato dai continui feedback ottenuti dalle varie cerimonie che questa metodologia prevede.

Ci sono anche degli aspetti negativi o delle difficoltà che stai trovando nell’applicare la metodologia?

Scrum non è sicuramente solo rose e fiori, e le sfide da affrontare per una persona che lo approcci per la prima volta sono a volte impegnative. Riprendendo la mia risposta precedente, i team Scrum non hanno in genere una struttura gerarchica, e questo può non essere apprezzato da tutti in quanto da un lato richiede un senso di responsabilità diffuso e dall’altro non dà la possibilità ai “leader naturali” di imporsi sul gruppo.

In aggiunta, a volte quando si proviene da realtà molto distanti alcune pratiche possono risultare piuttosto “estranee”, come nel caso del Pair Programming (letteralmente “programmazione in coppia”, un approccio tipico dell’Extreme Programming) che costringe ad un modo di lavorare meno istintivo e più razionale, dovendo spiegare ogni scelta che si compie al compagno o trovandosi a concentrarsi sul codice scritto da altri “in real time”.

In ogni caso, a mio parere e dall’esperienza maturata fino ad ora, i benefici superano di gran lunga questi possibili “fastidi iniziali”, e di reali aspetti negativi devo ancora trovarne.

“Essere Agili”, l’Agilità o l’Agile sono espressioni semplici da comprendere, ma nascondono un’insieme di pratiche e atteggiamenti molto difficile di padroneggiare. Richiede tanto al team quanto al singolo un forte cambio di filosofia nell’approccio al lavoro, richiede un lavoro strutturato e con tempi prestabiliti. Allo stesso tempo questo approccio permette sempre di migliorarsi e di concentrarsi più sulla qualità del proprio lavoro piuttosto che sulla quantità.

Che consiglio daresti a qualcuno che volesse cercare una azienda Agile, venendo da una realtà che non lo è?

L’agilità metodologica è sicuramente un modo moderno per approcciare il lavoro di sviluppo software, che si adatta bene alle attuali esigenze della maggior parte dei progetti e dei clienti. Per questo, a mio parere, tutti gli sviluppatori dovrebbero provarlo almeno una volta nella vita.

Esistono ancora molte realtà che rifiutano l’Agile, così come realtà che dichiarano di praticarlo ma che in realtà non lo fanno correttamente. Non è semplice, dall’esterno e venendo da un contesto non Agile, rendersi conto se chi si ha di fronte lo pratichi davvero o meno.

Ecco, comunque, qualche consiglio che mi sento di dare per cercare di prepararsi alla ricerca:

  • Studia i principi Agili, di modo da capire cosa aspettarti e saper valutare cosa ti viene offerto: se non sai bene cosa stai cercando, difficilmente lo troverai.
  • Fai attenzione agli indicatori riguardanti ambienti di lavoro multitasking, alla richiesta di capacità di gestire una grande complessità: l’Agile cerca di semplificare, dare linearità e razionalizzare il processo…probabilmente, se l’azienda cerca dei pompieri ad otto braccia, non ha un metodo di lavoro Agile.
  • Trova un insider: contatta qualche attuale dipendente e fatti raccontare l’organizzazione e il metodo, potrai farti una idea migliore di come si lavora.

Ogni candidato dovrebbe conoscere l’Agile o almeno i suo principi fondanti, senza ciò non avrebbe alcun metro di paragone. Farsi una cultura generica, la classica “infarinatura generale”, può risultare sufficiente se non si volesse o potesse entrare troppo nel dettaglio.

Per quanto mi riguarda ho fatto ricorso ad un insider, cioè una persona che già lavora nell’azienda, per ottenere informazioni sull’ambiente lavorativo. Oggi come oggi è semplice, si possono sfruttare i social media come LinkedIn.

Cosa potrei chiedere all’insider? Ad esempio si potrebbe domandare quali sono le regole in ufficio, o sul lavoro stesso, o se le varie cerimonie siano stabilite a priori. O perché no, anche domande tecniche del tipo “In azienda usate Jira?”.
La mia è una provocazione, ma oggi molte attività di HR mettono focus più sul mezzo che sul metodo, e Jira è un mezzo. Usarlo non ti rende Agile!.

Un altro mio monito: Sfidante NON è Agile. Se un’azienda, nella sua pagina su Internet o nell’annuncio di lavoro, scrive che è in un contesto sfidante allora è molto probabile non usi l’Agile…diciamo che la parola tende ad essere un campanello d’allarme in generale.

Grazie del tempo che mi hai dedicato, che ne dici di risentirci tra un anno per raccogliere i feedback di come sta andando l’avventura?

Grazie a te, è un piacere poter condividere con altre persone l’entusiasmo di questo cambio di paradigma nella mia carriera lavorativa. Accetto molto volentieri l’invito e chissà…potremmo farla diventare una rubrica annuale, una sorta di “journey through the Agile”. Sono certo che ne vedremo delle belle!

Il cambio di filosofia è stato completato, ammetto che aver partecipato alla gilda Scrum mi ha aiutato enormemente perciò quindi sono io che ringrazio te. Infine rispondo. Per rispondere alla domanda…”Assolutamente sì!”.
Ritroviamoci nell’Aprile del 2022 per verificare, con Stefano, quanto saremo diventati Agili.

Articolo scritto da