Loading

Impact Analysis


The world all around us is changing and progressing rapidly. Every day, new technology with advanced features and qualities are being developed and produced in the software industry. Software and their applications go through constant changes, revisions, improvements, and modifications, all in an effort to bring additional value to the users. This continuity of modification and addition of features is important. However, it does brings with it a few drawbacks. Sometimes it becomes difficult to assess the consequences of introducing a single or more changes in the system. Therefore, with the incorporation of new features into application or product, it becomes imperative to check their influence on the performance of the system. To ensure that the system is performing and functioning effectively, impact analysis is performed by software engineers during the Software Development Life Cycle (SDLC).

Defining Impact Analysis:

Impact analysis can be described as a way of assessing all the risks that arise with the introduction of a particular change in the product. It forms parts of the change control process and is a formal approach that is adopted to identify any possible risks associated with a change request. Impact analysis is generally carried out by the development team, once the change request has been initially reviewed by the Change Control Board, as it takes up a considerable amount of resources and time. The process of impact analysis is carried out the team of expert developers and testers, who have in-depth knowledge of the project, which allows them to make calculated and accurate decisions. Hence, it is important that impact analysis is employed in the following situations:

  • When changes are introduced to requirements.
  • Request for product change is submitted.
  • Whenever new and planned functionality is introduced in the system.
  • Existing modules and products features are changed.

Procedure of Impact Analysis

Impact analysis is basically analysing the impact of changes that are deployed in the software or an application. Implementing it as part of change control process is the sensible course of action because many incidents that occur during the project can be directly tracked back to the change control process. Impact analysis is a fairly simple process that involves three stages:

  1. Investigation: In-depth investigation is done to define the extent of the proposed changes. This includes defining the extent of the request and the impact it will have on the baseline and other pending change requests. In order to confirm all the discrepancies that are affected, a complete review is taken of the project, which further takes into account the cost, time and quality of the implications.
  2. Identification: All the tasks needed to affect the change are identified. This means going through and identifying all the changes needed to the user interface; design components; source code; hardware; databases and files; build files; test cases, use cases; documentation; and any further resources that may need to be purchased.
  3. Analysis: Resources that are required to implement the change are analysed. Once all the data is gathered, a detailed estimate is made of the effort required to implement the change, time and cost. This estimate should also include an evaluation of whether or not the change falls within the projects critical path.

Things to Include in Impact Analysis Document:

After the analysis of the impact of modification and changes implemented in the system, it is important to create an Impact Analysis Document. This document can be used as a checklist, which can be used to evaluate change request before working on them. Impact Analysis Document should provide a detailed information about the following points:

  • Brief description of the issue that was found in the system through impact analysis or any other method of testing.
  • An explanation or an example should be included to show how the defect is causing failure or inefficiency in the system.
  • Include estimate of the complexity.
  • An estimation of the time and cost used to fix the complexity should be included.
  • The functionality that needs to be tested.
  • A list of the new test cases created for the change.
  • Reference document, technical specifications and more should be included.

Conclusion:

Nowadays, competition in the software industry is immensely high and to keep up with it, organisations and software engineers all over the world are putting in their greatest efforts to develop a software with unique features and functionality. Software developers and testers are constantly changing, modifying and analysing software and applications, to provide extra benefits to their users and clients. However, to make a software popular in software industry, it is essential for software engineers to implement Impact Analysis as part of change control process. Impact analysis informs them about the parts of the system that may be unintentionally affected because of the change in the application, and therefore need careful regression testing. Moreover, impact analysis allows developers and testers to solve Quality Assurance problems and makes it more efficient. Hence, with the assistance of Impact Analysis, one effortlessly ensure the quality, effectiveness, functionality, and performance of the developed as well as modified software.