Come gestire un portafoglio Agile
Quando le persone giuste del team corretto hanno il contesto opportuno, questi faranno conseguentemente la cosa migliore
Le pratiche Agile possono funzionare attraverso un portafoglio complesso formato da diversi team e numerosi sviluppatori? Certamente! Netflix ha coniato il motto “altamente allineato, genericamente collegato” per descrivere le caratteristiche di uno sviluppo Agile ben sintonizzato su una grande organizzazione. Guardiamo assieme allora il ruolo di concetti come contesto e autonomia, insieme alle più comuni caratteristiche riscontrate nei portafogli Agile più performanti.
Imposta il giusto contesto
Data la grande focalizzazione sul team, spesso ci si interroga su quale debba essere il ruolo del senior management in grandi organizzazioni Agile. In quanto guida per la direzione strategica aziendale, la leadership senior deve rivestire il ruolo di campione chiave di cultura agile attraverso l’intera organizzazione. Per uno sviluppo Agile che attraversa un portafoglio di prodotti, la direzione strategica si manifesta come un “tema”: larghe porzioni di lavoro focalizzato, definito su un determinato orizzonte temporale. I temi aiutano i diversi team che lavorano su una specifica iniziativa di business a collaborare efficentemente e a rispettare gli obiettivi dell’organizzazione.
I dirigenti senior di portafogli Agile di successo promuovono una cultura di apertura e trasparenza
Una cultura di trasparenza affronta le problematiche senza paura di ripercussioni, e minimizza gli aspetti negativi delle politiche aziendali. Pertanto, risulta più facile trovare la giusta soluzione e far progredire i team.
Estendi le pratiche Agile sull’intera organizzazione
Le maggiori compagnie di successo che utilizzano l’Agile su larga scala condividono 3 tratti comuni.
Primo, l’intero programma è iterativo. La gestione tradizionale del portafoglio è focalizzata su una pianificazione dall’alto verso il basso, con un lavoro strutturato su lunghi orizzonti temporali; la gestione del portafoglio in Agile invece riprende il concetto di cicli di apprendimento predeterminati già usati dai singoli team agile, e lo applica su larga scala. I team lavorano assieme, ricorrono ad un design modulare e condividono i risultati con cadenza regolare. Ciò porta ad una maggiore flessibilità, e il focus smette di essere quello del seguire un rigido piano per diventare quello di fornire valore e fare progressi tangibili secondo gli obiettivi e la strategia aziendale.
Secondo, le organizzazioni di successo comunicano attraverso l’intero portafoglio. Condividono conoscenza e superano le barriere tra i silos aziendali. In maniera simile a quanto avviene durante le cerimonie agile svolte a livello di singolo team, il contesto deve essere condiviso costantemente attraverso l’organizzazione in modo che gli obiettivi, i progressi e gli ostacoli siano chiari a tutti. Ciò promuove un maggior rispetto tra compagni di team e colleghi, indipendentemente da quale sia il ruolo organizzativo, e incoraggia interazioni più empatiche e maggiore comprensione reciproca.
Terzo, la maggioranza delle organizzazioni agile fanno numerose release attraverso il portafoglio, anche se una release coinvolge il lavoro di più programmi. Cicli di sprint allineati, implementazione di API e disgiunzione tecnica, e un efficiente sistema di testing e di pipeline di sviluppo sono tutti mezzi che garantiscono una visibilità costante su chi sta rilasciando cosa e quando.
Condividi una visione, ma abbraccia la diversità
Così come nello sviluppo Agile tradizionale, nello sviluppo Agile di portfolio il lavoro viene assegnato ai team piuttosto che ai singoli individui. Ogni team comprende gli obiettivi organizzativi di alto livello, e ogni team al tempo stesso sviluppa una vibrante cultura volta a ottimizzare i propri processi e delivery.
Ad esempio, gli story point rappresentano un modo molto diffuso in cui i team stimano il lavoro, e utilizzano un insieme di valori basati sulla sequenza di Fibonacci (0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100). L’idea che il team A ha del peso attribuito al’8 sarò diversa di quella che ne ha il team B. Per questa ragione, i senior manager non devonomisurare la performance del team basandosi esclusivamente sulla velocity (amoontare di story point che il team riesce a completare nel corso di una sprint). Questi devono comprendere che la velocity di ciascun team sarà unica in quanto ogni team calibra il valore degli story point in maniera differente.
Allo stesso modo, i team agile hanno differenti culture relativamente alla release. I team scrum in genere rilasciano software alla fine di ogni sprint, mentre i team kanban rilasciano continuamente oppure nel momento in cui il Product Owner richiede che una build sia mandata in produzione. Una delle sfide principali nell’Agile portfolio riguarda il rilascio di grandi quantità di codice in una volta sola, evitando ciò. Nessuno vuole release che richiedano un l’impegno dell’intero staff di ingegneri, dopotutto. Separare il codice in flussi di release indipendenti attaverso il ricorso a un design modulare, piuttosto che monolitico, permette di gran lunga una maggiore flessibilità e autonomia tra business unit. Il design modulare inoltre riduce la componente di rischio in ogni release proprio perché porzioni minori di codice vengono modificate in ogni release. Ciò rende più facile individuare e risolvere i problemi in un secondo momento.
L’autonomia investe anche i workflow per le organizzazioni che implementano l’agile a livello di portafoglio. I team che lavorano in differenti aree del business possono avere workflow peculiari. E’ chiaro che il team di sviluppo abbia un flusso lavorativo e di processo differente rispetto a quello di un team di marketing, anche quando entrambi i reparti seguono i principi agile di lavoro iterativo e retrospettive regolari. Oppure, due team di sviluppo possono scegliere di dividere il loro workflow in stati differenti. E questo va bene! Questa diversità offre alle grandi organizzazioni di agile portfolio il beneficio di una conoscenza condivisa. Sperimentare più cose significa apprendere più informazioni che possono essere condivise all’interno dell’organizzazione.
Espandi l’agile con la crescita
Il framework Agile per un vasto portafoglio si ottiene scalando i principi agile usati a livello di team sull’intera organizzazione. La cultura Agile è un moltiplicatore di forza: questa scala naturalmente verso l’alto e verso l’esterno quando i suoi principi fondamentali vengono seguiti e condivisi. Ma il successo a livello di portafoglio sarà pari ai risultati ottenuti dal team meno performante. Pertanto, per garantire il successo, la direzione senior dovrà lavorare in partnership con tutti i team per costruire una sana cultura Agile.
Scoprite di più sui prodotti:
Articolo originale: https://www.atlassian.com/agile/portfolio
di Dan Radigan, Senior Agile Evangelist @ Atlassian
traduzione di Davide Schillaci