language-icon Old Web
English
Sign In

Change impact analysis

Change impact analysis (IA) is defined by Bohner and Arnold as 'identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change', and they focus on IA in terms of scoping changes within the details of a design. In contrast, Pfleeger and Atlee focus on the risks associated with changes and state that IA is: 'the evaluation of the many risks associated with the change, including estimates of the effects on resources, effort, and schedule'. Both the design details and risks associated with modifications are critical to performing IA within the change management processes. A technical colloquial term is also mentioned sometimes in this context, dependency hell. Change impact analysis (IA) is defined by Bohner and Arnold as 'identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change', and they focus on IA in terms of scoping changes within the details of a design. In contrast, Pfleeger and Atlee focus on the risks associated with changes and state that IA is: 'the evaluation of the many risks associated with the change, including estimates of the effects on resources, effort, and schedule'. Both the design details and risks associated with modifications are critical to performing IA within the change management processes. A technical colloquial term is also mentioned sometimes in this context, dependency hell. IA techniques can be classified into three types: Bohner and Arnold identify two classes of IA, traceability and dependency IA. In traceability IA, links between requirements, specifications, design elements, and tests are captured, and these relationships can be analysed to determine the scope of an initiating change. In dependency IA, linkages between parts, variables, logic, modules etc. are assessed to determine the consequences of an initiating change. Dependency IA occurs at a more detailed level than traceability IA. Within software design, static and dynamic algorithms can be run on code to perform dependency IA. Static methods focus on the program structure, while dynamic algorithms gather information about program behaviour at run-time. Literature and engineering practice also suggest a third type of IA, experiential IA, in that the impact of changes is often determined using expert design knowledge. Review meeting protocols, informal team discussions, and individual engineering judgement can all be used to determine the consequences of a modification.

[ "Software development", "Software" ]
Parent Topic
Child Topic
    No Parent Topic