Attualmente l'azienda in cui lavoro offre a ciascuno sviluppatore la propria macchina virtuale di sviluppo. Su questa macchina (Windows 7) installano l'intero stack del prodotto (meno il database) questo stack viene normalmente distribuito tra più macchine di sistemi operativi diversi (anche se si spostano verso Windows 2008 e 2008r2)
Quindi, quando uno sviluppatore ha un nuovo progetto è probabile che stia aggiornando solo un piccolo pezzo del proprio stack e in quanto tale il resto potrebbe diventare obsoleto con il codice di produzione più recente. L'isolamento dagli altri significa che alcuni problemi non verranno trovati fino a quando il codice non verrà inserito in ambienti / produzione di test condivisi.
Suggerisco di passare dai test funzionali su queste macchine isolate a collegare le macchine a un ambiente condiviso. L'obiettivo è di passare a una distribuzione più vicina alla produzione in termini di meccanismo e tipo di server.
Gli sviluppatori continuerebbero a apportare modifiche al codice su Win7 vm ed eseguire test unità / componenti localmente, ma per test funzionali avrebbero sfruttato un ambiente condiviso.
Qualcun altro usa un ambiente di sviluppo condiviso come questo? Ci sono molte ragioni contro questo tipo di ambiente sandbox? Il più grande svantaggio è l'allontanamento dal solo controllo del codice quando hai eseguito test funzionali locali per effettuare il check-in dopo test statici.
Spero che una strategia di branching intelligente di git possa prenderci cura di questo per noi.