Una definizione di fatto è una lista di controllo dei criteri che un prodotto, un incremento di prodotto o un progetto deve soddisfare per essere considerato completato.
Il termine viene utilizzato nello sviluppo software agile e nella gestione agile dei progetti. Il team sviluppa e accetta in modo collaborativo tutte le disposizioni della definizione.
La necessità di un tale elenco è nata come un modo per garantire che tutte le parti coinvolte comprendano chiaramente cosa si intende quando qualcuno dice che qualcosa è "fatto". Un programmatore, ad esempio, potrebbe dire che il software è stato completato una volta terminata la scrittura del codice. D'altra parte, il proprietario di un prodotto potrebbe non considerare il software eseguito fino a quando non fosse stato accuratamente testato ed era essenzialmente pronto per il rilascio. La definizione di fatto deve essere sufficientemente rigorosa da soddisfare qualsiasi parte interessata.
Ecco una definizione di esempio di done:
- La build è in uno stato pronto per il rilascio e disponibile per il download.
- La documentazione è completa.
- Eventuali funzionalità non implementate o inattive vengono nascoste all'utente.
- Il test è completo.
- Il codice sorgente viene salvato sul server.
- Il codice è stato rivisto.
- La demo o il manuale sono stati esaminati e presentati al proprietario del prodotto.
- Il proprietario del prodotto ha dato l'approvazione.
Una definizione di fatto potrebbe essere pubblicata in un'area visibile nello spazio di lavoro condiviso del team, su quello che viene chiamato un Big Visible Chart (BVC) o un radiatore di informazioni.