Parliamo AGILE
Progettare e sviluppare software è un’attività intensa e mai uguale: il metodo Agile permette di adottare un approccio che accorcia i cicli di sviluppo e supporta l’analisi just in time delle richieste, seguendo l’evoluzione della soluzione in modo veloce e a basso costo.
Parliamo (di) AGILE e di come questa metodologia può aiutare non solo gli sviluppatori, ma tutte le persone coinvolte nella produzione e rilascio del software!
Intro
Viviamo in un mondo frenetico in cui il progresso tecnologico va sempre più veloce, i progetti sono sempre più imponenti, i tempi in buona parte dei casi sono sempre più stringenti e la necessità di un’organizzazione efficiente aumenta sempre di più, necessità soddisfatta da una metodologia come quella di cui andremo a parlare a brevissimo…
Fino agli anni 80, è stata adottata come metodologia di sviluppo, quella che tutti conoscono con il nome di “Waterfall”, la quale prevede una gestione progettuale tradizionale e sequenziale, in cui ogni fase di sviluppo (analisi dei requisiti, sviluppo, test ed eventuale manutenzione), termina prima che inizi la successiva.
Nulla di così strano in realtà.. Ma quale può essere uno svantaggio in una metodologia così rigida eppur tanto utilizzata?
La risposta a questa domanda la troviamo in casi di software particolarmente complessi, la cui analisi dei requisiti può richiedere anche più di un anno, in cui si corre il rischio di arrivare alla fase di sviluppo con dei requisiti ormai obsoleti, costringendo il team che se ne occupa a fronteggiare un eventuale cambiamento con quelle che son conosciute come change request, ossia sviluppi fatti su un’architettura già esistente, con il rischio di ottenere come risultato un prodotto non ottimizzato.
E quindi, in che modo la metodologia Agile rappresenta una soluzione alternativa alla metodologia waterfall?
Grazie ad esempio al suo approccio iterativo incrementale, che riduce sensibilmente il rischio di incorrere nell’obsolescenza dei requisiti di cui parlavamo poco fa.
Immaginate quindi che lo sviluppo complessivo di un grande progetto venga scomposto in tante piccole iterazioni waterfall, in ognuna delle quali saranno coinvolte tutte le fasi di sviluppo.
E la cosa più interessante di questa suddivisione sta proprio nel rilascio di un software funzionante già al termine della prima iterazione!
Alla base di una metodologia così innovativa, abbiamo il “Manifesto Agile” che consiglio caldamente di leggere, basato su 7 principi fondamentali.
I principi
1. Deliziare i clienti
- Tutto inizia con l’obiettivo giusto: lo scopo del lavoro è deliziare i clienti, non semplicemente fare soldi.
- Il solo obiettivo di fare soldi, porta l’azienda e di conseguenza le persone a pensare di guadagnare per se stessi, mettendo totalmente da parte collaborazione e creatività.
Il segreto per un futuro duraturo è infatti avere un cliente disposto ad acquistare beni e servizi sia oggi che domani. Non si tratta quindi di una banale transazione: si tratta di creare una vera e propria relazione.
2. Team cross-funzionali e auto-organizzati
- “Quando lavoriamo insieme a persone che hanno diverse interpretazioni e prospettive, spesso siamo in grado di trovare una soluzione a problemi che non saremmo in grado di risolvere da soli”.
- “Un problema complesso, come scoprire modi per deliziare i clienti, viene risolto al meglio da un gruppo di persone cognitivamente diversificato a cui viene data la responsabilità di risolverlo, si auto-organizza e lavora insieme raggiungere un obiettivo comune”.
3. Iterazioni guidate dal cliente
In altre parole, “lavora in iterazioni guidate dal cliente”.
- “Ciò che è ancora piccolo è facile da dirigere”. - Lao Tzù.
- “Attraverso le iterazioni guidate dal cliente, le aziende sono in grado di mantenere l’inventario e il lavoro in corso il più piccolo possibile e personalizzare il proprio prodotto non solo per soddisfare le esigenze percepite originali del cliente, ma anche per adattarlo a eventuali cambiamenti di tali esigenze”.
- “Le iterazioni guidate dal cliente migliorano la produttività dell’organizzazione concentrando il lavoro sugli elementi che realmente aggiungono valore ed eliminando il lavoro che non aggiunge valore (Ciò che ad oggi è conosciuto come pensiero Lean). Inoltre eliminano i tempi di pianificazione improduttivi e riducono i rischi, fornendo alla direzione non rapporti sullo stato di avanzamento inaffidabili, ma con prova del fatto che siano stati compiuti progressi effettivi”.
4. Fornire valore ai clienti in ogni iterazione
“Offri valore ai clienti in ogni iterazione”
- “Le iterazioni guidate dal cliente (e il Radical Management) implicano una rivoluzione mentale, un modo diverso di pensare al lavoro. La chiave del successo è fornire valore ai clienti alla fine di ogni iterazione”.
- “Una piccola cosa consegnata prima può deliziare di più di una grande cosa consegnata dopo.”
- “L’obiettivo principale è quello di ottenere prestazioni a un livello di qualità che soddisfi i clienti e poi lo fornisca prima”.
5. Trasparenza radicale
“Sii totalmente aperto sugli ostacoli e al miglioramento”
- “La verità ti renderà libero. Ma prima, ti farà incazzare.” - Gloria Steinem.
- “Il raggiungimento del complesso obiettivo della soddisfazione del cliente richiede una totale apertura su qualsiasi impedimento al lavoro: tutti sono alla pari con tutti gli altri”.
- “Il radical management accetta l’inevitabilità del fallimento e mette in atto accordi per imparare rapidamente dal fallimento e quindi progredire verso il successo”.
6. Auto-miglioramento continuo
“Creare un contesto per il continuo auto-miglioramento da parte del team”
- “Il continuo miglioramento personale è un insieme profondamente radicato di valori e atteggiamenti focalizzati sulla risoluzione dei problemi non appena si verificano”.
- “Il continuo miglioramento personale è fragile e quindi ha bisogno di nutrimento e attenzione ogni giorno.”
7. Comunicazione interattiva
“Condividi in modo interattivo storie, domande, conversazioni”
- “L’organizzazione moderna non può essere un’organizzazione di ‘capo’ e ‘subordinati’: deve essere organizzata come una squadra di associati”. - Peter Drucker
- “I manager tradizionali parlano ai dipendenti come dipendenti e il potere è la valuta della comunicazione”.
- “Il Manager Radicale comunica da un essere umano all’altro. La gerarchia è presente ma in secondo piano”.
Questo, in maniera introduttiva, è uno scorcio di cosa sia la metodologia Agile…
Quando sentiamo parlare di Agile, si sente spesso nominare anche Scrum.
Cos’è Scrum? Lo vedremo nella prossima puntata!