Home Produttività e Time management Agile VS metodo GTD: quando e perché un metodo è preferibile all’altro

4books Originals

Agile VS metodo GTD: quando e perché un metodo è preferibile all’altro

Principali analogie e differenze tra l’Agile e il metodo GTD

Quando ci mettiamo in testa di diventare più produttivi, occorre per prima cosa comprendere che in questo processo il nostro asset fondamentale è il tempo. In effetti, se per ipotesi consideriamo le 5 persone più produttive della terra, tra le tante differenze che separano il nostro stile di vita dal loro, c’è sicuramente un elemento comune: la quantità di ore disponibili in una giornata. Occorre quindi capire come sfruttare al meglio il tempo che abbiamo a disposizione, e per farlo spesso è necessario attingere a metodologie di gestione delle attività di comprovata efficacia. In questo articolo prenderemo in considerazione il metodo GTD di Allen (l’autore, appunto, di Getting Things Done) e il metodo Agile, due metodi diversi per approccio e filosofia che però possono essere utilizzati insieme a seconda del contesto.

Agile VS metodo GTD: quando e perché un metodo è preferibile all’altro

Tanti suggerimenti utili per:

  • Comprendere come funziona la metodologia Agile
  • Comprendere il sistema Getting things done
  • Capire quando e come utilizzarli nella gestione del proprio lavoro

Le idee chiave di "Agile VS metodo GTD: quando e perché un metodo è preferibile all’altro"

01.
L’agile è un metodo di gestione progetti, il metodo GTD ha scopi di produttività più generali
02.
La metodologia Agile nasce per abbattere le rigide strutture dei processi di sviluppo software
03.
L’iterazione Agile è strutturata secondo 5 fasi consecutive di sviluppo
04.
Il metodo GTD punta a trasformare le idee in azioni
05.
Agile e metodo GTD: le principali analogie riguardano il concetto di backlog e di suddivisione delle attività
06.
Agile e metodo GTD: puoi utilizzare questi metodi in modo sinergico
 

L’agile è un metodo di gestione progetti, il metodo GTD ha scopi di produttività più generali

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.

La metodologia Agile nasce per abbattere le rigide strutture dei processi di sviluppo software

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.


Scrum 4books IT
Jeff Sutherland
 Scrum
 Il metodo per fare il doppio in metà del tempo


Focalizziamoci quindi sui pochi concetti chiave introdotti dall’Agile che ci interessano in questa sede:

  • Sprint (o iterazione): lo sviluppo non è più a cascata, dall’alto verso il basso, ma è composto di numerose e piccole iterazioni, ovvero cicli di sviluppo che portano la soluzione “grezza” a raffinarsi sempre più, fino a diventare il prodotto finale
  • Backlog: è la lista di tutte le funzionalità software da sviluppare, da creare a inizio progetto e da aggiornare ad ogni iterazione. Il Backlog è una sorta di enorme to-do-list, ordinata secondo diversi parametri che possono variare da progetto a progetto. È molto importante creare un Backlog il più completo possibile, tenerlo costantemente aggiornato e condividerlo con tutti i membri del team, perché altrimenti non si avrebbe una reale percezione di quello che c’è da fare
  • Timeboxing: sia i cicli di sviluppo che ogni singola attività devono avere confini temporali ben precisi. A questo proposito, la pratica fondamentala è suddividere il progetto in iterazioni della durata di pochi giorni o settimane e stimare sempre la durata di ogni singola attività.
  • Retrospettiva: si tratta del momento fondamentale per aiutare il team a migliorare il flusso produttivo. Al termine di ogni ciclo di sviluppo il team si riunisce per valutare insieme l’iterazione appena conclusa e individuare le azioni per migliorare l’iterazione successiva.

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.


Partire Leggeri 4books
Eric Ries
 Partire Leggeri
 Il metodo Lean Startup: innovare per avere startup di successo


L’iterazione Agile è strutturata secondo 5 fasi consecutive di sviluppo

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:

  • Fase 1 - Requirements: in questa fase vengono stabilite le funzionalità da sviluppare nell’iterazione
  • Fase 2 - Design: in questa fase si progetta l’outcome dell’interazione e si assegnano le attività al team di sviluppo
  • Fase 3 - Develop: in questa fase il team di sviluppo si dedica alla realizzazione delle funzionalità richieste
  • Fase 4 - Analyze: in questa fase si analizza la qualità generale dell’outcome ottenuto dall’iterazione, come ad esempio l’aderenza ai requisiti iniziali e altre metriche importanti che variano a seconda del progetto (velocità, scalabilità, etc.)
  • Fase 5 - Learn & Repeat: dopo la fase di analisi, viene valutata l’iterazione appena conclusa e si decide se proseguire con l’iterazione successiva oppure ripetere quella appena conclusa, imparando dagli errori commessi.  

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.

Il metodo GTD punta a trasformare le idee in azioni

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:

  • Quali di queste attività sono immediatamente azionabili? Se tra le voci in elenco sono presenti delle attività che possiamo completare subito e che richiedono meno di 5 minuti del nostro tempo, Allen ci consiglia di completarle immediatamente. In realtà Allen parla di 2 minuti, dobbiamo però valutare se il tempo necessario a completare tale attività sia inferiore o superiore al tempo che impiegheremmo per pianificarla in un altro giorno. Per tutte le altre voci non azionabili sono invece necessari altri passaggi.
  • Come posso suddividere queste voci in sotto-attività? Ad esempio, se tra le voci in elenco hai scritto “Imparare a cucinare”, dovrai chiederti quali sono le sotto-attività necessarie per imparare a cucinare. Non è ipotizzabile eseguire una singola azione ed essere già un provetto chef, quindi è necessario chiedersi quali sono gli step intermedi. Nel nostro esempio, potrebbe essere cercare un video corso di cucina.
  • Qual è la priorità di ciascuna di queste voci? Quando un’attività non è immediatamente azionabile dovremo stabilire la sua priorità e una deadline credibile per poterla pianificare in maniera consapevole. Se hai difficoltà in questo, prova a chiederti quale sia il valore dell’attività considerata. Il valore di un’attività sta in ciò che guadagni dal suo completamento, è il vantaggio che riceverai in cambio del tuo investimento in tempo. A volte, questo valore si esprime nel breve termine, altre volte solo nel medio-lungo termine: valuta bene le implicazioni di questo prima di passare alla pianificazione.

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?”


Getting Things Done 4books IT
David Allen
 Getting Things Done
 Il metodo GTD per imparare a fare bene le cose

Agile e metodo GTD: le principali analogie riguardano il concetto di backlog e di suddivisione delle attività

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.


Pensieri lenti e veloci 4books IT
Daniel Kahneman
 Pensieri lenti e veloci
 Conoscere i nostri sistemi di valutazione per evitare gli errori

Agile e metodo GTD: puoi utilizzare questi metodi in modo sinergico

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.

preview.img

Prova 4books Premium gratis!