AGGIORNAMENTO
Lavoro su una piccola squadra di sviluppatori, 4 ragazzi. Hanno usato tutti il controllo del codice sorgente. La maggior parte di loro non sopporta il controllo del codice sorgente e preferisce invece non utilizzarlo. Credo fermamente che il controllo delle fonti sia una parte necessaria dello sviluppo professionale. Numerosi problemi rendono molto difficile convincerli a utilizzare il controllo del codice sorgente:
- Il team non è abituato a utilizzare TFS . Ho avuto 2 sessioni di allenamento, ma mi è stata assegnata solo 1 ora, il che è insufficiente.
- I membri del team modificano direttamente il codice sul server. Ciò mantiene il codice non sincronizzato. Richiede un confronto solo per essere sicuri di lavorare con l'ultimo codice. E sorgono complessi problemi di unione
- Le stime dei tempi offerte dagli sviluppatori escludono il tempo necessario per risolvere questi problemi. Quindi, se dico che non ci vorrà 10 volte di più ... Devo spiegare costantemente questi problemi e rischiare me stesso perché ora il management può percepirmi come "lento".
- I file fisici sul server differiscono in modo sconosciuto per ~ 100 file. La fusione richiede la conoscenza del progetto in corso e, quindi, la cooperazione con gli sviluppatori che non sono in grado di ottenere.
- Altri progetti non sono sincronizzati. Gli sviluppatori continuano a non fidarsi del controllo del codice sorgente e quindi aggravano il problema non utilizzando il controllo del codice sorgente.
- Gli sviluppatori sostengono che l'utilizzo del controllo del codice sorgente è dispendioso perché la fusione è soggetta a errori e difficile. Questo è un punto difficile da argomentare, perché quando il controllo del codice sorgente viene utilizzato in modo così errato e il controllo del codice sorgente viene continuamente bypassato, è effettivamente soggetto a errori. Pertanto, l'evidenza "parla da sé" a loro avviso.
- Gli sviluppatori sostengono che la modifica diretta del codice del server, bypassando TFS, consente di risparmiare tempo. Anche questo è difficile da discutere. Perché l'unione richiesta per sincronizzare il codice con cui iniziare richiede molto tempo. Moltiplicalo per i 10+ progetti che gestiamo.
- I file permanenti sono spesso memorizzati nella stessa directory del progetto Web. Quindi la pubblicazione (pubblicazione completa) cancella questi file che non sono nel controllo del codice sorgente. Ciò inoltre diffonde sfiducia nel controllo del codice sorgente. Perché "la pubblicazione rompe il progetto". Risolvere questo problema (spostare i file memorizzati dalle sottocartelle della soluzione) richiede molto tempo e debug poiché queste posizioni non sono impostate in web.config e spesso esistono su più punti di codice.
Quindi, la cultura persiste. Le cattive pratiche generano altre cattive pratiche. Le cattive soluzioni spingono i nuovi hack a "risolvere" problemi molto più profondi e molto più lunghi. Server, spazio sul disco rigido sono estremamente difficili da trovare. Tuttavia, le aspettative degli utenti sono in aumento.
Cosa si può fare in questa situazione?