La nostra attuale base di codice è contenuta in un sistema di controllo delle versioni vecchio e obsoleto (Visual Sourcesafe 5.0, metà anni '90) e contiene un mix di pacchetti che non vengono più utilizzati, quelli che vengono utilizzati ma non aggiornati, e codice più recente. È anche un mix di 4 lingue e include librerie per alcuni dei nostri sistemi (come le implementazioni di Dialogic, Sun Tzu {clipper}). Questo si suddivide nelle seguenti categorie:
- Codice legacy - Non più utilizzato (sistemi che sono stati ritirati o sostituiti, ecc.)
- Codice legacy - Nell'uso corrente (nessuna intenzione di aggiornamento o correzione di errori minori, solo correzioni importanti se necessario)
- Codice corrente - Nell'uso corrente e verrà utilizzato per versioni / sviluppo future
- Librerie di supporto - Sia per il codice legacy che per quello attuale (alcune librerie precedenti non sono più disponibili)
Vorremmo migrare questo a un nuovo sistema di controllo delle versioni poiché aggiungeremo altri sviluppatori e espanderemo la copertura per includere i programmatori remoti.
Durante la migrazione, come lo strutturate? Esegui semplicemente un dump di tutti i dati e poi li importa nel nuovo sistema o ti segrega in base al tipo prima di portarlo nel nuovo sistema? Configura un'area separata per le biblioteche o le mantieni con i pacchetti pertinenti? Ti separi per lingua, sistema, entrambi? Una struttura generale e una metodologia vanno bene, non è necessario suddividerle a livello di singolo programma.