Introduction

Scope

Implementing a software configuration management system (SCM) can be a long, complex and expensive task.  On the other hand one can take a pragmatic approach and implement a simple system that can them evolve to include all the features of a full fledged system.

The intricate features of the SCM are determined by the technical architecture within which it is being used, the application architecture on which it will be applied and on the organisation structure. 

Whilst it may be possible to design a full SCM up front, it is much easier to develop a simple system and then watch it evolve. 

The evolutionary approach has a number of benefits, these include:

1.    Reduce the initial cost of implementing the SCM;

2.    Deliver measurable benefits early and quickly;

3.    Allow the implementation team to gauge and identify all challenges and complications;

4.    Reduce the initial impact of the SCM on the development process.

The evolutionary approach has one major disadvantage, the elapsed time to implement the full system may be longer than the organisation is prepared to justify.

The first deliverables of the evolutionary approach will be:

·         Source control;

·         Change control;

·         Environment control;

·         Release management.

The above represent the physical and administrative aspects of SCM.  The presentation does not explicitly address the following technical aspects of SCM;

·         Documenting relationships;

·         Performing impact assessment;

·         Defining good and bad system and program design techniques.

The above technical aspects are very important, however they are the most difficult to implement and measure.  The absence of the above features is not a major issue since these tasks will still be performed informally.  As the SCM system is used, weaknesses in the technical SCM processes will be highlighted hence triggering more detailed assessment of the problems arising and hence the evolution of a more detailed and mature system.

This presentation also omits essential work necessary to educate the organisation to accept and appreciate the benefits of SCM.  This by far is the most complex and time consuming task.  Many staff do not see a need for SCM, and given that most organisation do not have measures to quantify the  costs of not having SCM, convincing the sceptics may eventually depend on the mandate given to the SCM implementor,  his/her perseverance and persuasion skills.

Adopting an evolutionary approach attempts to address this final issue by collecting information and statistics that will eventually quantify the costs and savings of implementing the SCM.

The presentation defines three different stages to implementing the SCM.  These are:

·         Performing the infrastructure activities;

·         Implementing SCM during development

·         Implementing  SCM from system testing and onwards