Understanding Change Management
By Bob Aiello
Change management helps the organization plan, review, and communicate the many different system modifications that are needed ensure that services are continuously available. Changes may be bugfixes or new features and can range from a trivial configuration modification to a huge infrastructure migration. Change requests (CR) are typically entered into a tool or system that helps to automate the flow of work. CRs are reviewed as part of what is usually called the change control function. The goal of change control is to manage all changes to the production (and usually User Acceptance and other “controlled” QA) environments. Part of this effort is focused on coordination and in many organizations handled by the Project Management Office (PMO). But part of this effort is also managing changes to the environment that could potentially affect all of the essential systems. It is also important to control which releases are promoted to quality assurance (QA), user acceptance and then of course production. Change control can act as the stimulus to all other configuration management related functions as well. Throughout this chapter we will discuss how to apply change management in the application lifecycle management (ALM).
The goal of change management is to identify and manage risk and this effort can help drive the entire build, package, and deployment process by identifying the potential downstream impact of making (or not making) a particular change. There are seven different types of change management which we describe in more detail in our CM Best Practices book, including managing changes to the software development process itself. Above all else, change management has the essential goal of facilitating effective communication and traceability. Done well, change management can be an essential part of the software and systems delivery process, accelerating the rate of successful upgrades and bugfixes while avoiding costly mistakes. Similarly, the lack of change management can lead to serious outages, lead to reduced productivity, and endanger the success and profitability of the company.
There is a dark side to managing change which often manifests itself in the form of long meetings where changes are reviewed by the group in a sequential function. In future articles we will consider best practices for streamlining your change control approach.
Change management is important because it helps drive the entire configuration management (CM) process while identifying technical risk inherent in making (or not making) a change. Risk is not always bad if it is identified and fully understood. An effective change management process helps identify, communicate, and then mitigate technical risks. Communication and traceability are key aspects of the effective change management process. In fact, change management can drive the entire ALM effort. When process changes occur, change management helps ensure that all stakeholders are aware of their new roles, responsibilities, and tasks. Organizations that lack effective change management are at increased risk for costly systems outages. Change management drives the ALM.
In some organizations, change management simply focuses on identifying potential scheduling conflicts that can adversely impact the application build, package, and deployment process. Managing the calendar is certainly important, but that is only the beginning. It is common for a particular deployment or configuration change to depend upon the same resource as another change. The effective change management process also identifies the affected assets and the experts who can best understand and communicate the potential downstream impact of a change. With complex technologies, many IT professionals are specialists in a particular area, resulting in organizational silos that may not fully understand how changes that they may make could potentially impact other systems. The change management process should identify all stakeholders who should be involved with evaluating a proposed change and then communicate the potential risk of making (or not making) a particular change. If you get right – your team will be able to accelerate the rate of change while also reducing the incidence of errors and others issues which can result in serious systems outages. Change management is all about driving changes through the process while maintaining quality and agility.