Parlando di Metodologia Agile e sue applicazioni, ci sono diversi modi in cui è possibile mettere in pratica questa tecnica in contesti diversi.
Ho già parlato più di una volta della metodologia agile e dei suoi principi generali, puoi trovare maggiori spiegazioni in questo articolo.
Qui voglio fare qualcosa di più ed entrare maggiormente nei dettagli.
Voglio portarti alla scoperta delle principali modalità con cui è possibile gestire un progetto attraverso la metodologia agile e in numerosi contesti applicativi in cui è possibile utilizzarla.
Insomma, gestire un progetto in modo Agile non ha un solo risvolto ma innumerevoli e te li presenterò nei prossimi paragrafi.
Siediti comodo e continua a leggere.
La Metodologia Agile come nuova frontiera del management moderno
Le possibilità del Management moderno si stanno sempre di più ampliando e arricchendo rispetto al contesto tradizionale.
Se fino a qualche tempo fa era diffusa la pratica di avere tutto il potere decisionale concentrato nelle mani del manager e del capo, sempre più spesso si è visto che questa pratica porta al collasso dell’azienda e l’incapacità di saper far fronte ai cambiamenti del mercato.
In questo contesto, e per la necessità di di dare maggiori responsabilità anche ai singoli membri del team, la metodologia agile è vista come la nuova frontiera del management moderno.
Un approccio nuovo che sa essere efficace ed efficiente in tantissimi contesti oltre ad essere in grado di seguire i cambiamenti repentini del mercato.
Quali sono i benefici di affidarsi alla metodologia agile?
I benefici nell’adottare una metodologia agile possono essere davvero numerosi, certo, non è applicabile al 100% in tutti i contesti ma è bene conoscere il suo grado di funzionalità.
L’Agile Project Management consente innanzitutto cambiare le modalità con cui vengono sviluppate le soluzioni aziendali e il loro miglioramento.
Grazie a dei team estremamente snelli, performanti e al potere decisionale decentrato, è possibile ottenere dei risultati concreti in un tempo molto più compresso rispetto alle aziende tradizionali.
Non solo.
L’approccio agile consente di ridurre al minimo i tempi, per questo viene adottato nelle startup cosiddette Lean, come vedremo anche meglio in seguito, permette di scoprire molto in anticipo difetti o malfunzionamenti di un prodotto.
Insomma, se il product-market-fit non è adeguato oppure gli utenti non gradiscono determinate funzioni, sarà il mercato a dirlo e sarà possibile porre rimedio in anticipo.
Tutto ciò porta il flusso a concentrarsi in maniera precisa sui bisogni del cliente.
L’User è al centro di tutto, è lui a sperimentare le funzioni in versione beta, fare test e anche a proporre miglioramenti nel caso in cui lo ritenesse necessario.
A questo punto, sta al team agile raccogliere tutto questo materiale e dare delle priorità attraverso una pipeline dinamica.
Spesso è difficile non lasciarsi sopraffare dalle richieste degli utenti e quindi ottenere l’effetto opposto.
L’abilità di un team ottimale sta proprio nel tenere sempre a mente gli obiettivi e raggiungere un compromesso tra direzione aziendale e richieste degli utenti.
Nel prossimo paragrafo approfondiremo più nei dettagli questi concetti.
5 Tipologie Applicative della Metodologia Agile
Adesso vediamo insieme quelle che sono 5 tipologie applicative della metodologia agile.
Parleremo di Metodologia Scrum, Metodologia Kanban, Adaptive Software Development, Feature Driven Development e Lean Software Development.
Continua a leggere.
1. Metodologia Scrum
La Metodologia Agile Scrum è basata su un framework agile, incrementale ed iterativo, realizzato per lo sviluppo di prodotti, app e servizi, soprattutto software ed informatici.
Che cosa vuol dire Scrum?
Con “scrum” si identifica una parola inglese, presa in prestito dal mondo del rugby, che si utilizza per parlare di mischia, ossia quell’azione in cui tutta la squadra collabora per arrivare alla meta e fare punto.
Questo concetto ha molto a che vedere con un team che collabora per raggiungere un risultato finale, presto capiremo perché.
Il Metodo Scrum si basa sull’empirismo, ossia sul concetto che la conoscenza derivi dall’esperienza e che le decisioni vadano prese alla luce di ciò che si conosce.
I tre pilastri che sostengono il pensiero empirico sono: la trasparenza, l’ispezione e l’adattamento.
Vediamole in dettaglio!
- Trasparenza
La trasparenza rappresenta la fase in cui ogni membro del team è messo a conoscenza di problematiche e dei progressi del progetto, nessuno escluso.
Non ci sono grossi consigli direzionali che prendono le decisioni e gli altri eseguono, ognuno è messo al corrente di come e perché si prendono le decisioni, anche le più importanti.
Con un approccio così trasparente ogni membro del gruppo si sente chiamato in causa e sicuramente più coinvolto rispetto a eseguire semplicemente degli ordini.
- Ispezione
L’Ispezione rappresenta la fase in cui tutte le risorse mostrano ed assistono allo stato avanzamento lavori rilasciando feedback ed eventuali revisioni.
Altro aspetto molto importante del processo è che la revisione non è finale ma avviene in corso d’opera.
Non solo.
C’è uno spirito critico molto sviluppato che permette a ciascuno di lasciare dei feedback mirati e precisi sul lavoro svolto in modo da migliorarsi a vicenda nel più breve tempo possibile.
- Adattamento
L’Adattamento rappresenta la fase, derivante dalle precedenti, in cui vengono risolti eventuali problemi, anche previsionali, prima del rilascio del progetto.
Stiamo parlando di una fase totalmente innovativa rispetto a un approccio classico di gestione dei progetti.
Qui viene contemplato l’imprevisto, l’idea che una direzione non è scritta dal principio ed eseguita senza prendere decisioni critiche ma nasce dalla voglia di migliorarsi e tenere sempre gli occhi aperti sulle mutevoli condizioni esterne.
Uno step che permette di fare dietro-front ma anche di salvare la situazione quando i vecchi piani non sono più consoni alle attuali condizioni.
Adattarsi significa cambiare la tabella di marcia, far virare tutto il team e farlo in modo coeso e condiviso. In questo, la compartecipazione nelle decisioni e lo svolgimento di riunioni con la presenza di tutti si rilevano dei fattori chiave per il successo.
2. Metodologia Kanban
Il Metodo Kanban è una metodologia di gestione dei progetti in cui il controllo delle scorte di una qualsiasi azienda viene eseguito solo nel momento in cui queste ultime vengono terminate.
Questo metodo nasce in Giappone, negli anni ’40, grazie a Toyota, l’azienda automobilistica che per prima sviluppò questa nuova modalità di gestione dei progetti.
Il Kanban è stata la chiave vincente per gestire il sistema produttivo dell’azienda giapponese, che attraverso la gestione efficace ed efficiente delle scorte e dei prodotti ha ottenuto un vero e proprio vantaggio competitivo sul mercato.
Ma che cosa significa “kanban”?
Il termine “kanban” fa riferimento a due tipologie di gestione progetti: la prima, “Kanban”, scritta con la kappa maiuscola, identifica una metodologia di sviluppo software, mentre la seconda, “kanban”, scritta con la kappa minuscola fa riferimento all’uso di cartellini, utilizzati come segnalatori visuali, per la realizzazione di sistemi pull nel ciclo produttivo aziendale.
Sei curiosi di applicare questa metodologia al tuo progetto? Vediamo come fare nel prossimo paragrafo.
Come funziona il Kanban?
Il metodo Kanban si esegue, operativamente, attraverso delle lavagne, sulle quali vengono utilizzati dei cartellini, che possono anche essere gestiti da un software, per tenere fissi i miglioramenti e per aiutare il team nella gestione dei processi, impegnando le risorse in una giusta quantità di task, prevenendo, in questo modo ritardi o sovraccarichi di lavoro.
È possibile quindi dividere il progetto in diverse “pile” sulla lavagna a cui assegniamo delle risorse ben precise solo nel momento in cui queste sono necessarie.
Questo approccio ci permette di tenere le scorte sotto controllo e intervenire laddove necessario senza un lungo preavviso.
3. Adaptive Software Development
È una metodologia agile ideata da Jim Highsmith, direttore del Cutter Consortium’s Agile Project Management Advisory Service.
Questa metodologia è composta da un insieme di regole di sviluppo software inserite in un sistema complessivo detto Agile Project Management i cui concetti base sono tre:
- Leadership-Collaboration Management – Uno stile di gestione misto fra gerarchico e collaborativo;
- From Processes to Pattern – Passaggio dall’idea di processo definito e misurabile a quella di processo non perfettamente definito, quasi un processo fuzzy;
- Peering into the Future – Osservazione del futuro per capire come l’idea che produrrà un affare di successo debba essere legata al momento in cui diventerà una forma di business.
Jim Highsmith e Ken Orr affermano che Adaptive Software Development può funzionare solo ed esclusivamente se l’intero team è consapevole dell’importanza del lavoro di gruppo e spiegano come si discosti, ad esempio, da Extreme Programming su punti essenziali concentrandosi sulla strategia della Leadership-Collaboration Management e sull’adattamento totale al progetto in lavorazione.
Alla base ci sono dei principi ben precisi che possiamo riassumere come segue:
- sviluppare qualcosa di utile;
- coltivare la fiducia degli stakeholders;
- utilizzare Leadership-Collaboration Management come stile gestionale;
- costituire gruppi di lavoro competenti e collaborativi;
- far sì che il team abbia la possibilità e sia in grado di prendere decisioni;
- consegnare spesso nuove versioni all’aggiunta di nuove funzionalità;
- incoraggiare l’adattabilità;
- cercare di ottenere l’eccellenza tecnica;
- quando possibile, aumentare il volume di dati immessi.
4. Feature Driven Development
Si tratta di una metodologia agile applicata allo sviluppo software iterativo e incrementale fatto di un mix di pratiche ben eseguite.
Queste pratiche hanno come priorità lo sviluppo di funzioni, features appunto, che sono orientate alle esigenze del cliente.
L’attività di sviluppo viene spezzata in diverse componenti, una per ciascuna feature, che proseguono parallelamente tra di loro.
L’obiettivo principale è la consegna puntuale di un software performante e che si adatti il più possibile alle esigenze degli utenti.
Il processo si suddivide in 5 fasi:
- Sviluppo del Modello
- Lista delle Features
- Pianificazione delle Features
- Disegno di Ciascuna Feature
- Costruzione delle Singole Features
Ciascun team poi andrà a lavorare parallelamente su una singola feature e controllando un solo pezzo del processo.
5. Lean software development
Il Lean Software Development è una metodologia di sviluppo agile ispirata ai principi della produzione snella (nota anche come lean manufacturing o lean production), una filosofia produttiva che punta a minimizzare gli sprechi fino ad annullarli.
Il termine è stato coniato all’interno dell’ omonimo libro scritto nel 2003 da Mary e Tom Poppendieck, due project manager molto attivi all’interno della Agile community, che contiene la descrizione dei principali approcci metodologici e strumenti operativi del sistema.
Il Lean Software Development si compone di sette principi base, tutti considerati estremamente importanti all’interno della comunità Agile:
- Eliminare gli sprechi
- Amplificare l’apprendimento
- Decidere il più tardi possibile
- Consegnare il più presto possibile
- Dare potere al team
- Costruire l’integrità
- Visione d’insieme
Per approfondire questo tema c’è un testo molto interessante dal titolo The Lean Startup che puoi trovare su Amazon.
Conclusioni
In questo articolo siamo scesi più nel concreto delle diverse tipologie di Metodologia agile e di come queste possono essere applicate con successo in diversi contesti.
Dalle metodologie più conosciute scrum e kanban, fino al Lean Software Development, abbiamo passato in rassegna alcuni degli esempi più diffusi di quelli che possono essere le applicazioni concrete e le metodologie di Project Management Agile.
Scrivi nei commenti se hai bisogno di ulteriori spiegazioni oppure se vuoi altri link a risorse ad articoli o libri che potrebbero aiutarti ad aggiungere un tassello in più alla tua conoscenza.
Aspetto le tue domande.