Sto lavorando a un progetto che segue vagamente il modello di mischia.
Per chiarire: i tuoi manager probabilmente ti hanno parlato di Scrum ma ciò che esegui non è Scrum.
Quanto tempo richiede in genere?
La riunione di revisione Sprint + La riunione di retrospettiva Sprint termina lo sprint corrente. In breve sprint dovrebbero prendere qualcosa tra 30 minuti - 1 ora insieme. Il giorno lavorativo successivo inizia un nuovo sprint eseguendo le riunioni di pianificazione Sprint 1 e 2. In base alle dimensioni del team e alla durata dello sprint, questa riunione può richiedere da 2 a 4 ore.
L'intero team dovrebbe essere coinvolto?
L'intero team deve essere coinvolto nelle riunioni menzionate nella risposta precedente.
Deve rigorosamente finire prima che gli sviluppatori inizino a lavorare sui prossimi elementi dello sprint?
Sì perché fino al termine della riunione di revisione non sai se il cliente accetta il risultato dello sprint precedente e non sai quali storie degli utenti verranno impegnate nella pianificazione delle riunioni.
È quando si verificano la revisione e il test del codice?
No. La revisione e il test del codice fanno parte dello sprint. Gli sviluppatori devono fare tutto il necessario per fornire un codice di lavoro che soddisfi i requisiti. Ciò può includere revisioni del codice e deve sempre includere una sorta di test automatizzati che confermano che il codice funziona e fa quello che dovrebbe fare altrimenti la user story non può essere considerata come fatta.
Il principale cambiamento mentale è con il QA. Molti sviluppatori pensano che il QA sia lì per convalidare il funzionamento del codice e fa quello che dovrebbe fare. Assolutamente no. Questo è un lavoro da sviluppatore.
Il QA dovrebbe partecipare allo sviluppo del prodotto. La loro principale responsabilità nello sprint dovrebbe essere la comunicazione con il proprietario del prodotto e la creazione di test di accettazione automatizzati per i criteri di accettazione (definizione del fatto) che confermeranno che la storia dell'utente è realmente fatta e l'applicazione supera tutti i nuovi requisiti. Nei piccoli team ciò può essere responsabilità anche degli sviluppatori.
Il QA dovrebbe anche eseguire alcuni test manuali per mantenere la coerenza del prodotto e scoprire funzionalità mancanti, convalidare l'esperienza utente con l'interfaccia utente, ecc. Il QA non è lì per cercare bug e test di regressione - i test di regressione dovrebbero essere altamente automatizzati.
Nella mia esperienza, è qui che la maggior parte delle aziende che si spostano verso l'agile falliscono.