Un passo importante nella chiarezza e nell’organizzazione di un team avviene quando le persone si mettono d’accordo sulla definition of done. La definizione di completo o di fatto.
Questa viene determinata per ogni fase del processo: analisi, sviluppo, revisione, deployment… in modo tale che il team sappia esattamente cosa significa che lo sviluppo è completo e così via.
C’è però una cugina meno conosciuta che è la “definition of ready”.
Definition of ready
La definition of ready, o definitione di pronto, (ma in italiano suona proprio strano) indica i criteri per cui il team di software engineering accetta il lavoro in arrivo per prenderlo in carico.
Diciamo che si sovrappone con la definition of done di una potenziale fase di analisi.

Rappresenta un accordo che il team stipula con gli altri per alzare la qualità nelle fasi iniziali del processo. Il sottostante non è “ah io non prendo il carico il lavoro finché non mi viene specificato bene” ma “lavoriamo preventivamente in fasi iniziali per mettere in chiaro cosa serve e come validarlo.”
Come tutte le “definition” nel tempo evolve ed è un buon indicatore della maturità di un team.
Investire in anticipo su esplorare bene gli scenari, casi limite e perché no, tematiche sulla sicurezza, accessibilità, compliance, telemetria… è tutto tempo che evitiamo di spendere poi a inseguire con correzioni.
Applicazione
Se nel tuo team i software engineer si trovano spesso con requisiti poco chiari, user story scritte in modo non uniforme e ci sono unità di lavoro che continuano a essere riprese in mano… beh forse la definition of ready può aiutarti. Sei pronto a metterla in campo?