Gestione dei progetti, Gestione del portafoglio di progetti

Gestione dei progetti software Agile: dagli sprint alla governance di portfolio

Agile ha trasformato il modo in cui si costruisce il software, ma non ha risposto alla domanda che ogni project manager continua ad affrontare: come si consegna davvero un progetto software Agile, come lo si rendiconta verso l’alto e come lo si integra in un portfolio che contiene anche lavoro a cascata. La maggior parte dei testi su Agile si concentra su sviluppatori, cerimonie e filosofia; pochissimi affrontano la realtà operativa del project manager posto tra un team Scrum e un PMO che ha bisogno di report di stato, mappe delle dipendenze e visibilità dei rischi su un portfolio misto. Questo articolo presuppone che tu sappia già cos’è Agile (se no, parti dalla nostra guida ai fondamenti di Agile) e passa direttamente al lavoro pratico di gestione dei progetti software Agile in un contesto PPM. Copre la meccanica dello sprint dal punto di vista del project manager, i ruoli più spesso confusi con la gestione dei progetti, la scelta del framework, il problema degli strumenti di Jira accanto a un sistema PPM e come i PMO governano i progetti Agile senza ricadere nella rendicontazione a cascata.

Gestione dei progetti software Agile per il PMO

Punti chiave:

  • Come Agile cambia il lavoro quotidiano del project manager rispetto alla gestione tradizionale dei progetti
  • Meccanica dello sprint, gestione del backlog e artefatti di rendicontazione dal punto di vista del project manager
  • Ruoli: dove si colloca il project manager accanto a Scrum Master, Product Owner e team di sviluppo
  • Scelta del framework: Scrum, Kanban, Scrumban, SAFe – quando si applica ciascuno
  • Collegare Jira e un sistema PPM per portfolio misti (inclusa l’integrazione FlexiProject-Jira)
  • Governance, metriche e gestione dei rischi per i progetti Agile in un contesto PMO

Agile nello sviluppo software: cosa cambia rispetto al PM tradizionale

La gestione tradizionale dei progetti presuppone che un progetto possa essere definito in anticipo: ambito, calendario, budget, risorse. Il compito del project manager è pianificare il tutto, ottenere l’approvazione e poi monitorare l’esecuzione rispetto al piano. Agile presuppone il contrario: che i requisiti cambieranno, che una pianificazione dettagliata oltre le prossime settimane è finzione e che il valore nasce dal consegnare software funzionante in cicli brevi anziché con una grande consegna alla fine. Per un project manager questo è un cambiamento reale, non cosmetico. Il piano diventa progressivo anziché fisso, la rendicontazione dello stato diventa settimanale anziché basata sulle milestone e il successo si misura con il valore consegnato anziché con il rispetto del calendario iniziale.

I cambiamenti rientrano in tre categorie. Primo, la pianificazione passa da esaustiva a progressiva: una roadmap di alto livello copre diversi mesi, ma la pianificazione dettagliata si estende solo al prossimo sprint o due. Secondo, il controllo passa dallo scostamento di calendario a velocity e throughput: il project manager smette di chiedere se siamo in linea con il diagramma di Gantt e inizia a chiedere quanto valore abbiamo consegnato questo sprint. Terzo, la comunicazione passa da report di stato formali a una trasparenza continua: sprint review, retrospettiva e daily standup sostituiscono le riunioni settimanali del project manager come principali canali informativi. Nessuno di questi cambiamenti rende superfluo il project manager, ma cambiano ciò che fa. Se hai bisogno di una definizione più completa di Agile in sé, la nostra guida Cos’è Agile? copre le basi; il resto di questo articolo presuppone tale fondamento e si concentra sulla pratica del project manager.

Il modello operativo del project manager Agile: sprint, cerimonie, artefatti

Il lavoro del project manager Agile si svolge all’interno di una cadenza di sprint, in genere da due a quattro settimane per iterazione. Comprendere il ciclo dal punto di vista del project manager (non dello sviluppatore) fa la differenza tra guidare un progetto Agile e limitarsi a partecipare alle cerimonie.

Meccanica dello sprint: pianificazione, esecuzione, review, retrospettiva

Lo sprint ha quattro momenti in cui il ruolo del project manager è distinto. Lo sprint planning è il momento in cui il team si impegna su un insieme di storie, e il compito del project manager è garantire che l’impegno sia realistico date le dipendenze note, la capacità e i vincoli esterni. L’esecuzione è il momento in cui il project manager rimuove gli ostacoli che il team non può gestire da solo: blocchi negli acquisti, indisponibilità degli stakeholder, dipendenze tra team. Lo sprint review è il momento in cui il team dimostra software funzionante agli stakeholder, e il compito del project manager è tradurre i risultati tecnici nel linguaggio di business per lo sponsor. La retrospettiva è il momento in cui il team migliora il proprio processo, e il project manager apporta il contesto tra team che il team potrebbe non vedere. La velocity, misurata come story point completati per sprint, diventa il principale input di previsione del project manager: con tre o quattro sprint di storico, prevedere le date di rilascio diventa un esercizio matematico anziché una supposizione.

Gestione del backlog: dalla visione allo sprint

Il product backlog è l’elenco principale di tutto ciò che il team potrebbe costruire; lo sprint backlog è il sottoinsieme impegnato per lo sprint corrente. Il Product Owner è responsabile delle priorità sul product backlog, ma il project manager apporta un contesto che il Product Owner potrebbe non avere: dipendenze tra progetti, milestone di business che vincolano la sequenza, scadenze normative o di conformità. La stima in story point è il meccanismo con cui il team dimensiona il lavoro rispetto a sé stesso anziché in tempo assoluto, e il project manager dovrebbe comprenderla abbastanza bene da mettere in discussione stime fuori pattern, senza fare la stima al posto del team. Quando il team stima una storia a 13 punti e lo storico mostra storie simili a 5, questo è un segnale che vale la pena indagare.

Artefatti e rendicontazione: burndown, velocity, flusso cumulativo

Tre artefatti guidano la rendicontazione del project manager Agile. Il diagramma di burndown mostra il lavoro residuo rispetto al tempo in uno sprint, e la sua forma rivela se il team rispetterà l’impegno dello sprint. Gli andamenti della velocity su più sprint rivelano la capacità e la stabilità del team: una velocity crescente spesso significa che il team acquisisce padronanza del codice, una velocity piatta suggerisce uno stato stazionario e una velocity calante spesso segnala debito tecnico o disruption del team. I diagrammi di flusso cumulativo mostrano gli elementi di lavoro attraverso gli stati (backlog, in corso, review, fatto) e rivelano i colli di bottiglia: se il lavoro in corso si gonfia mentre il fatto resta piatto, il team ha un problema di flusso da risolvere. Il compito del project manager non è produrre questi artefatti (gli strumenti Agile li generano automaticamente) ma leggerli e tradurre i loro segnali in una rendicontazione adatta allo sponsor.

Prova FlexiProject!

Sperimenta un controllo dei progetti di livello superiore con software PPM avanzato, gratis.

FlexiProject

Ruoli e responsabilità nei team software Agile

L’elemento più frainteso di Agile nello sviluppo software è dove si colloca il project manager. Scrum definisce tre ruoli (Product Owner, Scrum Master, team di sviluppo) e non include un project manager. In pratica, la maggior parte delle adozioni Agile aziendali continua ad avere project manager, e capire cosa fanno davvero previene il tipico modo di fallire in cui project manager e Scrum Master si sovrappongono o entrano in conflitto.

Il ruolo del project manager nei team Agile

Il project manager in un team Agile è responsabile dei risultati visibili all’esterno del team: consegna agli sponsor, coordinamento tra team, rendicontazione a livello di portfolio, escalation dei rischi e allineamento con il business. Il project manager non conduce le cerimonie dello sprint (è territorio dello Scrum Master) e non decide le priorità delle funzionalità (è territorio del Product Owner). L’autorità del project manager è orientata alla consegna: è responsabile della data di consegna verso il business, del budget speso, delle dipendenze con gli altri team e della comunicazione con gli stakeholder esterni al team. In pratica questo significa che il project manager vive nello spazio tra il team e l’organizzazione, traducendo in entrambe le direzioni e rimuovendo gli ostacoli organizzativi che il team non può risolvere internamente.

Product Owner, Scrum Master, team di sviluppo

Il Product Owner è responsabile del product backlog, dà priorità alle funzionalità e rappresenta il cliente presso il team. Lo Scrum Master facilita le cerimonie, rimuove gli impedimenti a livello di team e affianca il team nella pratica Agile. Il team di sviluppo (in genere da cinque a nove membri) costruisce il software, si auto-organizza attorno all’impegno dello sprint e si impegna su storie specifiche a ogni sprint. Questi ruoli sono trattati più in dettaglio nella nostra guida allo Scrum Master e nella guida al Product Owner; il punto per i project manager è che questi tre ruoli gestiscono il lavoro rivolto al team, mentre il project manager gestisce il lavoro rivolto all’organizzazione.

Stakeholder e steering: come i progetti Agile si collegano al business

Un team Agile non consegna a un cliente astratto; consegna a un contesto di business con sponsor, comitati di steering e business owner che devono prendere decisioni basate sul progresso del team. Il project manager struttura questo collegamento attraverso tre meccanismi: aggiornamenti periodici allo sponsor che traducono i risultati dello sprint in termini di business, una cadenza del comitato di steering (di solito mensile) in cui si prendono le decisioni importanti, e un rapporto con il business owner in cui trovano risposta le domande quotidiane sul prodotto. Senza queste strutture il team scompare dalla visibilità organizzativa, e le organizzazioni reagiscono aggiungendo una supervisione in stile cascata che mina la flessibilità Agile. Il compito del project manager è rendere Agile leggibile all’organizzazione senza fargli smettere di essere Agile.

Framework nello sviluppo software: Scrum, Kanban, Scrumban, SAFe

Non tutti i team Agile dovrebbero usare Scrum. La scelta del framework è una decisione del project manager che dipende dal pattern di lavoro del team, dalla maturità Agile dell’organizzazione e dalla natura del software da costruire. I quattro framework seguenti coprono la maggior parte dello sviluppo software Agile aziendale.

Scrum è il classico basato sugli sprint. Iterazioni a lunghezza fissa (in genere due settimane), cerimonie definite e uno sprint backlog impegnato. Ideale per team che costruiscono nuove funzionalità con una cadenza prevedibile, con un Product Owner in grado di impegnarsi su un ambito di sprint stabile. Debole per team con molto lavoro di manutenzione o dove dominano priorità dettate dalle interruzioni. Trattato in profondità nella nostra introduzione alla metodologia Scrum.

Kanban è flusso continuo anziché basato sugli sprint. Gli elementi di lavoro si muovono attraverso colonne (backlog, in corso, review, fatto) con limiti di work-in-progress che controllano il flusso. Ideale per team di supporto, lavoro di manutenzione e team dove le priorità cambiano più spesso della durata di uno sprint. Debole per team che hanno bisogno di una cadenza di rilascio prevedibile legata ai confini dello sprint. Vedi la nostra guida al flusso di lavoro Kanban e la guida alla lavagna Kanban.

Scrumban ibrida i due: cerimonie Scrum per la pianificazione e la review, lavagna Kanban per la gestione quotidiana del lavoro. Utile per team in transizione da Scrum a Kanban (di solito quando Scrum risulta troppo pesante) o da Kanban a Scrum (di solito quando il team ha bisogno di più disciplina sull’impegno). Spesso la scelta pragmatica per team che superano lo Scrum rigoroso senza voler abbandonare del tutto le iterazioni.

SAFe (Scaled Agile Framework) è per organizzazioni che coordinano più team Agile su un programma o prodotto condiviso. Sovrappone una pianificazione a livello di programma (Program Increment planning, in genere trimestrale) allo Scrum a livello di team. Utile per aziende con decine di team Agile che lavorano sullo stesso prodotto. Eccessivo per organizzazioni con meno di 5-10 team; valuta LeSS o Nexus come alternative più leggere.

La scelta non è definitiva. Le organizzazioni Agile mature spesso passano da un framework all’altro man mano che cambiano la composizione del team, la maturità del prodotto e il contesto organizzativo. Il compito del project manager durante la scelta del framework è rendere visibili i compromessi e testare la scelta rispetto a come il team lavora davvero, non a come i puristi di Agile dicono che il team dovrebbe lavorare.

Collegare Agile e PMO: strumenti per portfolio misti

La maggior parte dello sviluppo software aziendale avviene in organizzazioni che gestiscono anche progetti non software: iniziative di business, campagne di marketing, investimenti di capitale, programmi di conformità. Questo crea un problema di strumenti che la maggior parte dei testi su Agile ignora.

Il problema del portfolio misto: sviluppatori in Jira, business nel PPM

Gli sviluppatori preferiscono nettamente Jira (o Azure DevOps) perché si adatta al loro flusso di lavoro: tracciamento a livello di storia, board di sprint, grooming del backlog, integrazione con il controllo di versione. I team di business preferiscono i sistemi PPM (project portfolio management) perché si adattano al loro flusso di lavoro: tracciamento delle milestone, gestione del budget, dashboard a livello di portfolio, capacità delle risorse tra progetti. La leadership ha bisogno di una vista unica dell’intero portfolio, Agile e cascata insieme. Quando ogni dominio usa il proprio strumento nativo, l’organizzazione finisce con tre fonti di verità: la vista degli sviluppatori in Jira, la vista dei business owner nel PPM e la vista della leadership assemblata manualmente in slide per ogni comitato di steering. Questo è il modo di fallire che la maggior parte delle aziende raggiunge quando l’adozione di Agile cresce senza una strategia di strumenti.

Come integrare gli strumenti Agile con un sistema di portfolio progetti

La risposta architetturalmente pulita è mantenere il lavoro a livello di team in Jira (dove è giusto che stia) e il lavoro a livello di portfolio in un PPM (dove è giusto che stia), con un’integrazione che sincronizzi i due. Cosa dovrebbe sincronizzarsi: lo stato a livello di attività (aperto, in corso, fatto), l’assegnazione del responsabile, le date e gli story point o le stime. Cosa non dovrebbe sincronizzarsi: i commenti quotidiani, la granularità delle sotto-attività, i campi specifici degli sviluppatori. La sovra-sincronizzazione crea rumore; la sotto-sincronizzazione crea lacune. Il pattern corretto è che gli sviluppatori lavorino naturalmente in Jira, che project manager e PMO vedano nel PPM il sottoinsieme del lavoro di Jira rilevante per il portfolio accanto ai progetti non-Jira, e che nessuno debba accedere a uno strumento che non è il proprio spazio di lavoro principale.

L’integrazione FlexiProject-Jira in pratica

FlexiProject implementa questo pattern con un’integrazione diretta con Jira che importa epic, storie e attività da Jira preservando stato, responsabile e tipo. I filtri JQL consentono ai project manager di selezionare esattamente quali elementi di lavoro appaiono nella vista di FlexiProject, e le importazioni possono attingere da più progetti Jira contemporaneamente per programmi tra team. La mappatura degli utenti risolve il problema comune per cui la stessa persona ha identificatori diversi in Jira e nel PPM: la mappatura si configura una volta e poi è automatica, così la titolarità delle attività resta coerente tra i due sistemi. Il risultato è che le attività di Jira appaiono nella pianificazione di FlexiProject accanto ad attività di business, di marketing e ad altro lavoro non software – leadership e PMO vedono l’intero portfolio senza mai accedere a Jira, mentre gli sviluppatori continuano a lavorare nel loro strumento preferito. L’articolo dedicato all’integrazione FlexiProject-Jira tratta la configurazione tecnica in maggior dettaglio.

Governance e rendicontazione dei progetti Agile in un PMO

I PMO governano i progetti Agile in modo diverso dai progetti a cascata, e farlo bene è il punto in cui la maggior parte delle aziende fatica. Il modo di fallire è applicare una governance a cascata (tracciamento dettagliato del calendario, approvazioni delle milestone, controllo delle modifiche di ambito) al lavoro Agile, il che produce attrito senza aggiungere valore di supervisione.

Metriche che contano per la rendicontazione del PMO Agile

Non ogni metrica Agile va in un report del PMO. I diagrammi di burndown e la velocity sono metriche a livello di team utili al team stesso; mostrarle a uno sponsor invita al micromanagement senza aggiungere valore decisionale. Le metriche che vanno nella rendicontazione del PMO sono orientate ai risultati: cycle time (quanto tempo dall’impegno alla consegna), throughput (funzionalità consegnate per periodo), tasso di difetti sfuggiti (qualità della consegna) e tasso di successo dell’obiettivo di sprint (se gli impegni vengono rispettati). Queste metriche rispondono alle domande che gli sponsor pongono davvero: stiamo consegnando, la qualità tiene, gli impegni sono realistici. Le metriche interne allo sprint restano al team; le metriche a livello di portfolio vanno al PMO.

Vista a livello di portfolio: mescolare progetti Agile e a cascata

Un progetto Agile senza date di fine rigide e un progetto a cascata con milestone fisse devono apparire nella stessa vista di portfolio, e conciliare i loro ritmi diversi è il punto in cui gli strumenti del PMO giustificano il loro costo. Il pattern pragmatico è il rolling wave: i progetti Agile mostrano un’onda a breve termine impegnata (i prossimi uno-tre sprint) a livello di dettaglio, e le onde future a livello di stima. I progetti a cascata mostrano milestone e dipendenze con lo stesso peso visivo delle onde Agile. La vista di portfolio mostra entrambi contemporaneamente, con lo sponsor in grado di vedere che il prossimo rilascio del team Agile si allinea con (o manca) la milestone di cutover del progetto a cascata. Gli approcci di gestione progetti ibrida affrontano lo stesso problema di conciliazione a livello di progetto; gli strumenti a livello di portfolio lo scalano a tutta l’organizzazione.

Gestione dei rischi nei progetti Agile

I progetti Agile hanno un profilo di rischio proprio che la gestione dei rischi tradizionale spesso trascura. Il fallimento dello sprint (il team non completa le storie impegnate) segnala problemi di stima o pianificazione e merita un’indagine, non una colpevolizzazione. La varianza di velocity da sprint a sprint segnala spesso una disruption del team (nuovi membri, malattia, priorità concorrenti) che il project manager può affrontare. Il rischio di dipendenza tra team è la singola maggiore fonte di ritardo nell’Agile in scala: se lo sprint del team A dipende dal lavoro completato del team B e B slitta, A si blocca. L’accumulo di debito tecnico è un rischio nascosto che riduce la velocity nel tempo senza alcun difetto visibile. I registri dei rischi del PMO dovrebbero catturare questi rischi specifici di Agile accanto ai rischi di progetto tradizionali, e la cadenza di revisione dovrebbe allinearsi ai confini dello sprint anziché ai cicli mensili del project manager.

Prova FlexiProject!

Promuovi l'allineamento strategico dell'intero portfolio progetti, prova gratis per 30 giorni.

FlexiProject

FAQ: gestione dei progetti software Agile

Qual è la differenza tra un project manager e uno Scrum Master?

Lo Scrum Master facilita il team internamente: conduce le cerimonie, affianca nella pratica Agile, rimuove gli impedimenti a livello di team. Il project manager consegna all’organizzazione esternamente: gestisce la comunicazione con lo sponsor, le dipendenze tra team, il budget, la rendicontazione di portfolio e gli ostacoli organizzativi che il team non può risolvere da solo. Nei team piccoli una persona può ricoprire entrambi i ruoli, ma nell’Agile aziendale sono distinti: lo Scrum Master è responsabile della salute del team, il project manager è responsabile della consegna verso il business.

Come si pianifica un rilascio con team Agile?

La pianificazione del rilascio combina la velocity del team (punti completati per sprint) con il backlog del rilascio (punti stimati per l’ambito del rilascio) per produrre un intervallo probabile di data di rilascio. Tre sprint di storico di velocity danno una previsione utilizzabile; dieci sprint ne danno una affidabile. Le date di rilascio sono espresse come intervalli (P50 e P80) anziché come punti, e affinate man mano che si completano più sprint. I rilasci a data fissa richiedono flessibilità di ambito; i rilasci ad ambito fisso richiedono flessibilità di data.

Come si inserisce Agile in un portfolio con progetti a cascata?

I progetti Agile e a cascata coesistono nel portfolio attraverso un sistema di gestione del portfolio che mostra entrambi con la granularità appropriata. I progetti Agile mostrano in dettaglio il lavoro impegnato a breve termine e il lavoro futuro a livello di stima; i progetti a cascata mostrano milestone e dipendenze. La vista di portfolio fa emergere le dipendenze tra progetti (il rilascio del team Agile blocca il go-live del progetto a cascata) così che i PMO possano gestire il portfolio misto senza forzare una metodologia nella forma dell’altra.

Di quali strumenti hanno bisogno i project manager Agile oltre a Jira?

Jira gestisce bene il lavoro Agile a livello di team ma non gestisce bene il PPM a livello di portfolio. I project manager Agile in genere hanno bisogno di un sistema PPM che si integri con Jira (importando attività, stati e stime) per la rendicontazione a livello di portfolio, le dipendenze con progetti non Agile, la gestione del budget lungo il progetto e le dashboard executive. Che il PPM sia FlexiProject, Planview o un’altra piattaforma, il pattern di integrazione è lo stesso: gli sviluppatori restano in Jira, project manager e PMO lavorano nel PPM, l’integrazione mantiene entrambi sincronizzati.

Come si gestiscono progetti ad ambito fisso e scadenza fissa con Agile?

I progetti puramente ad ambito e scadenza fissi non si adattano bene all’Agile puro, ma sono comuni nei settori regolamentati, nei progetti di conformità e nei contratti con i fornitori. La risposta pragmatica è ibrida: impegno di ambito e scadenza in stile cascata a livello di progetto, esecuzione in stile Agile al suo interno. Gli sprint consegnano in modo incrementale verso la scadenza fissa, con i primi sprint che producono funzionalità minima utilizzabile e gli sprint successivi che aggiungono rifinitura. I compromessi di ambito avvengono attraverso un controllo delle modifiche esplicito anziché un affinamento continuo, proteggendo l’impegno sulla scadenza.

Far funzionare il PM Agile nella pratica

La gestione dei progetti software Agile non consiste nel condurre cerimonie di sprint o nello scrivere story point. Consiste nel consegnare con successo progetti software in un’organizzazione che gestisce anche lavoro non Agile, dove il project manager si colloca tra un team Scrum e un PMO che ha bisogno di visibilità a livello di portfolio. Il compito del project manager è diverso da quello dello Scrum Master: lo Scrum Master è responsabile della salute del team, il project manager è responsabile della consegna verso il business. Il modello operativo del project manager gira sulla cadenza dello sprint ma rendiconta in metriche di risultato, usa framework Agile adatti al pattern di lavoro del team e integra il lavoro di team basato su Jira in una vista di portfolio basata su PPM. Governance e rendicontazione si adattano al ritmo di Agile anziché forzare Agile in pattern di rendicontazione a cascata. Gli strumenti contano: senza integrazione tra Jira e un sistema PPM, l’organizzazione finisce con tre fonti di verità, nessuna delle quali completa. FlexiProject supporta questo pattern con un’integrazione diretta con Jira che importa epic, storie e attività con stato, responsabile e tipo preservati, selezione filtrata da JQL, mappatura degli utenti tra i sistemi e una vista di pianificazione unificata in cui il lavoro di Jira appare accanto ai progetti non Agile. La leadership vede l’intero portfolio, gli sviluppatori restano nel loro strumento preferito e i project manager smettono di ricostruire la stessa vista in tre posti ogni settimana. Il compito del project manager Agile è far funzionare tutto questo nella pratica, non solo sapere come dovrebbe funzionare in teoria.

Dominik Wrzosek
Dominik Wrzosek
General Manager at FlexiProject

Dominik è un esperto di project management e laureato al Politecnico di Varsavia. Guida lo sviluppo del sistema FlexiProject, traducendo le esigenze aziendali in soluzioni pratiche a supporto dei team di progetto. Ha esperienza nell’implementazione di FlexiProject in organizzazioni di diverse dimensioni, combinando competenze tecniche con un approccio orientato al business per una pianificazione e realizzazione efficace dei progetti.