I team Agile più efficaci sono gruppi piccoli e agili composti da 5 a 7 persone con competenze diverse ma sovrapposte. Questa struttura consente al team di sviluppare relazioni strette e di fiducia che sfruttano abilità diverse e accelerano la capacità del team di portare a termine il lavoro. A volte però, le competenze necessarie per un progetto non rientrano nelle capacità collettive di un team.
È qui che entrano in gioco gli specialisti.
Generalisti e specialisti
Le persone con cui lavoriamo di solito rientrano in una di queste due categorie: generalisti e specialisti. In cosa si differenziano?
- Generalista: una persona con una vasta conoscenza in grado di lavorare in una serie di aree diverse
- Specialista: una persona con una conoscenza approfondita e unica di una particolare area di interesse
Secondo molte metodologie Agile, tutti i membri del team devono diventare generalisti (per ulteriori informazioni sul perché, consulta il nostro articolo sui team Agile). A volte, però, ha senso che un team si avvalga dell'aiuto di uno specialista per i seguenti motivi:
- una particolare combinazione di competenze non è necessaria a tempo pieno nel team
- l'azienda ha un numero limitato di persone con una determinata combinazione di competenze, suddivise tra i vari team
- è necessaria un'autorizzazione specifica per lavorare in un'area a cui il team generale non ha accesso
In questi casi, è opportuno includere uno specialista nel team per un determinato periodo di tempo. Tuttavia, l'aggiunta di uno specialista al team comporta alcune sfide.
Riconoscere le sfide che arrivano con gli specialisti
Poiché gli specialisti fanno parte di un team solo per un determinato periodo di tempo, possono rapidamente diventare un "percorso critico", a volte bloccando l'avanzamento dell'intero team. Ad esempio, se un team si rivolge a un amministratore di database per apportare modifiche al database e distribuire nuovo codice, l'avanzamento del team è bloccato dall'amministratore del database. Se il team non può andare avanti perché ha bisogno dell'input dello specialista, quel determinato flusso di lavoro si interrompe. Dal momento che lo specialista è l'unico componente del team ad avere le competenze necessarie, il team non ha altra scelta che aspettare che lo specialista le sblocchi.
Gli specialisti si occupano di molti cambi di contesto, rallentando un progetto e accelerandone un altro. E passare da un progetto all'altro è costoso. Gli specialisti non hanno quasi mai la stessa conoscenza approfondita di un progetto che hanno invece i membri del team principale. Di conseguenza, possono perdersi dettagli importanti. Per mitigare questo problema, il team principale deve dedicare ulteriore energia a mantenere aggiornato lo specialista.
Suggerimenti per lavorare con gli specialisti
Esaminiamo tre suggerimenti per limitare gli ostacoli posti dalla collaborazione con uno specialista.
1. Definisci chiaramente ciò che viene richiesto allo specialista
Una volta che ti rendi conto che occorre rivolgersi a uno specialista, dedica del tempo a riflettere su quali sono esattamente le tue esigenze. Determina il tipo di lavoro e il livello di profondità delle conoscenze necessari. In questo modo, potrai assicurarti che il team si rivolga allo specialista giusto e che quest'ultimo lavori con il team per un intervallo di tempo sufficiente per portare a termine il lavoro. Non avere una previsione realistica del tempo e delle competenze necessarie richieste allo specialista espone il tuo team e lo specialista al rischio di insuccesso.
2. Trasferisci le conoscenze dallo specialista al team principale
I team Agile sono contraddistinti dalla sovrapposizione di competenze. Quando hai uno specialista che lavora con un team, completa la fase di compilazione in tempo affinché lo specialista possa formare il team principale, nella misura del possibile, per fare in modo che le conoscenze che porta con sé non vadano completamente perse quando se ne va. Alcuni modi efficaci per riuscirci sono:
- Programmazione in coppia: la programmazione in coppia coinvolge due o più membri del team che collaborano in tempo reale su un'area specifica del progetto. Entrambe le persone possono porre domande e occuparsi del lavoro.
- Revisione del codice: nella revisione del codice, un membro del team principale esaminerà il lavoro completato dallo specialista per comprendere tutte le modifiche. Le revisioni del codice si concentrano più sul perché che sul come, e sono meno efficaci della programmazione in coppia ai fini della formazione.
- Formazione in pausa pranzo: si tratta di sessioni informali in cui gli specialisti mettono a disposizione di un gruppo di persone le loro competenze. È un modo efficiente per formare l'intero team.
L'obiettivo è garantire che il team diventi più autonomo. Il trasferimento delle conoscenze fornirà al team principale più contesto per la gestione delle aree precedentemente di responsabilità dello specialista, riducendo la dipendenza del team da tale specialista in futuro.
3. Riduci al minimo la necessità continua dell'aiuto dello specialista
Dal momento che gli specialisti riducono gradualmente il loro impegno con il team, è importante stabilire accordi sul livello di servizio tra il team e gli specialisti. Determina quando o in quali circostanze il team potrebbe aver bisogno di rivolgersi nuovamente a uno specialista. La creazione di guide di supporto che descrivono gli scenari comuni nell'area di competenza dello specialista può consentire al team di avere un maggiore controllo del proprio destino e di risolvere le sfide in autonomia.
In Atlassian, ci concentriamo sull'ampliamento delle competenze dei generalisti. Per escludere la progettazione dalla categoria degli "specialisti", ad esempio, abbiamo creato dei modi tangibili per sviluppatori e owner di prodotto tramite cui costruire le proprie competenze di progettazione. Per saperne di più, dai un'occhiata al nostro articolo sulla progettazione Agile.