Skip to main content

Software change management process

Software change management is the process of managing any modifications to software while minimizing the risk that may be posed by new changes. To mitigate the risk, a structured process should be followed in making any changes to software. Government institutions are should follow the following steps when introducing new software changes:

i.    Raise a formal Change Request 

A change request should be formally documented requesting for any changes that need to be done to software. This could be an enhancement or modification requested by users to improve the software or to respond to changing operational requirements. The change request describes the changes required and reasons for the change. A change request document or form is typically completed to clearly define the user requirement.

ii.    Impact Analysis 

An impact analysis is done by the technical team to understand the impact and feasibility of the change requested. This will involve:

  • Identifying all the systems and the system products affected by the requested change. 
  • Assessing any technical impacts of the change e.g. on security or infrastructure.
  • Making an estimate of the resources or costs needed to effect the change.
  • Analyzing the benefits of the change against the costs.

The impact of the change is updated on the change request document with a recommendation on whether the change should be approved.

iii.    Change request approval

The change request should be formally approved based on the impact analysis. The approval should be made by an authorised person in the requesting user department as well the IT department. Any resources required to implement the change should be allocated.

iv.    System Release Planning

In this phase, the schedule and the contents of the software release are planned. This includes defining the release process which covers the process for testing and deployment to the production environment.

v.     Change Implementation

The implementation of changes involves designing the changes based on the user requirements, writing software code to implement the change and finally testing the changes. The change could also require changes to software configurations or setups which may not require coding.

vi.    Software Change Release 

During software release, the following points should be carried out:

  • Updating software documentation – relevant documentation should be updated including user manuals, technical specifications, and design documents.
  • Training of users – users should be provided with communication and any relevant training that needs to be carried out to the user community regarding the change.
  • Making any relevant hardware changes – major software changes may require hardware changes such as enhancement of processing or storage resources.
  • Migration of changes - Migration of the changes from test environment to production environment. This is usually during non work hours.
  • Configuration and data conversion – any software configuration or data changes that need to be done as a result of the change.
  • Communication to users - informing users about the software change after it has been released