Un sistema CM è essenziale per controllare i numerosi Prodotti di lavoro prodotti dalle molte persone che lavorano su
un progetto comune. Il Controllo aiuta ad evitare costose confusioni ed assicura che i prodotti di lavoro risultanti
non siano in conflitto a causa dei seguenti tipi di problemi:
Aggiornamento simultaneo
Quando due o più membri del team lavorano separatamente sullo stesso prodotto di lavoro, l'ultimo ad apportare
modifiche distrugge il lavoro del precedente. Il problema di base è che se un sistema non supporta aggiornamenti
simultanei, ciò conduce a modifiche seriali e al rallentamento del processo di sviluppo. Tuttavia, con
l'aggiornamento simultaneo, la sfida è quella di rilevare che gli aggiornamenti si sono verificati in contemporanea
e di risolvere eventuali problematiche di integrazione nel momento in cui queste modifiche vengono incorporate.
Notifiche limitate
Quando un problema viene corretto in prodotti di lavoro condivisi da più sviluppatori e alcuni di questi non
vengono avvisati delle modifiche.
Versioni multiple
La maggior parte dei grandi programmi sono sviluppati in rilasci evolutivi. Un rilascio potrebbe essere in uso dal
cliente mentre un altro potrebbe essere in fase di test ed un terzo ancora in fase di ulteriore sviluppo. Se
vengono riscontrati problemi in una di queste versioni, è necessario apportare modifiche propagandole alle altre.
La confusione può condurre a costose correzioni e rilavorazioni, a meno che le modifiche non vengano controllate e
monitorate con attenzione.
Un sistema CM è utile per la gestione di varianti multiple di sistemi software in evoluzione, conservando traccia delle
versioni che vengono usate in build di software, eseguendo build di programmi individuali o di interi rilasci secondo
le specifiche della versione definita dall'utente e rinforzando le politiche di sviluppo specifiche del sito.
Seguono alcuni dei benefici diretti forniti da un sistema CM:
-
supporto dei metodi di sviluppo
-
manutenzione dell'integrità del prodotto
-
completezza e correttezza del prodotto configurato
-
ambiente stabile entro cui sviluppare il prodotto
-
restrizione delle modifiche nei prodotti di lavoro in base alle politiche del progetto
-
traccia di controllo su quando, da chi e perché sono state apportate modifiche ai prodotti di lavoro
Inoltre, un Sistema CM memorizza dati dettagliati di 'contabilità' sul processo di sviluppo stesso: chi ha creato una
particolare versione (e quando, e perché), quale versione di sorgente è andata in un build particolare e altre
rilevanti informazioni.
Un Sistema di organizzazione CM viene usato per tutta la durata del ciclo di vita del prodotto, dall'inizio alla
distribuzione. Come un repository di risorse dell'organizzazione, il sistema CM contiene la versione corrente e quelle
storiche dei file sorgente dei requisiti, artefatti di progettazione e di implementazione che definiscono una
particolare versione di un sistema o un componente del sistema.
La struttura della directory del prodotto rappresentata nel Sistema CM contiene tutti gli artefatti richiesti per
implementare il prodotto. In quanto tale, la disciplina CCM (Configuration & Change Management) è correlata a tutte
le altre discipline del processo in quanto serve come repository per i loro insiemi di prodotti di lavoro risultanti.
Questi includono:
|