
Agile VS metodo GTD: quando e perché un metodo è preferibile all’altro
Principali analogie e differenze tra l’Agile e il metodo GTD
17min

Principali analogie e differenze tra l’Agile e il metodo GTD
17min
Episodi di Il tempo che manca
Come abbiamo accennato in apertura, esistono diversi approcci finalizzati a massimizzare la nostra efficienza nella gestione delle attività, ognuno con la sua filosofia, le sue regole e i suoi benefici.
Accade a volte che questi approcci siano in contrapposizione gli uni con gli altri, ma molto più spesso accade invece che possono essere utilizzati in maniera sinergica all’interno dei nostri progetti, a seconda della situazione.
Partiamo però dalle differenze.
La prima, fondamentale, differenza tra Agile e GTD è la ragione per cui sono stati creati. L’Agile è un metodo di gestione delle attività creato per ottimizzare i processi di sviluppo software, mentre il metodo GTD ha scopi più generali.
La realtà però è che i metodi “specialistici” come l’Agile possono essere applicati a qualsiasi tipo di processo e rimangono comunque tra i più efficienti, proprio perché sono stati sviluppati da persone che hanno un disperato bisogno di organizzarsi e lavorare in maniera efficace ed efficiente.
Entriamo più nel merito.
Il termine “Agile” - che essendo una parola anglofona, si pronuncia agiàil - compare per la prima volta nella letteratura del project management nell’anno 2001, quando un piccolo gruppo di sviluppatori software pubblica il “Manifesto for Agile Software Development”.
Per dovere di cronaca è bene precisare che tra i firmatari del Manifesto Agile è presente anche Ward Cunningham, un informatico statunitense conosciuto anche per avere inventato il concetto di wiki, ovvero le applicazioni web che permettono la creazione e la modifica di pagine web in maniera collaborativa.
Prima del 2001 la gestione di un progetto software era di stampo tipicamente Waterfall, secondo cui il processo di realizzazione del software era rigidamente strutturato in una sequenza lineare che comprende diverse fasi: analisi dei requisiti; progettazione; sviluppo; collaudo; manutenzione.
In questo contesto, apportare modifiche al progetto in corso d’opera era pressoché impossibile: sembrava di avere a che fare con il peggior protocollo burocratico. Inoltre, queste fasi richiedevano ognuna molto tempo e molte risorse, col risultato che i processi erano lenti e i team di sviluppo sovradimensionati. L’Agile ha cercato di cambiare tutto ciò.
Analizzare in dettaglio tutti i punti del Manifesto Agile va oltre le finalità di questo approfondimento, quello che invece ci interessa è l’introduzione di quei correttivi che hanno alzato l’asticella della produttività in senso lato.
Il metodo per fare il doppio in metà del tempo 23 min
Scrum
Focalizziamoci quindi sui pochi concetti chiave introdotti dall’Agile che ci interessano in questa sede:
Se hai letto le nostre analisi di ’Getting Things Done’ e di ‘Scrum: The Art of Doing Twice the Work in Half the Time’, avrai forse già capito che l’Agile non è un sistema di gestione delle attività concreto come il metodo GTD. Presenta tuttavia una serie di linee guida da cui è impossibile prescindere se vogliamo migliorare la nostra produttività.
La prima è la necessità di spezzettare qualsiasi progetto di qualsiasi entità in milestone, molto più contenute e gestibili. La ratio fondamentale dell’introduzione degli sprint è quindi limitare l’entropia, perché si sa, gestire una parte è molto più semplice di gestire il tutto.
La seconda è dare limiti temporali ben precisi sia alle milestone, sia alle attività necessarie per portarle a termine. Il motivo fondante di questa pratica è duplice: da un lato acquisiamo consapevolezza di quanto tempo è necessario per portare a termine un lavoro, dall’altro teniamo a bada l’ancestrale inclinazione umana alla procrastinazione seriale. Che è, di fatto, il nemico numero uno dell’efficienza.
«Il lavoro si espande fino ad occupare tutto il tempo disponibile; più è il tempo a disposizione e più il lavoro sembra importante e impegnativo.»
Legge di Parkinson
La terza è valutare costantemente il proprio lavoro, i propri progressi e i propri errori al fine di migliorare le proprie prestazioni. Processo mutuato sia dal metodo Kaizen (termine giapponese che viene tradotto con “miglioramento continuo”), teorizzato ed introdotto da Toyota negli anni ‘80 al fine di migliorare i propri processi produttivi, sia dal metodo Lean Startup, modello teorizzato da Eric Ries per la creazione di startup tecnologiche.
Prima di passare al Metodo GTD, approfondiamo questo concetto esaminando più da vicino la struttura di un’iterazione agile, che rappresenta il fulcro concettuale di questa metodologia.
Il metodo Lean Startup: innovare per avere startup di successo 20 min
Partire Leggeri
Come anticipato poco sopra, nel gergo dell’Agile un’iterazione è un ciclo di sviluppo, che dura solitamente non più di 2 settimane, che serve a far progredire il progetto secondo parametri definiti. In altre parole, il team di sviluppo decide quali funzionalità sviluppare, dopodiché dedica un’iterazione esclusivamente a tali funzionalità.
Ogni iterazione prevede tipicamente 5 fasi, che possono variare o assumere denominazioni differenti a seconda del framework utilizzato o del progetto stesso.
Senza entrare troppo nei tecnicismi, le possiamo sintetizzare in questo modo:
Lo scopo di ogni iterazione è quella di assicurare uno sviluppo incrementale e continuativo al progetto. Un altro concetto molto caro alla metodologia Agile è infatti la Continuous Integration, ovvero integrazione continua, secondo cui l’evoluzione di un progetto software debba avvenire attraverso piccoli blocchi funzionali - e funzionanti - rilasciati a frequenza costante.
Meglio poco ogni poco, che tanto ogni tanto.
Più o meno nello stesso periodo in cui si è affermato il modello Agile, David Allen ha scritto il suo libro best seller Getting Things Done (GTD). Nel suo libro, Allen ha delineato uno straordinario sistema di produttività che si fonda sulla convinzione che "la testa è fatta per avere idee, non per tenerle".
E questo è indubbiamente vero: il numero massimo di elementi che puoi conservare nella memoria di lavoro è di circa 7, quindi se non annoti regolarmente le tue attività finirai per dimenticarle.
Se da un lato l’Agile punta a trasformare una soluzione teorica in un prodotto finito attraverso iterazioni cicliche, l'idea fondamentale del metodo GTD è trasformare le idee in azioni fisiche.
Il primo step di questo metodo è il cosiddetto brain dump, ovvero l’atto di liberare la propria mente trascrivendo su carta tutte le idee, attività e obiettivi che abbiamo in testa. In questo modo liberiamo la memoria di lavoro necessaria per continuare ad operare in maniera efficace, proprio come un computer.
Ora che abbiamo il nostro elenco, il passo successivo è dargli una direzione. Per cui, analizziamo bene ciò che abbiamo scritto e chiediamoci:
Questo processo andrebbe ripetuto ogni settimana, al massimo ogni due. Questo ci serve per mantenerci sulla rotta e per continuare ad essere consistenti. Utilizzando costantemente questa metodologia ben presto ci accorgeremo di aver portato a termine anche i progetti più grandi e complessi.
Un altro tema fondamentale del metodo GTD è quello del next step, ovvero il passaggio successivo, la prossima cosa da fare.
Per ogni voce del nostro elenco occorre stabilire qual è la prossima azione che è necessario svolgere per portare avanti l’attività. Quindi, se abbiamo una voce che dice "scrivere analisi dei requisiti di progetto", il next step potrebbe essere "raccogliere informazioni sul brief di progetto”, oppure “scrivere mail a Lorenzo per info sul progetto”, o qualcosa di simile.
Sicuramente saranno molte le azioni necessarie per completare l’attività, ma ci sarà sempre un’azione più importante da fare prima delle altre. Quella è l’azione da registrare come next step. Registrare costantemente il next step di ogni voce è il metodo migliore per eliminare il carico cognitivo che possiamo avere quando approcciamo un progetto: quella sensazione che ci fa chiedere “e adesso cosa faccio?”
Il metodo GTD per imparare a fare bene le cose 18 min
Getting Things Done
I grandi compiti sono scoraggianti. Così come i progetti complessi sembrano ancora più complessi di quel che sono. Le principali analogie tra metodologia Agile e metodo GTD riguardano infatti la necessità di limitare l’entropia e il carico cognitivo.
Partendo da questo presupposto, possiamo entrare più nel merito affermando quindi che il punto comune tra Agile e GTD è la necessità di classificare le attività e suddividerle in blocchi gestibili.
La prima grande analogia riguarda il concetto di brain dump e il concetto di backlog. Come abbiamo visto, il brain dump del metodo GTD è l’atto di “svuotare il cervello”, ovvero trascrivere su carta tutto ciò che occorre fare per raggiungere un determinato obiettivo. Nella metodologia Agile assolve lo stesso compito il Backlog, ovvero la lista di tutte le funzionalità che dovranno essere sviluppate nel corso del progetto.
Brain dump e Backlog sono entrambi documenti che vanno creati nelle fasi iniziali e che vanno poi aggiornati costantemente. In questa maniera sapremo sempre cosa c’è da fare nell’immediato e nell’immediato futuro: come dicevamo prima, necessità di limitare entropia e carico cognitivo.
La seconda grande analogia riguarda la necessità di suddividere progetti o attività complesse in blocchi più piccoli e gestibili. Se da un lato l’Agile ci insegna a vedere un progetto come un insieme di iterazioni incrementali, dall’altro il metodo GTD ci insegna a vedere ogni attività come un insieme di next step.
Usciamo per un attimo dal contesto professionale e prendiamo come esempio un’attività della domenica come "organizzare il garage". Appena la nostra mente concepisce questo pensiero, subito se ne dimentica e si rifugia in un luogo più confortevole, perché si tratta di un’attività complessa, laboriosa e che necessita di uno sforzo cognitivo non indifferente per poter essere ben figurata in testa.
Kahneman direbbe che ciò avviene a causa della pigrizia del sistema 2, ovvero la parte della nostra mente che gestisce i “pensieri lenti”. Il sistema 2 entra in gioco quando sono necessarie profonde analisi per poter comprendere o figurare un determinato concetto. Lavorare con il sistema 2 è molto dispendioso per la nostra mente, che cercherà sempre una scorciatoia o una via di fuga per non mettersi all’opera.
La chiave è quindi trasformare una singola attività “da sistema 2” in molteplici attività “da sistema 1”, la parte della nostra mente che gestisce i “pensieri veloci”, che comprende concetti semplici al volo e che fa le cose in maniera quasi automatica.
Per approfondire questo tema, puoi leggere la nostra analisi di “Pensieri Lenti e Pensieri Veloci” di Daniel Kahneman, premio nobel per l’economia nel 2002.
Proviamo ora a sostituire il pensiero “organizzare il garage” con “buttare la spazzatura del garage”. E poi ancora con “sistemare lo scaffale con gli attrezzi”. E di nuovo “pulire l’angolo cottura in taverna”.
Che cambiamento! Non vi sentite già più in grado di completare l’infausto compito di “organizzare il garage”? Ancora una volta: limitare entropia e carico cognitivo.
Per ovviare quindi alla sensazione di impotenza e alla voglia di procrastinare che proviamo di fronte a progetti complessi, è meglio suddividere le attività in blocchi prima di iniziare. In questo modo, abbiamo fin da subito una chiara idea delle piccole azioni da compiere per raggiungere il nostro obiettivo generale.
Per scomporre efficacemente un'attività, guardala e chiediti "cosa devo fare per completarla?". Continua fino a quando l'attività non viene suddivisa nei suoi elementi più semplici. È probabile che un'attività dipenda dal completamento di un'altra, ad esempio è necessario acquistare un pennello prima di poter ridipingere le pareti del garage: se non è possibile eseguire l'attività dall'inizio alla fine in una volta sola, è necessario suddividerla.
Conoscere i nostri sistemi di valutazione per evitare gli errori 22 min
Pensieri lenti e veloci
Agile e GTD non sono metodi esclusivi. Se usi l’Agile per gestire i tuoi progetti o processi aziendali, puoi comunque trarre vantaggio da un’applicazione costante del metodo GTD. Così come se già usi il metodo GTD, puoi migliorare il tuo approccio a questo modello attraverso la metodologia Agile.
Un approccio utile è pensare a questi metodi come livelli.
Il metodo GTD rappresenta la base cognitiva per creare efficacemente to-do-list, scomporle in sotto-attività e assegnare la giusta priorità alle cose; l’Agile rappresenta la mentalità con la quale affrontare il processo: svolgere rapidamente i compiti, iterare, misurare. Il metodo GTD riguarda quindi la gestione della routine quotidiana, mentre l’Agile riguarda la creazione di un sistema virtuoso a lungo termine.
di 6