Hai un grande compito davanti a te, ei dettagli dietro a tutto questo potrebbero riempire i libri. A grandi linee, ecco le cose che devi considerare.
- Stabilisci uno schema di controllo delle versioni
Dai un'occhiata al articolo di Wikipedia sul controllo delle versioni per identificare quale schema di versione vuoi utilizzare.
- Versione (o blocco) di tutto
Applicare una versione (e controllo di versione) su tutto ciò che si trova all'interno del tuo reame altrimenti non sarai in grado di ottenere un controllo su cosa è contenuto e cosa deve essere nel sistema.
- Costruisci una matrice di dipendenze
Il prossimo passo è costruire una matrice di dipendenze che mostri quali applicazioni si basano su quali versioni di quali componenti. In un ambiente applicativo di grandi dimensioni questo sarà diventato disordinato a causa del numero di componenti da coprire e del numero elevato di componenti singoli o singoli che troverai.
- Costruisci una matrice di distribuzione
In seguito, è necessario capire come viene effettivamente utilizzato "in the wild" e distribuito in tutta l'azienda. Le sfide qui includeranno applicazioni di tracciamento che non sono state sottoposte a versionazione così come la moltitudine di versioni di un'app che sono state distribuite.
- Stabilire un modello di governance
Una volta quantificato il problema, devi ottenere il buy-in tecnico e gestionale in modo che tutti siano d'accordo sul fatto che è un problema e che devono essere apportate modifiche per risolvere il problema. Decidi in che modo verranno identificate le versioni future e in che modo le applicazioni dipendenti verranno notificate degli aggiornamenti. Non dimenticare di includere l'organizzazione Test / QA in questa fase!
- Esegui la migrazione di tutte le distribuzioni esistenti ai build che hanno un numero di versione
Ricorda tutte quelle applicazioni non controllate e di basso livello che hanno reso le tue matrici un disastro completo? È ora di iniziare a sbarazzarsi di loro in modo da poter semplificare ciò che devi gestire e il conseguente overhead di governance.
- Riduci le dimensioni delle matrici di dipendenza e di implementazione
Ricorda tutti quei componenti di dipendenza una tantum? Ora è il momento di unire ed eliminare quelli per le stesse ragioni per cui hai migrato tutti ai livelli attuali. Ridurre lo scopo di ciò che devi gestire è fondamentale per stabilire un programma di successo.
- ( Facoltativo ) Riduci il numero di repository di codice sorgente
Ci sono punti bonus in questa fase se puoi far convergere i team di sviluppo in un unico repository di codice. Ciò renderà felici gli amministratori di sistema in quanto c'è meno manutenzione, e dovrebbe rendere felici gli sviluppatori in quanto saranno in grado di trovare più facilmente i componenti dipendenti dalla sfera dispari.