Come gestire software con versioni errate come SCM [chiuso]

1

Mi è stato chiesto di essere l'SCM (Software Configuration Manager) nella mia azienda. Ho letto la documentazione online per sapere cos'è SCM, cosa fa SCM, ecc.

Attualmente, l'azienda lavora con un sistema di controllo della versione (Bazaar), quindi il software è correttamente versionato, ma ci sono vecchi programmi che non sono ben versionati (alcuni di loro non sono affatto versionati), alcuni di essi sono in CVS , il vecchio sistema di controllo della versione usato inizialmente, ma non viene aggiornato.

Sto chiedendo il tuo aiuto, basato sull'esperienza più che sulle informazioni teoriche, per sapere come affrontare questo, come essere un buon SCM anche con tutti questi problemi.

    
posta Angelo 30.01.2014 - 15:29
fonte

1 risposta

0

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.

    
risposta data 07.02.2014 - 16:31
fonte

Leggi altre domande sui tag