An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it.

—Mohandas Karamchand Gandhi


A change request (CR) activates an organization’s process to modify a software system to carry out maintenance. The maintenance process is started by performing impact analysis. Impact analysis basically means identifying the components that are impacted by the CR [1]. Impact analysis enables understanding and implementing changes in the system. Potential effects of the proposed changes are made visible by performing impact analysis. In addition, it is used in estimating cost and planning a schedule. Before executing a change request, impact of the changes are analyzed for the following reasons [2].

  • To estimate the cost of executing the change request. It incurs some cost to execute a change request so estimate the cost before effecting the change. If a change request can potentially impact large disjoint portions of the system, then reexamine the request. A large change is likely to incur higher cost and it may make the system inconsistent. Therefore, if the size of the change is large, reject the request in favor of a safer change.
  • To determine whether some critical portions of the system are going to be impacted due to the requested change. If so, more resources are to be allocated to execute the change request.
  • To record the history of change-related information for future evaluation ...

Get Software Evolution and Maintenance now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.