Il cliente beneficerà in alcun modo di un DVCS?

1

Alcuni di noi possono dire che un sistema di controllo delle versioni distribuito (es. Mercurial, git) avrà un impatto positivo sugli sviluppatori solo sull'esperienza dell'utilizzo di uno (nelle giuste condizioni: maggiore produttività, maggiore stabilità del codice base, ecc. .), ma, in quali situazioni un cliente ( vale a dire l'osservatore del risultato del ciclo di vita dello sviluppo del software ) dice che c'è una differenza dall'uso di un CVCS e di un DVCS?.

Chiunque abbia una prova empirica del fatto che un cliente "senta" una differenza dopo l'adozione di DVCS ottiene un grande biscotto doppio cioccolato con panna montata e una ciliegina sulla torta.

Nota: "dire la differenza" non significa "sapere che c'era un DVCS coinvolto" e nemmeno lontanamente "sapere cos'è un DVCS"

    
posta dukeofgaming 11.05.2012 - 05:22
fonte

2 risposte

4

Oltre agli strumenti indiretti migliori che consentono ai programmatori di fare un lavoro migliore, ci sono alcuni casi in cui ci possono essere più effetti diretti. Se si sta sviluppando per un'altra società e per qualsiasi motivo non è possibile accedere alla rete intranet di una dall'altra, ogni volta che è necessario eseguire il debug e correggere qualcosa sul sito del cliente avendo il controllo della versione funzionante con la cronologia completa sul notebook è estremamente utile.

È successo a me un paio di volte. In un caso, un collega si è recato sul sito del cliente per eseguire il debug di alcuni problemi, l'ha corretto, ma abbiamo finito per inviare fonti modificate lì e di nuovo su un server di condivisione file, perché avevamo bisogno di integrare la correzione con alcune altre modifiche che abbiamo fatto nel frattempo. Negli altri casi con fonti ragionevolmente recenti sul notebook e l'integrazione della modifica dopo il ritorno è stato sufficiente, ma sarebbe stato sicuramente più semplice con DVCS (il cliente aveva almeno 4 ore di viaggio, a volte con il volo, quindi non era possibile per fermarci nel nostro ufficio alla fine della giornata.)

    
risposta data 11.05.2012 - 09:53
fonte
4

Assolutamente.

Un programmatore che utilizza i migliori strumenti disponibili creerà un risultato finale migliore. Un DVCS è uno strumento molto buono con vantaggi molto reali.

Confrontare il DVCS con nessun controllo sorgente è come paragonare la pittura al fango. Un pittore che usa vernice di alta qualità sui muri di casa farà un lavoro molto migliore di un pittore che usa il fango.

Il confronto tra DVCS e VCS non distribuiti non è così netto, più come confrontare vernice di alta qualità con vernice di bassa qualità ... ma la differenza è ancora lì.

Se usi DVCS, scriveremo codice un po 'più velocemente e con un po' meno bug. Quanto è notevole l'effetto dipende dalla complessità del tuo codice.

Un programmatore che lavora da solo su un progetto semplice avrà meno benefici (ma ancora alcuni) di un gruppo di programmatori che lavorano su un progetto complesso.

Non ci sono grandi funzionalità che rendono DVCS migliore di VCS, ma ce ne sono un milione. Alcuni anni fa, quando erano nuovi e possibilmente buggy, questo era un argomento valido contro l'utilizzo di DVCS, ma oggi il software è provato e vero.

La vernice di alta qualità è più costosa della vernice economica. Ma uno dei vantaggi di DVCS rispetto a VCS è meno costoso usare uno strumento di buona qualità (supponendo che tu sia pagato all'ora). Dovresti utilizzare DVCS per il progetto ogni in cui sei coinvolto. Anche se sei l'unica persona del progetto che lo utilizza.

    
risposta data 11.05.2012 - 05:32
fonte

Leggi altre domande sui tag