Assessment tecnico di un team di sviluppo

Assessment tecnico di un team di sviluppo

L’Agile Reloaded Route prosegue nell’Assessment & Design Teams, terza città dell’isola dell’Inception. Il nostro collega Ferdinando Santacroce, forte del suo bagaglio da sviluppatore software, ci conduce alla scoperta dell’Assessment tecnico dei Team di Sviluppo.

biglietto trenoagile reloaded route

Esercizi di assessment

Una delle prime cose da fare quando si inizia a lavorare con nuovi team di nuove aziende è stabilire un rapporto di fiducia con le persone e creare degli spazi per lavorare insieme.

In che modo è possibile iniziare con il piede giusto?

Durante il suo meetup, Ferdinando Santacroce ha condiviso con il pubblico alcuni approcci utili per conoscere (e farsi conoscere da) i team. È fondamentale costruire fin dal primo incontro un ambiente stimolante dove le persone si sentano a loro agio nel condividere esperienze e apprendere nuovi concetti.

 

Primo esercizio: la Solution Focused Retrospective

Solution Focus

L’obiettivo è quello di conoscere le persone e i loro ruoli, per comprendere da dove è possibile partire con le attività: di creare, in sostanza, un backlog di iniziative.

Un primo momento è dedicato a una retrospettiva costruita secondo l’approccio Solution Focused, e in particolare sulla Miracle Question.
Si chiede alle persone di immaginare quale sarebbe la situazione se i problemi che pensano di avere svanissero nottetempo, di immaginare in qualche modo il loro futuro preferibile.

“Cos’è qualcosa a cui possiamo ambire?”

Il team può essere aiutato in questo compito attraverso delle domande. L’obiettivo dell’attività è di spingere le persone a immaginare un loro cambiamento, senza soffermarsi troppo sugli ostacoli quanto piuttosto sui possibili scenari che ci aspettano.

Una volta in possesso dell’immagine, dell’idea di questo futuro, si scende più in profondità.

    • Quali saranno i primi segnali che vi diranno che qualcosa è cambiato?
    • Come farete a sapere che questa trasformazione è avvenuta?
    • E tu cosa starai facendo di diverso?
    • Come se ne accorgeranno gli altri?

Dopo un momento di racconto e condivisione di quanto emerso, il coach aiuta le persone a scovare alcune iniziative applicabili fin da subito, i primi passi verso il futuro immaginato dai partecipanti.

Si tratta di un esercizio che ha risvolti positivi per entrambe le parti; infatti permette:

  • al coach di stabilire il primo contatto con il team;Solution Focused
  • alle persone del team di avere una maggiore consapevolezza dei loro punti di forza.

Infine, scardina dinamiche come:

  • L’idea che il coach abbia “la bacchetta magica che risolve tutti i problemi
  • I muri del pianto”, quei momenti di confronto che si trasformano in momenti di sfogo.

Risorse:

    • Appreciative Inquiry, link
    • “Punta alla soluzione. Un approccio di coaching innovativo per favorire il cambiamento nelle persone e nelle organizzazioni”, volume sul Solution Focused Approach, link
    • Team charter

 

Secondo esercizio: la mappatura delle competenze.

mappatura delle competenze

Un esercizio di brainstorming prima sulle attività, poi sulle competenze e sui ruoli, fino alla fase di costruzione del backlog delle iniziative.
L’obiettivo è valorizzare le competenze e permetterne la diffusione tra le persone del team.

10 attività in 10 minuti

L’esercizio ha inizio con una domanda:

Quali sono le attività che svolgi in azienda?

Il principio base è che tutti svolgono delle attività, ma esistono e permangono delle conoscenze tacite, poco visibili alle persone interne al team e totalmente estranee a chi non vive quotidianamente le attività del team.
Questo esercizio, già per il semplice fatto di mettere tali informazioni per iscritto, permette di dare un nome a queste conoscenze e di pensare a delle loro possibili associazioni.

Trascorsi i 10 minuti di brainstorming, lo step successivo consiste nel far emergere e parlare di competenze.
Vengono quindi portate alla luce quelle attività, note o meno, e creati dei cluster per le attività simili. Da qui, vengono fatti emergere dei ruoli, separando le capacità e le competenze delle singole persone dal nome delle persone stesse (una dinamica che si rivela essere un problema quando vi è una situazione di concorrenza di competenze).

Una volta individuate, è consigliabile riportare tutte le competenze su un grande foglio di calcolo e definire una scala numerica di valore, attribuendo un significato per ogni grado di punteggio.excel competenze
Questo passaggio ha l’obiettivo di portare le persone verso una auto-valorizzazione delle competenze che le riguardano (ciò che già fa, o che non fa ma potrebbe fare, o che già sa fare…).

Non si tratta di attribuire un voto, bensì di rendere evidente la distribuzione delle competenze in team e aziende.
In piccoli gruppi, si prosegue quindi verso un’armonizzazione dei valori, al fine di condividere e scoprire insieme con i propri colleghi le abilità comuni e quelle complementari.

Questo strumento permette di:

  • raggiungere maggiore consapevolezza delle proprie forze;
  • individuare le criticità;
  • scoprire con chi poter condividere delle competenze;
  • ottenere una “base dati” per iniziare il percorso di miglioramento;

Il coach consiglia ogni tanto di aggiornare la matrice, “una scusa per ragionare ulteriormente e mettere in campo nuove iniziative”.

Terzo esercizio: il Self-Assessment Quiz

Self Assessment Quiz

Per questa attività, Ferdinando ha preso ispirazione dal libro di James Shore: “The Art of Agile Development”. In questo libro è presente un esercizio chiamato “Assess your Agility”: un questionario sull’agilità le cui domande sono divise per settori e dal quale viene generato un radar per comprendere il livello di agilità del team.

Oltre a questo esercizio, Ferdinando propone due esercizi come alternativa.

  • Il Nokia Test, link
  • La Scrum check-list, link

Risorse:

  • The Agile Self-Assessment Game, di Ben Linders, link
  • The Art of Agile Development, di James Shore, link
  • BOSSA Nova Assessment, di Jutta Eckstein e John Buck, link
  • il tool Custom Capability, per creare il proprio assessment, link

Ma nel pratico, come si possono capire le capacità del team a livello tecnico?

L’approccio iterativo incrementale permette di apportare modifiche al prodotto passo dopo passo secondo le richieste del cliente: anziché proporre un prodotto definitivo che soddisfi tutti i bisogni solo dopo la realizzazione dell’intero prodotto, viene offerto un prodotto basilare che risponde al bisogno primario dell’utente, che può così iniziare a provarlo fin da subito, e valutare quali sono i bisogni secondari da prioritizzare.

Un’ulteriore considerazione: adottando questo approccio, le priorità del cliente potrebbero cambiare e il prodotto finale potrebbe risultare diverso da quello immaginato e richiesto inizialmente.

Quarto esercizio: lavoriamo insieme

team tecnico

Il principio base è che non sempre le persone di un team lavorano davvero “insieme”. L’obiettivo di questo esercizio è quello di creare un ambiente aperto, di confronto libero, per imparare a condividere e spiegarsi.

Si inizia a ragionare di codice, e si evidenziano punti di forza e criticità.

Alcune tecniche e strategie consigliate dal nostro coach, sono:

  • Mob programming, per permettere ai team di lavorare allo stesso progetto nello stesso momento, luogo e sullo stesso computer (articolo di approfondimento qui);
  • Kata: esercizi mirati per approfondire tematiche tecniche (ad es. OOP, testing, code smells, etc.), continuando a fare assessment liberi dalla dinamica valutatore-valutati.
  • Object Calisthenics: un “allenamento a corpo libero”, con poche regole che però portano le persone a scontrarsi con trappole comuni del design del codice.
  • Legacy Code: Refactoring Legacy code: un percorso che, partendo dalle definizione di “codice legacy” porta ad approcciare l’estensione ed il refactoring di codebase esistenti in maniera sicura. Ragionando su un grafico dove gli assi sono “complessità della logica” e “numero di dipendenze”, si individuano successivamente le prime porzioni di codice affrontabili insieme in workshop mirati. L’obiettivo ultimo è portare la curva del tempo di scrittura di un test dal suo valore massimo al suo valore minimo e prolungando, di conseguenza, il tempo di scrittura di codice di produzione, e quindi di rilascio di valore.

Risorse:

Questo il link alla board con gli appunti: https://miro.com/app/board/uXjVOJrieKg=/

Leggi altri articoli della stessa categoria: Pratiche e strumenti per team

Oppure esplora le altre categorie: Organizzazione e strategia Pratiche e strumenti per team Prodotti e progetti agili