Se le persone dell’azienda vogliono sapere come sta procedendo il team, perché non vengono a parlare con il team stesso? Bisogna lasciare ai team la responsabilità della gestione del processo di pianificazione e monitoraggio del lavoro, permettendo al team di parlare anche con il cliente
Qualche anno fa mi fu chiesto di svolgere un audit su un grande progetto presso una banca internazionale, al quale lavoravano più di duecento persone. Naturalmente, era un progetto a cascata. Nelle fasi introduttive, era emerso che i diversi team del progetto operavano in numerose ampie stanze situate lungo un corridoio. Per prime, vi erano due grandi sale piene di sviluppatori, poi una stanza con analisti funzionali e una sala più piccola con i tester. Successivamente, veniva la stanza degli architetti del software e, infine, il team di gestione del progetto, perché in effetti c’era un team di project manager, al quale era stata assegnata una stanza più spaziosa alla fine del corridoio.
La semplicità di Scrum
Dopo aver trascorso alcuni giorni in banca, mi sono presto reso conto che nessuno di questi team comunicava faccia a faccia con l’altro. È per questo che ho organizzato alcuni workshop multidisciplinari. Sebbene queste persone fossero nello stesso progetto da oltre un anno, durante il primo workshop si sono effettivamente strette la mano e si sono presentate. Era ovvio che il progetto avesse bisogno di un po’ di agilità. Nonostante all’epoca esistessero già molti approcci e filosofie Agile, dopo alcuni anni, Scrum è diventato il più utilizzato, probabilmente per la semplicità del framework e forse anche per i suoi ruoli sempre chiari. C’è il team di sviluppo con tutti coloro che contribuiscono a rilasciare il prodotto, poi c’è il ruolo di Scrum master per aiutare la squadra a raggiungere i propri obiettivi in modo Agile. E, ultimo ma non meno importante, c’è il product owner. In genere, il product owner è responsabile del prodotto e quindi del backlog del prodotto: secondo la guida ufficiale di Scrum, il product owner è l’unico responsabile della gestione del backlog del prodotto ed è a lui che viene assegnata la responsabilità del prodotto.
Mappare i ruoli
Immaginiamo ora di essere il CEO della grande banca internazionale. Lentamente si comincerà a capire che i grandi progetti a cascata non si comportano come previsto. È quindi probabile che si inizierà a implementare Agile e Scrum così come fanno i concorrenti. Ma presto si presenterà un problema interessante: quello della mappa dei ruoli. Da un lato si hanno tester, sviluppatori, analisti, architetti e project manager. E dall’altro il team, lo Scrum master e il product owner. Ma come funziona questa mappa? Nel corso degli anni, ho assistito a un bel po’ di questi programmi di trasformazione Agile. Alcuni sono più efficienti e di maggior successo di altri, ma tutti presentano questo problema di mappatura. Quando si tratta di operazioni, tester e sviluppatori, è abbastanza facile: finiscono sempre nei team. E nella maggior parte dei casi, il team imparerà come assegnare anche il ruolo di Scrum master. Il vero problema è come assegnare il ruolo del product owner. Nella maggior parte delle organizzazioni in cui ho assistito a questo problema di mappatura, i principali candidati per questo ruolo erano gli ex project manager oppure gli ex analisti. Ma dato che i team Agile si concentrano molto sulla realizzazione di software, nessuno di questi ruoli sembra avere un posto nel team. Pertanto, la maggior parte dei ruoli di product owner viene assegnata ai project manager tradizionali o dagli analisti funzionali tradizionali
Cross-funzionale e auto-organizzato
A mio parere, i team Agile hanno la responsabilità di costruire il prodotto giusto nel modo giusto al momento giusto. I migliori team con cui ho lavorato sono quelli che si impegnano e che sono in grado di prendere le proprie decisioni, gestire il proprio flusso di lavoro e sono interfunzionali e auto-organizzati, il che è molto diverso dall’essere completamente autonomi. Questi sono gruppi che di solito non necessitano di molte indicazioni, ma chiederanno indicazioni se e quando ne avranno bisogno. Quando un’organizzazione va verso questi team responsabili che migliorano ed estendono continuamente i prodotti dell’azienda, il ruolo del product owner sembra attenuarsi o persino essere in contraddizione. Spesso proveniente da un background più tradizionale, il product owner si impiglia nella “gestione” del progetto, nella “gestione” del team, nella redazione di report settimanali di avanzamento, nella facilitazione di tutti i tipi di riunioni, nella manutenzione delle schede Jira, nell’interazione esclusiva con i clienti e nelle prove del prodotto.
Se una sola persona fa da collo di bottiglia
Questo è in genere il lavoro tradizionalmente svolto da un project manager o da un analista, indipendentemente dal titolo di product owner. Anche negli ultimi tempi, in un progetto che stava per scadere, ho notato che il product owner passava almeno un giorno alla settimana per la consegna di report su Excel. Ho visto troppo spesso che questa interfaccia singola diventa un collo di bottiglia. Svolgendo le attività di “micromanagement” che dovrebbero in realtà essere del team, si creano piccoli feudi isolati nell’organizzazione, e si perde via la sensazione che i team debbano essere responsabili. Non sono sicuro che ogni team dovrebbe avere un product owner solo perché la guida di Scrum lo dice.
La squadra è il fattore chiave
Secondo me, la maggior parte del lavoro svolto dai product owner è in realtà quella del team. Bisogna lasciare ai team la decisone su come e quando gestire le schede, e permettere al team di parlare con il cliente: sì, gli sviluppatori e i tester possono effettivamente comunicare con i clienti. Il team è responsabile per il prodotto. È anche il caso di smettere di scrivere tutti questi report: se le persone dell’azienda vogliono sapere come sta procedendo il team, perché non vengono a parlare con il team stesso? Discutendo sul ruolo del product owner, non sto ovviamente dicendo che non dobbiamo pensare ai prodotti: pensare e discutere dei nostri prodotti è sempre fondamentale. Ma ritengo che la maggior parte, se non tutto il lavoro svolto dai product owner possa e debba essere gestito dal team, e non dalla roccaforte di una sola persona che è il product owner tradizionale. È il team che è il vero responsabile chiave.
Sander Hoogendoorn
Mentore, allenatore, software architect, sviluppatore e apprezzato innovatore nello sviluppo del software. Autore del best-seller “This Is Agile”, oltre a essere keynote speaker in molte conferenze internazionali, presenta seminari e corsi di formazione in tutto il mondo su Agile, Scrum, Kanban, continuous delivery, architettura software, Microservices, modeling e UML.
Sander Hoogendoorn presenterà a Roma per Technology Transfer i seminari “Introduzione ad Agile, Scrum, XP, Kanban e Continuos Delivery in pratica” il 7 giugno 2018 e “Progettare, sviluppare e implementare una Microservices Architecture” l’8 giugno 2018.