Sviluppo software

Team leader o product owner? Trova le differenze!

La figura del Team Leader è sempre fondamentale quando si lavora in gruppo? Scopri come funziona uno Scrum Team e qual è il ruolo del Product Owner

In questa nuova rubrica analizzeremo le figure chiave per lo sviluppo di progetti digitali secondo la metodologia Agile, e in particolar modo all’interno del framework Scrum utilizzato da Hermes.
Questa breve analisi sarà utile per evitare di fare confusione tra i vari ruoli del team e per capire in che modo ogni figura contribuisce all’avanzamento dei progetti.
Secondo le definizioni ufficiali, questi sono i ruoli chiave di uno “Scrum Team”:

  1. Developer
  2. Scrum Master
  3. Product Owner

E il team leader? No, grazie!

Perché il Team Leader è escluso dai team Scrum? Qualcuno potrebbe essere sorpreso nel non vedere nell’elenco la figura del Team Leader, ma in realtà è una cosa normale nel mondo Scrum, perché questo framework non prevede un assetto verticale del team.

Una delle caratteristiche e dei vantaggi principali di questo approccio sta proprio nel fatto che stimola l’interscambio e la partecipazione attiva di ogni risorsa del team: le decisioni e anche le responsabilità sono condivise all’interno di un modello autogestito e cross-funzionale.

Questo significa che ogni Scrum Team possiede al suo interno tutte le competenze necessarie a ottenere un incremento di software, senza dipendere da soggetti esterni al team, come appunto un Team Leader.

L’ulteriore vantaggio è riuscire a sfruttare il 100% del potenziale di ogni membro, ma ovviamente il modello funziona solo se tutti sono allineati al medesimo metodo e agiscono secondo gli stessi principi.

Partiamo dalle definizioni ufficiali della metodologia Scrum per scoprire quali sono i ruoli e le responsabilità di ognuno. Innanzitutto vediamo i 5 valori fondamentali che ogni membro di uno Scrum Team dovrebbe seguire:

  • Commitment (quindi la dedizione alla causa)
  • Focus (concentrazione assoluta sugli obiettivi)
  • Apertura (al dialogo, al confronto ed allo scambio)
  • Rispetto (la struttura orizzontale non prevede un unico capo che comanda)
  • Coraggio (ossia l’espressione pratica della pro-attività)

Fatta questa premessa, vediamo nel dettaglio il ruolo dei vari protagonisti del team:

I developer

ono gli sviluppatori, di solito organizzati in team da 3 a 9 unità, che rappresentano la parte operativa del team. Sono responsabili della qualità del prodotto e collaborano a stretto contatto con il Product Owner per definire l’obiettivo degli sprint (quindi “cosa” fare), ma partecipano anche alle decisioni sui dettagli di avanzamento del lavoro (“come” farlo).

Il Product Owner

Questa figura ha la responsabilità di massimizzare il ritorno dell’investimento (ROI) per gli investitori (Stakeholders), identificando le caratteristiche che deve avere il prodotto e definendo l’ordine di priorità del Product Backlog.

Nelle sue valutazioni, il Product Owner deve tenere conto non solo di strategie e obiettivi generali, ma anche dei desideri, delle aspettative e delle indicazioni dei committenti.

In rari casi committente e Product Owner possono coincidere, ma riteniamo sia sempre meglio che le due figure rimangano separate, in modo che il Product Owner possa mediare correttamente tra il team di sviluppo e le singole richieste degli Stakeholders.

In questo senso, il Product Owner diventa quindi una figura centrale del progetto, mentre il classico Team Leader sarebbe di fatto “inutile” nel mondo Agile e soprattutto in un ambiente Scrum, perché questo framework non prevede la presenza di un unico decision maker che possa fare il bello e il cattivo tempo.

E lo Scrum Master? Perché è così importante?

L’ultimo ruolo, altrettanto importante, è quello dello Scrum Master, che si interfaccia con il team di sviluppatori e con il Product Owner per svolgere vari compiti specifici.

Il primo compito fondamentale è favorire l’avanzamento dei progressi del team, attraverso il rigoroso rispetto della metodologia di sviluppo Scrum.
Secondo la definizione ufficiale, lo Scrum Master “non deve dirigere o supervisionare il lavoro dei tecnici, ma facilitare la risoluzione di eventuali impedimenti per un avanzamento efficace”.

Possiamo quindi definire lo Scrum Master come:

  • un “facilitatore”, la figura che aiuta tutti i ruoli a collaborare in maniera coesa
  • un “coach”, che educa sia il team di sviluppo sia lo stesso Product Owner ad attenersi ai valori, alle pratiche e alle regole del framework Scrum
  • un “protettore” del team, che rimuove gli impedimenti che possono creare distrazione ed è il referente esterno del lavoro del team.

Quando parliamo di “impedimenti”, ci riferiamo a qualsiasi distrazione, problema (anche personale) o elemento di disturbo o rallentamento che può influire sul progetto. Proprio per questo lo Scrum Master è detto anche “Servant Leader”, perché è un leader al servizio del team (e non al di sopra di esso, come accadrebbe invece per un Team Leader).

Purtroppo però nella pratica di tutti i giorni può capitare che alcuni progetti, soprattutto se gestiti da piccoli team, non abbiano un vero e proprio Scrum Master incaricato e si decida di delegare il ruolo al developer più esperto all’interno del team di sviluppo. A questo punto la figura prende un nome ancora diverso e ci troviamo di fronte a quello che potremmo definire un “Techical Leader”, oppure un “Tech Senior Developer”.

Purtroppo però bisogna chiarire subito che anche se questa soluzione interna potrebbe apparire risolutiva ed efficace, come ogni decisione strategica ha i suoi pro e i suoi contro.

La scelta di delegare a un membro del team anche il ruolo di SM può portare ad esempio a un risparmio economico (perché di fatto avremo una figura in meno nel team), ma dall’altro lato rinunciare a questa figura chiave può danneggiare e rallentare il lavoro del singolo membro e del team, e di conseguenza l’intero progetto, con un aumento del rischio di commettere errori.

Quando invece un team è al completo e lo Scrum Master si concentra sui propri compiti, ognuno può svolgere il suo ruolo senza distrazioni e allora sarà molto più difficile perdere la bussola del progetto.

Abbiamo visto come nel mondo Agile i ruoli “classici” vengano completamente ridefiniti: l’assenza di un Team Leader è funzionale alla messa in pratica dei principi stessi del modello Agile e di Scrum, permettendo di ottenere vantaggi operativi concreti e uno sviluppo ottimale ed efficace.

Giacomo Caturegli | LinkedIn

Iscriviti alla newsletter di Hermes, segui le esperienze dei talenti con le ali e scopri come trarne vantaggi per la tua azienda.