Today, in class of software configuration management, I asked my lecturer, what is the difference between configuration management and change management? He gave the answer but I wasn’t satisfied with the answer he gave. So, I decided to search for this on net. And here is synopsis that I got on internet.
Configuration Management:
It provides for visibility, control, traceability and monitoring of software components and systems and of documentation. It is a necessary function for successful project management and the implementation of “planned” system architecture.
It identifies the functional and physical attributes of software at various points in time, and performs systematic control of changes to the identified attributes for the purpose of maintaining software integrity and traceability throughout the software development life cycle.
The SCM process further defines the need to trace changes, and the ability to verify that the final delivered software has all of the planned enhancements that are supposed to be included in the release.
It identifies four procedures that must be defined for each software project to ensure that a sound SCM process is implemented. They are:
· Configuration identification
· Configuration control
· Configuration status accounting
· Configuration authentication
When to do configuration management: Version control is instituted for software systems after development is complete, so that baselined units can be employed in system integration and validation testing. Version control is then repeated with new versions for those items as changes are introduced to those baselined items.
Tools used: WinCVS, subversion etc.
Change Management:
Software change management is the process of selecting which changes to encourage, which to allow, and which to prevent, according to project criteria such as schedule and cost. The process identifies the changes’ origin, defines critical project decision points, and establishes project roles and responsibilities. You need to define a change management process and policy within your company’s business structure and your team’s development process. Change management is not an isolated process. The project team must be clear on what, when, how, and why to carry it out.
Often users report bugs or desire new functionality from their software programs, which leads to a change request. The product software company then looks into the technical and economical feasibility of implementing this change and consequently it decides whether the change will actually be realized. If that indeed is the case, the change has to be planned, for example through the usage of function points.
The actual execution of the change leads to the creation and/or alteration of software code and when this change is propagated it probably causes other code fragments to change as well. After the initial test results seem satisfactory, the documentation can be brought up to date and be released, together with the software. Finally, the project manager verifies the change and closes this entry in the change log.
Tools used: JIRA [website]
In nutshell the difference comes in at
- Configuration management deals at the versioning and sees whether the requirements have been specified in a given version or not.
- In change management, it assigns the roles and responsibilities too after approval of change