La mia azienda è nel bel mezzo di una transizione dallo sviluppo in stile cascata a Agile / Scrum. Tra le altre cose, ci viene detto che ci aspettiamo che le funzioni nuove funzionanti, verificabili (di QA) alla fine di ogni giornata.
La maggior parte dei nostri sviluppatori perde circa 2 ore al giorno per riunioni e altre spese generali. Ciò significa che in un dato periodo di 6 ore (al massimo), dobbiamo progettare, scrivere, testare unitamente, costruire e distribuire (con note di rilascio) abbastanza codice per produrre una funzionalità completa per il controllo qualità con cui giocare. Capisco che le note di build / deploy / release possano essere automatizzate con un'impostazione CI corretta, ma non siamo ancora arrivati.
Abbiamo anche un grande contingente in mare aperto che scrive il nostro codice lato server e la differenza di fuso orario a 12 ore lo rende ancora più difficile.
Cerchiamo di elaborare storie in sezioni verticali strette e profonde per completare le funzionalità end-to-end il più velocemente possibile, ma la maggior parte delle giornate si sente piuttosto frenetica e spesso catturo persone che prendono scorciatoie stupide e fragili per garantire che il QA sia la loro build. Questo problema è aggravato dopo che uno sprint è in corso da un paio di giorni, quando gli inevitabili difetti iniziano a rotolare e devono entrare 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 software di qualità.
Modifica: ci sono molte buone risposte qui. Mi ha fatto capire che quello che stavo veramente chiedendo è che i team di Agile offrano nuove funzionalità ogni giorno. Ho aggiornato il titolo di conseguenza.