
Perché occorre diventare sempre più agili
Il mindset Agile, la mentalità Agile, prevede di accettare l’incertezza e tutto ciò che ne deriva. Oltre all’incertezza anche la complessità.
Occorre quindi avere una chiara consapevolezza di cosa è l’incertezza, e dell’impatto che ha, è l’elemento determinante. E’ nell’incertezza e nei continui cambiamenti di scenari che trova le sue radici il movimento Agile ancora vent’anni fa.
Occorre anche avere fiducia nelle persone e nella loro capacità di avere impatto. Per andare veloci e iterare devi avere fiducia nell’autonomia delle persone e nel lavoro in team. La fiducia è un’emozione che si prova (“ispirare fiducia…”) e va oltre il concetto di affidabilità, ovvero la convinzione che le persone con cui lavori faranno esattamente quello che tu gli dirai di fare e lo faranno “bene”. Per fiducia intendiamo la consapevolezza che tutti lavoriamo verso lo stesso obiettivo, che possiamo sbagliare, che cose terribili (nello sviluppo software) potranno accadere e che potrebbe anche non essere colpa di qualcuno in particolare.
L’Agile si è evoluta dalla produzione del software ed è dunque diventata business agility: la capacità dell’impresa di generare dal lavoro in team e da proprio interno la trasformazione culturale e organizzativa adeguata o, meglio, in anticipo sui tempi: innovativa. Questa capacità, ovviamente, va ben oltre la capacità adattiva, necessaria per stare al passo o per sopravvivere ai continui mutamenti dei mercati e delle economie.
Perché occorre diventare sempre più agili? Ecco, in sintesi, quattro validi motivi:
- L’Agility appartiene all’Organizzazione nel complesso, e non è esclusivo appannaggio dei team operativi. Per questo occorre andare oltre non solo ai team tecnologici, ma anche ai team:
- L’Agility interessa tutti i settori produttivi, non solo quello del software;
- L’Agility è necessaria creare un continuo allineamento end to end con le esigenze dei clienti-utenti
- L’Agility è indispensabile per creare un’organizzazione dinamica focalizzata sulla soddisfazione del cliente, nonché capace di assecondare le ambizioni e le necessità delle persone che ne costituiscono la linfa vitale
Il Modern Agile
Ecco i quattro pilastri del mindset agile che vanno ben oltre alla metodologia e ai numerosissimi strumenti e pratiche Agile:
Rendere le persone eccezionali (Make people awesome)
Il mondo è fatto di persone, e, organizzativamente parlando, possiamo divederlo in due insiemi: quello su cui si basa la propria organizzazione, e quello a cui essa si rivolge.- Rilasciare continuamente Valore (Deliver Value Continuously)
Il concetto di rilascio continuo di Valore è oggi uno dei desiderata predominanti: appena una parte della nostra soluzione è pronta, diventa importante renderla disponibile ai nostri utenti, in modo da fornire subito un nuovo vantaggio competitivo (ROI più rapido) e ottenere rapidamente feedback che consentano di allineare gli step successivi. - Rendere la sicurezza un prerequisito (Make safety a prerequisite)
Le Persone che fanno parte dell’organizzazione devono sentirsi al sicuro, rimuovendo la “paura di sbagliare” che tipicamente accompagna le nostre attività professionali. - Sperimentare e apprendere velocemente (Experiment and learn rapidly)
Nessuna organizzazione può permettersi di “restare immobile”, non guardando oltre l’attuale orizzonte e fornendo soluzioni non adeguate alle aspettative degli utenti.
Ecco un panoramica degli strumenti Agile Mindset:

I quattro valori del Manifesto Agile
Occorre partire dal mindset Agile, la mentalità Agile, per poi adottare i quattro valori del Manifesto Agile (ricordiamoci che tutto è partito dalla produzione del software):
- Individui e interazioni su processi e strumenti
Valutare le persone più dei processi o degli strumenti: è facile da capire perché sono le persone che rispondono alle esigenze aziendali e guidano il processo di sviluppo. - Software funzionante su una documentazione completa
L’Agile non elimina la documentazione, ma la semplifica in una forma che offre allo sviluppatore ciò che è necessario per svolgere il lavoro senza impantanarsi nelle minuzie - Collaborazione del cliente durante la negoziazione del contratto
La negoziazione è il periodo in cui il cliente e il product manager elaborano i dettagli di una consegna, con punti lungo il percorso in cui i dettagli possono essere rinegoziati. La collaborazione è una creatura completamente diversa. - Rispondere al cambiamento seguendo un piano
Con Agile, la brevità di un’iterazione significa che le priorità possono essere spostate da un’iterazione all’altra e nuove funzionalità possono essere aggiunte all’iterazione successiva. La visione di Agile è che i cambiamenti migliorano sempre un progetto; le modifiche forniscono un valore aggiuntivo. Le metodologie Agile consentono al team Agile di modificare il processo e adattarlo al team piuttosto che il contrario.
I Dodici Principi del Manifesto Agile
I Dodici Principi sono i principi guida per le metodologie che sono incluse sotto il titolo “The Agile Movement”. Descrivono una cultura in cui il cambiamento è benvenuto e il cliente è al centro del lavoro. Dimostrano anche l’intento del movimento come descritto da Alistair Cockburn, uno dei firmatari del Manifesto Agile, che è quello di allineare lo sviluppo con le esigenze del business. I dodici principi dello sviluppo agile prevedono:
- Soddisfazione del cliente attraverso la consegna precoce e continua del software: i clienti sono più felici quando ricevono software funzionante a intervalli regolari, piuttosto che aspettare lunghi periodi di tempo tra i rilasci.
- Soddisfare i requisiti mutevoli durante tutto il processo di sviluppo: la capacità di evitare ritardi quando un requisito o una richiesta di funzionalità cambia.
- Consegna frequente di software funzionante: Scrum rispetta questo principio poiché il team opera in sprint o iterazioni del software che garantiscono la consegna regolare del software funzionante.
- Collaborazione tra le parti interessate aziendali e gli sviluppatori durante tutto il progetto: vengono prese decisioni migliori quando il team aziendale e tecnico sono allineati.
- Sostieni, fidati e motiva le persone coinvolte: i team motivati hanno maggiori probabilità di fornire il loro lavoro migliore rispetto ai team infelici.
- Abilita le interazioni faccia a faccia: la comunicazione ha più successo quando i team di sviluppo sono co-locati.
- Il software funzionante è la misura principale del progresso : la fornitura di software funzionale al cliente è l’ultimo fattore che misura il progresso.
- Processi agili per supportare un ritmo di sviluppo coerente: i team stabiliscono una velocità ripetibile e mantenibile alla quale possono fornire software funzionante e la ripetono ad ogni versione.
- L’attenzione ai dettagli tecnici e al design migliora l’agilità: le giuste competenze e un buon design assicurano che il team possa mantenere il ritmo, migliorare costantemente il prodotto e sostenere il cambiamento.
- Semplicità: sviluppa quanto basta per portare a termine il lavoro per il momento.
- I team auto-organizzati incoraggiano architetture, requisiti e design eccezionali: membri del team esperti e motivati che hanno potere decisionale, assumono la proprietà, comunicano regolarmente con altri membri del team e condividono idee che forniscono prodotti di qualità.
- Riflessioni regolari su come diventare più efficaci: l’auto-miglioramento, il miglioramento dei processi, l’avanzamento delle abilità e le tecniche aiutano i membri del team a lavorare in modo più efficiente.
Fonti utilizzate: Agility School, Modern Agile (modernagile.org), Joshua Kerievsky, forbes.com, productheroes.it e felicepescatore.it