Saturday, October 10, 2009

Software Configuration Management

I am heavily involved into the global effort of one big MNC to improve the Software Configuration Management at corporate level now. This situation reminded me that I should create a reference article on my understanding of software configuration management, and all the tools I have used, like CVS, ClearCase, SourceSafe, Telelogic Synergy and Perforce.

1. What is Software Configuration Management

Roger Pressman, in his book Software Engineering: A Practitioner's Approach, says that software configuration management (SCM) is a "set of activities designed to control change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made." In other words, SCM is a methodology to control and manage a software development project.

I think the modern SCM has become a concept interference with the development process and software architect. But first of all, let's start with the conventional (or tradition, standard, basic, or whatever you want to call it) concept of software configuration management - to manage the software variation over time. In other words, to version control the code, tracking/managing the change with label/version number, and reproduce the release upon request.

2. SCM vs. other Software Engineering Items

SCM is closely related with the development process and the Architect of the software system. More can be found at http://www.softwarecm.org/

1 comment:

  1. CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.configuration management

    ReplyDelete