Sul concetto di Velocity di un team agile

Chi ha familiarità con le modalità di lavoro agile e i suoi vari framework di riferimento, dovrebbe aver sentito parlare del concetto di Velocity, che è la principale metrica di riferimento che viene utilizzata per misurare quanto lavoro un team di sviluppo può completare con successo nel corso di un intervallo di tempo fisso detto Sprint. Ma sappiamo cosa significa davvero misurare la Velocity di un team?

Il termine, per assonanza, tende a essere sempre tradotto con “velocità” per cui la metrica nella percezione comune diventa la “velocità del team e la sensazione è che il team debba ricercare la propria efficienza, che però per il modo di pensare agile è un controsenso.

In un contesto di lavoro agile infatti, quale per esempio Scrum, quello che importa non è tanto l’efficienza del team quanto la sua capacità di permettere al proprio cliente, in Scrum rappresentato dal ruolo del Product Onwer, di ottenere i risultati che creano valore per il cliente stesso.

Questi risultati che creano  valore in inglese sono detti Outcome e infatti si dice che le metriche per misurare un team agile devono essere Outcome based.

Per fare un esempio semplice ma efficace del concetto appena espresso, in un contesto agile a nessuno importa quanto un team sia efficiente a piantare chiodi o ad avvitare viti, quello che importa è la capacità di appendere quadri nel modo desiderato dal proprio Product Owner entro un tempo ragionevole previsto dal team e utile al Product Owner.

Siamo allora sicuri che “velocità” sia la traduzione corretta per il termine Velocity? Anche perché chiunque conosca un inglese anche elementare sa che normalmente “velocità” si traduce con “speed”. E quindi?

La spiegazione sta in un’altra delle mie passioni sportive, la barca a vela. Perché la parola Velocity in realtà è un termine nautico con un significato ben preciso e tutto mi fa pensare che chi ha adottato questo termine per i team agili abbia voluto utilizzare una metafora sportiva e in particolare velica, che però è risultata talmente sottile che quasi nessuno la ha colta.

La velocità di una barca a vela si misura con due grandezze: la velocità propria della barca nell’acqua (Speed Through Water – STW) che è quella che si percepisce navigando e la velocità effettiva sulla superficie terrestre (Speed Over Ground – SOG) che è quella che ci dice quanto la barca di sta effettivamente spostando. Senza qui addentrarsi in spiegazioni tecniche, le due velocità sono correlate ma non sono quasi mai uguali per via delle dinamiche dell’acqua. Sempre per fare un esempio semplice, si pensi a una barca che naviga contro corrente in un fiume dove c’è una corrente pari alla velocità della barca stessa; la STW sarà positiva, la barca rispetto all’acqua si muove, la SOG sarà nulla, rispetto alla superficie terrestre la barca è ferma.

La STW ci dice quanto rapidamente la barca si muove sull’acqua, quindi ci da un’indicazione di quanto è efficiente il moto della barca, la SOG ci dice quanto rapidamente la barca si muove sulla superfice terrestre, quindi ci da un’indicazione di quanto è efficace il moto della barca. Da notare che entrambe in inglese sono Speed, nessuna delle due è Velocity, che è un concetto ancora diverso. Cosa è la Velocity allora?

Nel disegno ho riportato una spiegazione un po’ semplificata del concetto velico di Velocity.

Una barca non può muoversi contro vento, al massimo può tenere un angolo di circa 45° rispetto alla direzione del vento. Se si vuole quindi raggiungere un obiettivo che sta controvento, occorre bordeggiare, ovvero ‘zigzagare’ come in figura con angoli di 45° rispetto alla direzione del vento e così facendo ci si avvicinerà al punto obiettivo. Quello che ci interessa non è né la STW, né la SOG ma la velocità con cui la barca si avvicina al punto obiettivo, che in inglese viene chiamata appunto Velocity Made good on Course (VMC), che è la componente della SOG che ci sta avvicinando al punto obiettivo.

Quindi il sottinteso di chi ha scelto il termine Velocity è che il team deve misurare la propria capacità relativa di avvicinarsi al punto obiettivo (che fuori di metafora è il risultato che crea valore per il Product Owner) e non tanto la propria efficienza di azione intrinseca (Speed Through Water – STW) ma nemmeno la propria efficacia assoluta (Speed Over Ground – SOG), perché per raggiungere l’obiettivo del Product Owner il team deve saper combinare la propria efficienza ed efficacia con una strategia che permetta di impiegare al meglio gli elementi propulsivi disponibili (il vento) per riuscire a raggiungere l’obiettivo nel tempo più breve possibile, ma senza compromettere il risultato. E chi ha esperienza di navigazione a vela sa bene che questa strategia di impiego degli elementi propulsivi disponibili è l’elemento che fa la differenza tra un buon velista e un principiante ed è più decisiva e importante rispetto a efficienza ed efficacia del mezzo, perché se si sbaglia il percorso o non si capisce come gira il vento e si finisce controvento, la barca si ferma.

Fuori dalla metafora velica, si usa quindi il termine Velocity perché non importa quanto il team agile sia efficiente e nemmeno quanto sia efficace, ma quanto sia complessivamente abile nel progredire il più rapidamente possibile verso gli obiettivi che creano valore per il cliente.