Mi sono laureato in Informatica un anno fa e ora lavoro in una piccola società di sviluppo web (io e un altro sviluppatore, oltre a manager, servizio clienti e tester). Fino a poco prima di iniziare, non esisteva un sistema di controllo del codice sorgente. Ora stiamo lentamente iniziando a implementare SVN, ma l'altro sviluppatore (senior) (d'ora in poi chiamato Joe) insiste sul fatto che l'unico codice che dovrebbe essere impegnato nel nostro repository SVN è quello che è stato testato e approvato come pronto per la produzione. Ciò significa che, su progetti più grandi, potrebbero non esserci impegni per settimane o più alla volta.
È una pratica normale? Mi sembra che perdiamo molti dei vantaggi del controllo del codice sorgente, tra cui:
- Tracciamento dettagliato dell'avanzamento del progetto
- Tracciamento dei problemi come appaiono e vengono risolti
- Rollback facile degli errori
- Facile backup del codice, quindi non perdiamo molto se una workstation si arresta
- È più facile identificare esattamente quale codice è in esecuzione in quali siti di produzione, supponendo che noi stampiamo le revisioni in file eseguibili come descritto qui
- Collaborazione semplice (anche se non facciamo alcun lavoro di squadra; sono tutti progetti da solista)
- Eccetera.
EDIT: dovrei sottolineare che storicamente, non c'è stato alcun vero lavoro di squadra in questa azienda; solo due sviluppatori che lavorano su progetti separati. Inoltre, molti progetti sono piccoli, quindi possono essere completati in un paio di settimane. E la società è in attività da più di un decennio e va d'accordo senza controllo del codice sorgente. I progetti vengono generalmente completati entro i tempi previsti.