Skip to main content
Key Takeaways

Coerenza della Qualità: Stabilire una definition of done condivisa previene confusioni e migliora la qualità del lavoro all'interno del team.

Previsioni Migliorate: Una definition chiara aiuta a prevedere meglio la velocità e a pianificare meglio i progetti.

Trappole Comuni: Evita di rendere la definition troppo dettagliata o di non applicarla; entrambe le cose possono causare problemi.

Passi Pratici: L'articolo indica passi concreti per creare una definition of done efficace per team agile.

La definizione di done (DoD) è lo standard condiviso che determina quando un lavoro è realmente completo. Aiuta a prevenire lacune di qualità, rifacimenti e sorprese proprio alla fine dello sprint. Ho visto team di sviluppo perdere fiducia, mancare le scadenze e creare conflitti inutili perché ognuno aveva un’interpretazione diversa di "completato". 

In questa guida imparerai come creare una definition of done che allinei il tuo team agile, migliori la prevedibilità e rafforzi la qualità, con esempi pratici, modelli ed errori comuni da evitare. 

Cos'è la Definition of Done?

La definition of done è un insieme formale e condiviso di criteri che un item del product backlog o un incremento deve soddisfare prima che il team lo consideri completo e potenzialmente rilasciabile. Pensala come il contratto di qualità che il tuo team si impegna a rispettare per ogni lavoro, indipendentemente da dimensione o complessità.

Unlock for Free

Create a free account to finish this piece and join a community of forward-thinking leaders unlocking tools, playbooks, and insights for thriving in the age of AI.

Step 1 of 2

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form

Ecco le caratteristiche principali di una buona definition of done:

  • Trasparenza: Tutti nel team e tra gli stakeholder chiave possono consultarla, leggerla e farvi riferimento in qualsiasi momento.
  • Misurabile: Ogni criterio è binario. Il lavoro lo soddisfa oppure no, ma le soglie che scegli per i criteri quantitativi meritano un’attenta valutazione. Un obiettivo di code coverage all’80% è binario nell’applicazione, ma la scelta dell’80% invece del 70% o del 90% è una decisione che dovresti prendere consapevolmente.
  • Universalmente compresa: Ogni membro dello Scrum team deve essere in grado di interpretare ogni punto allo stesso modo.
  • Applicata con coerenza: Lo stesso elenco viene applicato a ogni deliverable e item del product backlog. 
  • Raggiungibile entro uno sprint: I criteri dovrebbero essere realistici, in modo che il team possa raggiungerli in uno sprint o iterazione.

Nei progetti di sviluppo software, solitamente sono gli sviluppatori a possedere la definition of done perché sono loro a dovervi aderire. Detto questo, anche il product owner e lo scrum master dovrebbero contribuire.

Se la tua organizzazione ha già standard specifici per la definition of done, ogni Scrum team deve seguirli come base minima. I team possono sempre aggiungere criteri più restrittivi, ma non scendere sotto il livello organizzativo.

Perché la Definition of Done è Importante

Una definition of done chiara è importante perché impedisce che lavori parzialmente completati passino inosservati e fornisce uno standard di qualità condiviso.

Ecco altri motivi per cui una definition of done condivisa è fondamentale:

  • Agisce come barriera di qualità integrata: Ogni item deve superare la stessa soglia prima di essere considerato completo. Questo impedisce che lavori non finiti entrino nell’incremento di prodotto e si accumulino come debito tecnico.
  • Elimina l’ambiguità: Quando il team condivide una sola definizione, non si creano situazioni in cui definizioni contrastanti influenzano velocità o qualità del lavoro. Una definition of done condivisa significa meno conflitti, meno sorprese e demo più pulite.
  • Migliora la previsione: Quando "fatto" significa sempre la stessa cosa ad ogni sprint, puoi prevedere la velocity con sicurezza e programmare release senza aggiungere margini per il rifacimento.
  • Costruisce fiducia negli stakeholder: Quando product owner, leadership e stakeholder esterni vedono che il tuo team applica uno standard di qualità chiaro, si fidano dei vostri deliverable. 
  • Previene il caos nell’integrazione: Se lavori in modo che il team debba integrare il proprio lavoro in un incremento condiviso, una comprensione comune della definition of done è la base per incrementi consistenti e rilasciabili. 
Join the DPM community for access to exclusive content, practical templates, member-only events, and weekly leadership insights - it’s free to join. <br><br>

Join the DPM community for access to exclusive content, practical templates, member-only events, and weekly leadership insights - it’s free to join.

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form

Come Creare una Definition of Done

Ecco i passi chiave per creare una definition of done efficace.

  1. Analizza il tuo attuale flusso di lavoro: Traccia ogni fase che il tuo lavoro attraversa prima di arrivare in produzione. Parla con sviluppatori, tester, designer e chiunque altro sia coinvolto nel processo. Scoprirai passaggi di qualità informali che dovrebbero essere formalizzati.
  2. Identifica i criteri di qualità irrinunciabili: Decidi quali attività devono essere eseguite per ogni singolo lavoro. Queste di solito includono la revisione del codice, il testing automatico, l’aggiornamento della documentazione e le scansioni di sicurezza. Sii onesto su ciò che stai attualmente saltando.
  3. Redigi la checklist in modo collaborativo: Coinvolgi tutto il team e crea la checklist insieme utilizzando una lavagna o un documento condiviso dove ognuno può aggiungere, discutere e perfezionare gli elementi in tempo reale. Una definition of done adottata con il consenso del gruppo resiste meglio sotto pressione rispetto ad una imposta superando obiezioni a maggioranza.
  4. Valida rispetto agli standard dell’organizzazione: Incrocia la tua bozza con eventuali policy di qualità aziendali, requisiti normativi o standard di settore che il tuo prodotto deve rispettare. Se la tua organizzazione ha già una definition of done di base, parti da lì e migliorala.
  5. Rendila visibile: Pubblica la definition of done dove il team lavora ogni giorno. Potrebbe essere un poster appeso al muro, un messaggio fissato su Slack o un pannello nello strumento di gestione progetti.
  6. Impegnati a farla rispettare: Una definition of done che viene disattesa quando ci sono scadenze imminenti è peggiore di non averne alcuna, perché crea una falsa percezione di qualità. 

Esempi di Definition of Done

Ecco alcuni esempi di definition of done per diversi tipi di progetto:

Definition of Done per progetti di sviluppo software

I progetti software affrontano una vasta gamma di rischi qualitativi: bug, vulnerabilità di sicurezza, regressioni di performance e problemi di integrazione. La definition of done per un team software deve coprire l’intero percorso dal codice fino allo stato pronto per il rilascio.

Potrebbe essere composta da:

  • Tutto il codice scritto e revisionato da almeno un altro sviluppatore
  • Test unitari superati con copertura almeno al livello concordato
  • Test di integrazione superati nella pipeline CI/CD
  • Nessun bug aperto con gravità critica o alta
  • Documentazione tecnica aggiornata in base alle modifiche
  • Codice unito sul branch principale
  • Product owner ha revisionato e accettato il lavoro
  • Performance soddisfatta secondo le soglie concordate

Definition of Done per progetti di marketing 

Il lavoro di marketing spesso presenta aspetti legati a conformità, branding e misurazione che lo differenziano dallo sviluppo software. 

Ecco come potrebbe apparire la definition of done per un progetto marketing:

  • Contenuto revisionato e approvato dal team legale
  • Checklist SEO completata, inclusi meta description, testo alternativo e link interni
  • Tutti gli asset caricati nel CMS e formattati correttamente
  • Tracciamento analitico configurato e verificato nell’ambiente di staging
  • Testo finale corretto da un secondo membro del team
  • Checklist di lancio campagna approvata dal team lead

Definition of Done per progetti di design 

I team di design devono usare la definition of done per colmare il divario tra l’intento creativo e la consegna tecnica. Senza una, i design arrivano allo sviluppo incompleti, con dettagli mancanti, comportamento responsivo non validato o carenze di accessibilità scoperte troppo tardi.

Ecco un esempio di definition of done per un progetto di design:

  • Design revisionato secondo gli standard di accessibilità WCAG 2.2
  • File di consegna preparato sull’apposito strumento con tutte specifiche, asset e annotazioni
  • Approvazione e documentazione della firma dei portatori d’interesse
  • Componenti del design system aggiornati in caso di nuovi pattern
  • Comportamento responsivo validato alle breakpoint concordate

Definition of Done vs. Acceptance Criteria

La definition of done è il vostro standard di qualità a livello di team, mentre gli acceptance criteria sono i requisiti funzionali a livello di funzionalità.

Pensa alla definizione di fatto come alla base che si applica universalmente, mentre i criteri di accettazione sono specifici per ogni backlog di sprint o singolo elemento del product backlog. Un elemento del product backlog è considerato completo quando soddisfa sia i suoi criteri di accettazione sia la definizione di fatto della squadra.

AspettoDefinizione di fattoCriteri di accettazione
AmbitoSi applica a ogni elemento del product backlog e incrementoSpecifico per una singola user story o elemento del product backlog
TitolaritàDi proprietà degli sviluppatori, con contributi dall’intero team ScrumScritto dal product owner o con il suo coinvolgimento
SpecificitàStandard qualitativi generali per tutto il lavoroRequisiti funzionali dettagliati per una singola attività
Frequenza di cambiamentoCambia raramente; viene aggiornato durante le retrospettive di sprintCambia a ogni nuova user story
Punto di verificaControllato prima che ogni elemento sia considerato completoVerificato durante la revisione della storia o nell’accettazione

Errori Comuni e Trappole

Ecco alcuni errori comuni da evitare quando si creano le definizioni di fatto:

  • Saltare elementi per andare più veloci: I team sotto pressione spesso eliminano criteri come la revisione della sicurezza, i test di accessibilità o la documentazione. Questo crea debito tecnico nascosto che emergerà più tardi sotto forma di bug, lavoro aggiuntivo o problemi di conformità.
  • Checklist troppo dettagliata: Una definizione di fatto eccessivamente dettagliata diventa un compito burocratico. Se la tua checklist ha 30 punti e gli sviluppatori passano più tempo a spuntare caselle che a scrivere software, hai esagerato. Sii abbastanza specifico da essere significativo, ma sufficientemente generico da restare pratico.
  • Modificare la definizione di fatto per ogni storia: Lo scopo della definizione di fatto è garantire coerenza. Le condizioni specifiche della funzionalità appartengono ai criteri di accettazione (ad esempio, ai criteri di accettazione tipo dato-quando-allora), non alla definizione di fatto.
  • Non rivederla mai: La definizione di fatto deve evolversi man mano che le tue pratiche maturano, i tuoi strumenti cambiano o il prodotto cresce. Ti suggerisco di rivederla durante le retrospettive almeno una volta a trimestre, e di aggiornarla quando il team individua lacune o difficoltà.
  • Non farla rispettare: Una definizione che viene ignorata quando qualcuno di importante lo chiede è inutile. Il compito dello Scrum Master è proteggerla, anche quando un stakeholder vuole rilasciare qualcosa che non rispetta gli standard. Se i criteri vengono spesso ignorati, il team perde fiducia nello standard e smette di prenderlo sul serio.
  • Confondere “fatto” con “rilasciato”: La definizione di fatto stabilisce se un incremento è rilasciabile, non se sia stato effettivamente rilasciato. Un elemento del product backlog può essere definito fatto senza essere stato distribuito. Non aggiungere "rilasciato in produzione" alla tua definizione di fatto a meno che il tuo team non gestisca davvero tutto il processo di rilascio dall’inizio alla fine.
  • Dimenticare di consultarla: Molti team hanno tecnicamente una definizione di fatto, ma se nessuno l’ha letta negli ultimi sei mesi, non funziona come standard di qualità.

Cosa Succede Ora?

Migliora i tuoi processi agili e i modi di lavorare con strumenti pratici, modelli e approfondimenti esperti tramite una membership DPM gratuita, e rafforza i sistemi che aiutano i team a offrire costantemente lavoro di qualità.