Vedi /software/109817/superior-refusing-to-use-subversion
La mia domanda è simile, ma qui ci sono le principali differenze nel mio scenario:
Stiamo iniziando un nuovo progetto da zero, utilizzando PHP e la tecnologia web. Non ci sarebbero tempi di fermo nello sviluppo in quanto lo adotteremmo dall'inizio, se potessi.
Il mio team di sviluppo è composto da me e dal mio capo. Siamo il dipartimento "IT" di un'azienda relativamente piccola.
L'app Web sostituirà un'applicazione legacy senza alcun controllo del codice sorgente. A causa delle variazioni dei requisiti legali geografici, è stata presa la decisione (prima che venissi assunto) di raggruppare l'app in 7 directory completamente separate per ogni versione. Diversi sviluppatori hanno fatto cose diverse in luoghi diversi in momenti diversi dopo quello. Correggere le modifiche tra loro, beh, penso che potrebbe essere fatto meglio, credo sia per questo che sto postando.
La proposta del mio capo, incollata direttamente da un'e-mail:
Gli aggiornamenti devono essere inviati come pacchetti nella cartella SUBMISSIONS. Il pacchetto deve contenere tutti i file pertinenti, nonché un file "UPDATE.NFO" che contiene una descrizione dell'aggiornamento, un elenco di tutti i nuovi file inclusi (con descrizioni) e un elenco di tutti i file modificati con dettagli di modifica.
I pacchetti di aggiornamento dovrebbero concentrarsi su un singolo elemento e non deviare dallo scopo previsto. Il codice deve essere progettato per essere modulare e riutilizzabile quando possibile.
Tutti i pacchetti inviati devono essere installati nell'ambiente di test di ciascuno sviluppatore subito dopo l'invio. Ogni sviluppatore deve rivedere la nuova aggiunta e dare voce a qualsiasi preoccupazione sulla sua installazione nell'ambiente di produzione. Un aggiornamento del pacchetto standard deve essere conservato per un minimo di 3 giorni lavorativi per questo processo di revisione prima di essere caricato nell'ambiente di produzione. Aggiornamenti / correzioni ad alta priorità possono saltare questo requisito.
Il motivo per cui è stato inventato il controllo del codice sorgente è rendere tutto automatico, giusto? Ho suggerito sovversione, perché è quello che ho usato al college. Al boss non piace la sovversione perché "Fa un casino del codice" (cioè usa la magia binaria e non è chiaramente leggibile). L'abbiamo provato una volta, ma penso che provare ad usarlo su Windows abbia fatto strani errori in maiuscolo / minuscolo e non siamo riusciti a controllare i nostri file. Non so se sia discutibile solo la sovversione o tutti i prodotti di controllo del codice sorgente.
Quindi, che tipo di argomento dovrei presentare al mio capo? O ha ragione, e potrebbe esserci il pericolo di perdere tutto il nostro lavoro da qualche strano bug?
O mi sbaglio del tutto? Il controllo del codice sorgente è davvero necessario nella mia situazione? Questo è il nostro principale software business-critical di cui stiamo parlando, quindi finirà enorme senza dubbio. Ma ci sono solo 2 sviluppatori (ora).
Inoltre, se non riesco a convincerlo, sarebbe utile che lo usassi solo per me stesso? Sto parlando come qualcuno con un'esperienza molto limitata che utilizza effettivamente svn; tutto quello che so è checkout e commit. Quali sono le caratteristiche del controllo del codice sorgente (che possono includere altri prodotti oltre a svn) che mi aiuterebbero nel mio sforzo di sviluppo individuale?
Per favore, nessun commento "trova un altro lavoro". Non è utile al dibattito.
I, on the other hand, think that the OP is being silly in trying to specify the bounds on the answer....
Bene, il limite specifico non è affatto sciocco. I consigli di carriera sono fuori tema e, sebbene una risposta che risponda alla domanda e offra consigli di carriera, per me va benissimo, non penso che sia sciocco per OP specificare che non gli importa di consigli di carriera.