In un'azienda che lavora su un progetto software a lungo termine, ci sono da 6 a 9 sviluppatori che lavorano nello stesso ufficio.
Il team di sviluppo utilizza JIRA per il bug tracking e CVS (e alcuni SVN) per il controllo della versione di diverse Java Web Apps correlate all'applicazione software.
Il team utilizza REST per comunicare tra le app Web su server diversi. L'ambiente è costituito da Amazon EC2 e App Google App Engine, tutte scritte in Java, HTML, CSS e JavaScript.
Il team di sviluppo impegna il codice ogni giorno. Usando questa strategia, le implementazioni avvengono ogni 20-25 giorni, ma preferiscono puntare una volta alla settimana o una volta ogni 2 settimane.
Quando il codice passa attraverso i test, i tester trovano e segnalano bug, ma quando il team di sviluppo risolve i bachi e distribuisce il software, a volte il software ha più bug in esso, perché gli sviluppatori che lavorano su nuove funzionalità stanno ancora eseguendo il codice per il repository.
A volte il team di vendita oi clienti trovano bug anche sui sistemi di produzione. Il nostro pensiero è che potremmo controllare una copia del codice che è stabile e apportare modifiche lì.
Sospetto che questo sia un problema con il modo in cui viene utilizzato il controllo della versione, ma potrebbe essere qualcos'altro nel processo. Come dovrebbe questo team di sviluppo agile di 6-9 persone assicurarsi che i rilasci siano entrambi frequenti, una volta alla settimana o una volta ogni 2 settimane, e che le implementazioni siano di alta qualità senza bug di regressione?