What does "change management" mean in software development and QA?

Change management, sometimes called configuration management, has a few different meanings in the software development community, from team changes to code changes, explains expert Yvette Francino.

What is meant by "change management"?

In software project management, there are actually several different meanings for the term "change management." In one context, change management refers to managing changes to artifacts, such as code changes or documentation changes. This can also be referred to as "configuration management." In this context, change management tools are used to handle such things as version control. These tools will prevent more than one person from modifying the artifacts at the same time. The tools have capabilities to track whatever changes are being made, to back out changes when necessary, or to allow for multiple paths, so that different versions of a particular product can be developed simultaneously. Tracking changes is critical to quality in software projects. By having change control, the team will be able to associate code fixes or enhancements with defects and automate builds, patches or releases.

Another meaning for change management is the process required for implementing an organizational change. In this context, change management often refers to communication processes that are aimed at gaining acceptance from stakeholders and those people affected by a change. Some practices that are considered important in organizational change acceptance include employee involvement and frequent, transparent communication.

A third meaning of change management is a discipline that's used in IT Service Management (ITSM). In this context, change management processes are highly controlled to track any changes that occur in an IT infrastructure. Standardized methods and procedures are used to ensure that every change made to the environment is tracked and handled appropriately. ISO 20000 defines the objective of Change Management (part 1, 9.2) as "To ensure all changes are assessed, approved, implemented and reviewed in a controlled manner."

So, if you're asked to define your "change management" processes, the first thing to determine is the context. Are you managing changes to documentation and code? Are you making organizational changes that will affect many people? Are you making changes to your IT infrastructure? Regardless of what is being changed, effective management of the change is often a key to success.

Next Steps

4 common software maintenance models and when to use them

Compare a product vs. project mindset for software development

Dig Deeper on Software design and development

Cloud Computing
App Architecture