Quindi, uno scrum sprint è un periodo di tempo fisso durante il quale dovrebbe essere implementato un insieme specifico di funzionalità. E un team di mischia è composto da tutte le persone impegnate a fornire quelle funzionalità, la maggior parte di loro è in genere sviluppatori e tester.
Avendo stabilito queste regole, ci si potrebbe chiedere come mantenere tutte queste persone impegnate durante l'intero sprint. All'inizio dello sprint non c'è ancora nulla da testare, e alla fine dello sprint di solito non c'è nulla o molto poco da sviluppare o correggere.
Ho visto 2 approcci per gestirlo, ma nessuno dei due sembra risolvere correttamente il problema.
1) Lascia che i membri del team decidano cosa fare quando non svolgono attività.
Contro:
- Se ciò che fanno non è pianificato in modo approfondito (vale a dire un importante refactoring, passaggio a un nuovo framework di test), il loro lavoro potrebbe rivelarsi inutile o rimanere bloccato a metà
- D'altra parte, pianificare questo tipo di lavoro può richiedere molto tempo e il cliente può rimanere deluso nel vedere il team perdere tempo in qualcosa che non porta valore immediato
- Di solito tali compiti non possono essere valutati a fondo, quindi è abbastanza facile per i lavoratori senza scrupoli passare il tempo a guardare i gatti di YouTube senza che questo si rifletta sulla lavagna o altrove
2) Fai spazio nello sprint solo per lo sviluppo e inizia i test dopo che lo sprint è terminato (quando gli sviluppatori iniziano a lavorare sulle funzionalità dal prossimo sprint)
Contro:
- Durante lo sviluppo di funzionalità per lo sprint corrente, gli sviluppatori si distraggono correggendo i bug di quello precedente e non riescono a eseguire la quantità di lavoro che è stata stimata essere eseguita durante lo sprint corrente
- Sono necessarie due schede di analisi: una per le attuali funzioni di sprint e una per i precedenti bug di sprint
Quindi la mia domanda è: come distribuire correttamente il lavoro durante lo sprint tra sviluppatori e tester in modo che nessuno possa sovraccaricare il lavoro o finire senza attività in qualsiasi momento? Ci sono modi per migliorare gli approcci descritti sopra? O ci sono approcci migliori?