gestire team di sviluppo agile
Le recenti trasformazioni in atto nelle imprese verso la digitalizzazione e l’introduzione di nuove tecnologie di processo hanno spinto sempre di più verso l’adozione di metodologie agili per aumentare la velocità di realizzazione e la flessibilità dei gruppi di lavoro.

Per gestire un team di sviluppo agile occorre mantenere elevato il livello di produttività che a sua volta dipende da una serie di fattori.

Non può essere ricondotta alla sola velocità con cui vengono eseguiti i cicli di sviluppo (sprint). Ciò che conta è il risultato finale e ciò che il team produce.

Spingere un team ad aumentare drasticamente la propria velocità non ha molto senso. Alla fine questo modo di gestire un team di sviluppo potrebbe risultare più costoso perché può portare a trascurare i test di accettazione, saltare la correzione dei bug o minimizzare le necessità di rilavorazione solo per ottenere una maggiore rapidità.

Invece esistono tutta una serie di fattori che, se opportunamente ottimizzati, consentono di aumentare la produttività rendendo il lavoro al tempo stesso più efficace ed efficiente.

Prima di tutto occorre creare la mentalità del miglioramento continuo.

L’approccio agile è in definitiva un approccio al miglioramento continuo ed incrementale. Occorre sviluppare release e versioni di un software ognuna delle quali si caratterizza per l’introduzione di miglioramenti ed innovazioni rispetto alle release precedenti.

Miglioramento continuo

Il secondo fattore determinante è il dimensionamento del team.

Per gestire un team di sviluppo agile è importante che il gruppo di lavoro sia composto da 3 a 9 persone al massimo.

Oltre questo limite, possono verificarsi problemi di comunicazione e si perde più tempo nelle discussioni e nelle revisioni giornaliere. Se è proprio necessario gestire un gruppo di lavoro più ampio, è opportuno suddividerlo in uno o più team.

Ogni team dovrà svolgere in modo sistematico degli incontri giornalieri per valutare l’avanzamento del lavoro e decidere in merito ad eventuali criticità.

Ogni incontro non dovrebbe richiedere più di 15 minuti e fornirà un quadro di come il lavoro sta procedendo. E’ possibile creare un registro di tutti i punti sollevati durante la riunione quotidiana e per i quali è necessaria una ulteriore elaborazione.

In questo si inserisce il ruolo dello Scrum Master che deve rimuovere gli impedimenti che ostacolano il lavoro del team.

Il rischio maggiore da questo punto di vista è che il team perda di focalizzazione e ad un certo punto non abbia più chiare le priorità. Lo Scrum Master ed il Product Owner insieme dovranno avere cura di definire costantemente il Product Backlog e le priorità di ciascuna funzionalità che dovrà essere implementata.

Strumenti Scrum

Per gestire un team di sviluppo agile è importante rendere visibile il lavoro svolto e quello ancora da svolgere.

Per questo è importante definire delle chiare metriche per misurare la quantità e qualità del lavoro e report grafici in grado di aiutare tutte le parti interessate a sapere come sta procedendo il lavoro.

Ad esempio ogni giorno è opportuno aggiornare il grafico di burndown su base giornaliera, visualizzare il Kaizen che si desidera raggiungere, mostrare la soddisfazione del cliente o del team.

Infine occorre evitare il multitasking.

Molte aziende lo lodano. Ma il multitasking riduce la produttività e la qualità del risultato finale.

Quando uno sviluppatore inizia a lavorare su un compito e deve fermarsi perché deve occuparsi di qualcos’altro, quando dovrà ritornare all’attività originale, dovrà comprendere cosa nel frattempo è cambiato e che tipo di contributo deve dare.

Nel gestire un team di sviluppo agile, quando si chiede alle persone di rinunciare a ciò che stanno facendo, si produce un costo invisibile in termini di perdita di concentrazione di cui è necessario prendere atto.

Inoltre occorre sapere che un gruppo di lavoro attraversa alcune fasi caratteristiche prima di diventare realmente operativo e produttivo. E che queste fasi devono essere attentamente gestite ed accompagnate per supportare questa evoluzione.

Team di progetto: gestione e sviluppo