Skip to main content
Key Takeaways

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

Migliore Previsione: Una definizione chiara aiuta ad una previsione accurata della velocità e a una migliore pianificazione del progetto.

Trappole Comuni: Evita di rendere la definizione troppo dettagliata o di non applicarla: entrambi gli errori possono causare problemi.

Passi Pratici: L'articolo illustra i passaggi concreti per creare una definizione di done efficace per i team agile.

La definition of done (DoD) è lo standard condiviso che determina quando il lavoro è veramente completo. Aiuta a prevenire lacune nella qualità, rilavorazioni 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 "completo". 

In questa guida, scoprirai come creare una definition of done che allinei il tuo team agile, migliori la prevedibilità e rafforzi la qualità, insieme a 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 elemento 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 su ogni attività, indipendentemente dalla sua dimensione o complessità.

Sblocca Gratis

Crea un account gratuito per terminare la lettura di questo articolo e unirti a una community di leader innovativi che accedono a strumenti, playbook e approfondimenti per prosperare nell’era dell’AI.

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at any time.

Ecco le caratteristiche chiave di una definition of done efficace:

  • Trasparente: Tutti nel team e tra gli stakeholder chiave possono vederla, leggerla e farvi riferimento in qualsiasi momento.
  • Misurabile: Ogni criterio è binario. Il lavoro lo soddisfa o non lo soddisfa, ma la soglia scelta per i criteri quantitativi merita vera attenzione. Una copertura del codice dell’80% è binaria nell’applicazione, ma la scelta dell’80% rispetto al 70% o 90% è una decisione consapevole che dovresti prendere deliberatamente.
  • Universalmente compresa: Ogni membro del team Scrum deve saper interpretare ogni elemento nello stesso modo.
  • Applicata in modo coerente: La stessa checklist deve essere applicata a ogni deliverable ed elemento del product backlog. 
  • Raggiungibile in uno sprint: I criteri devono essere realistici e permettere al team di soddisfarli durante un singolo sprint o iterazione.

Nei progetti di sviluppo software, sono di solito gli sviluppatori a detenere la definition of done perché sono loro responsabili nel rispettarla. Detto questo, anche product owner e scrum master dovrebbero contribuire.

Se la tua organizzazione ha standard propri per la definition of done, ogni team Scrum deve seguirli come base minima. I team possono sempre aggiungere criteri più restrittivi, ma non possono scendere al di sotto del 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 elemento deve superare la stessa soglia prima di essere considerato completo. Questo evita che lavori a metà entrino nell’incremento del prodotto accumulando technical debt.
  • Elimina l’ambiguità: Quando il team condivide una sola definizione, non ci si trova in situazioni in cui definizioni in conflitto incidono sulla velocità o sulla qualità del lavoro. Una definition of done condivisa significa meno conflitti, meno sorprese e demo più pulite.
  • Migliora la previsione: Quando "completo" significa la stessa cosa ad ogni sprint, puoi prevedere la velocità con sicurezza e pianificare i rilasci senza dover gonfiare le stime per compensare rilavorazioni.
  • Costruisce fiducia con gli stakeholder: Quando product owner, leadership e stakeholder esterni vedono che il team applica uno standard di qualità chiaro, si fidano dei tuoi risultati. 
  • Previene il caos nell’integrazione: Se lavori in modo tale che il team debba integrare il proprio lavoro in un incremento condiviso, una comprensione uniforme della definition of done è la base per incrementi coerenti e rilasciabili. 

Unisciti alla community DPM per accedere a contenuti esclusivi, template pratici, eventi riservati ai membri e approfondimenti settimanali sulla leadership: è gratis.

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at any time.

Come creare una Definition of Done

Ecco i passaggi principali per il processo di creazione di una definition of done.

  1. Analizza il tuo flusso di lavoro attuale: Mappa ogni fase che il tuo lavoro compie prima di arrivare in produzione. Parla con sviluppatori, tester, designer e chiunque altro sia coinvolto. Scoprirai passaggi informali di controllo qualità che è opportuno formalizzare.
  2. Individua i criteri di qualità imprescindibili: Decidi quali attività devono avvenire per ogni consegna. Di solito includono revisioni del codice, test automatici, aggiornamento della documentazione e scansioni di sicurezza. Sii onesto su ciò che attualmente viene saltato.
  3. Stila la checklist in modo collaborativo: Coinvolgi tutto il team e discutila insieme, usando una lavagna o un documento condiviso dove tutti possano aggiungere, contestare e perfezionare gli elementi in tempo reale. Una definition of done adottata per consenso regge molto meglio sotto pressione rispetto a una decisa a maggioranza.
  4. Verifica rispetto agli standard aziendali: Confronta la bozza con eventuali politiche di qualità aziendali, requisiti normativi o standard di settore che il tuo prodotto deve rispettare. Se l’organizzazione ha già una definition of done di base, parti da lì e adattala.
  5. Rendila visibile: Pubblica la definition of done dove il team lavora quotidianamente. Questo può significare un poster sul muro, un messaggio fissato in Slack o un pannello nel tuo strumento di gestione dei progetti.
  6. Impegnati a farla rispettare: Una definition of done che viene ignorata sotto scadenza è peggio che non averne affatto, perché crea una falsa sensazione di qualità. 

Esempi di Definition of Done

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

Definition of Done per progetti di sviluppo software

I progetti software affrontano un’ampia varietà di rischi qualitativi: bug, vulnerabilità di sicurezza, regressioni di performance e fallimenti di integrazione. La definition of done di un team software deve coprire l’intero percorso dal codice a uno stato pronto per il rilascio.

Potrebbe presentarsi così:

  • Tutto il codice scritto e revisionato da almeno un altro sviluppatore
  • Test unitari superati con la copertura concordata
  • Test di integrazione superati nella pipeline CI/CD
  • Nessun bug aperto a gravità critica o alta
  • Documentazione tecnica aggiornata per riflettere le modifiche
  • Codice integrato nella main branch
  • Product owner ha revisionato e accettato il lavoro
  • Soglie di performance raggiunte secondo gli accordi

Definition of Done per progetti di marketing 

Il lavoro di marketing spesso include dimensioni di conformità, branding e misurazione che differiscono dal software. 

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

  • Contenuti revisionati e approvati dal team legale
  • SEO checklist completata, compresi meta description, testo alternativo e link interni
  • Tutti gli asset caricati nel CMS e formattati correttamente
  • Configurazione del monitoraggio analytics verificata nell’ambiente di staging
  • Testo finale revisionato da un secondo membro del team
  • Checklist di lancio della campagna approvata dal team lead

Definition of Done per progetti di design 

I team di design necessitano che la loro definition of done colmi il divario tra intento creativo e passaggio tecnico. Senza una definition of done, i design arrivano allo sviluppo incompleti, con specifiche mancanti, comportamento responsivo non validato o problemi di accessibilità che vengono scoperti troppo tardi.

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

  • Design revisionato rispetto agli standard di accessibilità secondo WCAG 2.2
  • File di handoff preparato nello strumento concordato con tutte le specifiche, asset e annotazioni
  • Approvazione e documentazione del consenso degli stakeholder
  • Componenti del design system aggiornati se introdotti nuovi pattern
  • Comportamento responsivo validato sugli intervalli concordati

Definition of Done vs. Acceptance Criteria

La definition of done è lo standard qualitativo del team, mentre gli acceptance criteria sono requisiti funzionali specifici della funzionalità.

Pensa alla definizione di fatto come la base che si applica universalmente, mentre i criteri di accettazione sono unici per ogni sprint backlog o singolo item del product backlog. Un elemento del backlog di prodotto è considerato completato quando soddisfa sia i suoi criteri di accettazione sia la definizione di fatto del team.

AspettoDefinizione di FattoCriteri di Accettazione
AmbitoSi applica a ogni elemento del backlog di prodotto e incrementoSpecifico per una singola user story o elemento del backlog di prodotto
TitolaritàAppartiene agli sviluppatori, con input da tutto il team ScrumScritto da o con il product owner
SpecificitàStandard generali di qualità per tutto il lavoroRequisiti funzionali dettagliati per una singola attività
Frequenza di modificaCambia raramente; aggiornata durante le retrospettive di sprintCambia con ogni nuova user story
Punto di applicazioneVerificata prima che un elemento sia marcato come completatoVerificata durante la revisione dello story o nel test di accettazione

Errori Comuni e Insidie

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

  • Saltare elementi per andare più veloci: I team sotto pressione spesso lasciano da parte criteri come la revisione della sicurezza, i test di accessibilità o la documentazione. Questo genera un debito tecnico nascosto che riemerge più avanti come bug, rilavorazioni o problemi di conformità.
  • Checklist troppo dettagliata: Una definizione di fatto eccessivamente dettagliata diventa una fatica burocratica. Se la checklist conta 30 voci e gli sviluppatori passano più tempo a spuntare riquadri che a costruire software, si è esagerato. Bisogna essere specifici abbastanza da essere significativi, ma generali abbastanza da restare pratici.
  • Modificare la definizione di fatto per ogni story: Il punto della definizione di fatto è la coerenza. Le condizioni specifiche di funzionalità vanno nei criteri di accettazione (come i criteri di accettazione dato-quando-allora), non nella definizione di fatto.
  • Non rivederla mai: Una definizione di fatto dovrebbe evolversi con la maturità delle pratiche, i cambiamenti negli strumenti o la crescita del prodotto. Si consiglia di rivederla durante le retrospettive almeno una volta a trimestre e adattarla se il team individua lacune o frizioni.
  • Non farla rispettare: Una definizione che viene ignorata se lo chiede qualcuno di importante è inutile. Il compito dello Scrum master è proteggere la definizione, anche quando un portatore di interessi vuole rilasciare qualcosa che non raggiunge il livello richiesto. Se i criteri vengono regolarmente aggirati, il team perde fiducia nello standard e smette di prenderlo sul serio.
  • Confondere "fatto" con distribuito: La definizione di fatto stabilisce se un incremento è rilasciabile, non se è stato effettivamente rilasciato. Un elemento del backlog di prodotto può essere fatto senza essere stato distribuito. Non aggiungere "distribuito in produzione" alla definizione di fatto a meno che il team non gestisca davvero l'intero processo di rilascio, dall'inizio alla fine.
  • Dimenticare di riferirsi ad essa: Molti team hanno tecnicamente una definizione di fatto, ma se nessuno la consulta da sei mesi, non sta funzionando come standard di qualità.

E adesso?

Migliora i tuoi processi agili e il tuo modo di lavorare con strumenti pratici, modelli e approfondimenti di esperti grazie a una iscrizione gratuita a DPM, e rafforza i sistemi che aiutano i team a garantire la qualità del lavoro in modo costante.