L'idea alla base di TDD è che la creazione dei test è parte dello sviluppo. Non dovresti veramente calcolarlo come development + unit test , il modo migliore per vederlo è development = function + unit test , dove la creazione dei test unitari non è un separato attività. Mentre i tuoi sviluppatori stanno lavorando sulla funzionalità, stanno anche creando i test unitari.
Allo stesso modo, la tua bacheca non dovrebbe avere un compito separato per "Crea test unitari" - i test unitari dovrebbero essere implementati insieme alla funzionalità, in realtà non dovrebbe esserci alcuna separazione.
Non dovrebbe essere come 1,5 settimane di sviluppo e quindi 1,5 settimane di test unitari. Invece, si desidera avere 3 settimane di sviluppo e finire con la funzionalità in uno stato completamente testato. Se la tua definizione di Done specifica che ogni funzionalità è testata dall'unità, allora non dovrebbe esserci alcuna separazione tra l'implementazione della funzionalità e il test delle unità.
Per quanto riguarda l'altra domanda relativa all'integrazione del controllo di qualità: disponiamo di risorse di controllo qualità come parte del team, testando ogni funzionalità non appena disponibile, con un test di regressione completo giornaliero (o notturno). Se l'implementazione di una funzione viene eseguita il giorno 3 dello Sprint, il nostro QA inizierà a testarlo in questo giorno - idealmente hanno sviluppato gli script di test contemporaneamente all'implementazione della funzionalità dello sviluppatore.
Entrambi devono lavorare mano nella mano e con molta collaborazione. C'è molta comunicazione tra gli sviluppatori e QA nel team. "Ehi, la funzionalità A è ora pronta, puoi iniziare a provarla." e "Ho trovato il seguente problema nel mio test per la funzione B, puoi risolvere questo problema?" Abbiamo questo avanti e indietro tutto il tempo durante lo Sprint, con l'obiettivo che tutto sia testato e funzionante alla fine.
Combina quello con un test di regressione completo eseguito ogni notte, dove i risultati sono pubblicati, e puoi praticamente svilupparti fino all'ultimo giorno dello Sprint. I test dovrebbero avvenire in tutte le fasi dello Sprint, non solo nell'ultimo paio di giorni.