La mia azienda è nel mezzo di una transizione dallo sviluppo a cascata ad Agile / Scrum. Tra le altre cose, ci viene detto che l'aspettativa è per noi di avere nuove funzionalità funzionanti, testabili (dal QA) alla fine di ogni giornata.
La maggior parte dei nostri sviluppatori perde circa 2 ore al giorno a causa di riunioni e altre spese generali aziendali. Ciò significa che in ogni dato periodo di 6 ore (nella migliore delle ipotesi), dobbiamo progettare, scrivere, testare l'unità, costruire e distribuire (con le note di rilascio) un codice sufficiente per produrre una funzionalità completa con cui il QA possa giocare. Comprendo che le note di build / deploy / release potrebbero essere automatizzate con un'adeguata configurazione CI ma non siamo ancora arrivati.
Abbiamo anche un grande contingente offshore che scrive il nostro codice lato server e la differenza di 12 ore rende questo ancora più difficile.
Cerchiamo di distribuire le storie in sezioni verticali strette e profonde al fine di completare le funzionalità end-to-end il più rapidamente possibile, ma la maggior parte dei giorni mi sembra piuttosto frenetica e spesso sorprendo le persone a prendere scorciatoie stupide e fragili per garantire che il QA abbia la loro costruzione. Questo problema si aggrava dopo uno sprint in corso da un paio di giorni, quando gli inevitabili difetti iniziano a comparire e devono rientrare nella stessa finestra di 6 ore.
È un ritmo normale per i team Agile? Anche se riusciamo a implementare una configurazione CI, non riesco a vedere come saremo in grado di sostenere questo ritmo e creare comunque software di qualità.
Modifica: ci sono diverse buone risposte qui. Mi ha fatto capire che quello che stavo davvero chiedendo è che i team Agile dovrebbero offrire nuove funzionalità ogni giorno. Ho aggiornato il titolo di conseguenza.