Stavo lavorando con un direttore IT di un’azienda Fortune 500 a un’iniziativa di adozione di Azure DevOps Services per i team che riportano a lui. Sono 5 team distribuiti in Italia che dovranno adottare linee guida comuni.
Durante il design del processo e delle relative board ho portato all’attenzione il concetto di definition of done.
La definition of done è un concetto semplice da spiegare ma la sua attuazione richiede profonda attenzione.
Definiton of done
Cos’è una definition of done? Si tratta di una serie di criteri, una check-list, che un’unità di lavoro deve rispettare per ritenere concluse le attività da fare in una certa fase del processo e passare alle fasi successive mantendendo gli standard concordati.
I vantaggi sono:
- chiarezza: il team sa con esattezza cosa significa che un certo lavoro è stato completato in una certa fase;
- qualità: una lista esplicita e concordata aiuta a mantenere uniformità e qualità per ogni unità di lavoro;
Stabilire una definition of done è un esercizio importante per un team: obbliga a mettere per esplicito dei concetti che proabilmente sono stati dati per ovvi o impliciti da sempre creando a volte anche dei malintesi (“ma come, mi hai detto che era finito ma mancavano i test!”).
La sua potenza sta nell’incentivare un dialogo, soprattutto all’inizio mentre la si costruisce insieme.
Azioni
La definition of done può passare come un esercizio noioso, quasi inutile, o uno spreco di tempo… (sappiamo tutti cosa significa che l’analisi è completata qui dentro, no!?).
Il mio invito è quello di costruirne una se non ce l’hai: riserva dello spazio di discussione con il team, concorda e documenta la definition of done per ogni transizione di stato nel processo.
Sarà un esercizio che riserverà parecchie sorprese.
Garantito.