Impact analysis and change estimation are key to making sure any new change request or database migration is delivered on time and under budget. To perform a valid impact analysis, you need a good understanding of the implications of a proposed change. By understanding the complexity of the request, your team can make informed business decisions as to which projects to tackle first and which are going to require more intense effort.
During the analysis, your team should examine the proposed change to identify database methods and columns, other artifacts that may need to be changed or decommissioned, and to estimate the effort associated with implementing the change. Due to the pressure to complete sprints faster, teams often bypass impact analysis. Unfortunately, bypassing change estimation does not remove the risk, in fact it can lead to unpleasant surprises down the road.
The 3 Objectives Behind Impact Analysis
1. Macro-level review:
It's important to understand what could go wrong when making a change. What does the change impact? A small change can be like dropping a rock in a puddle; it could cause massive ripples. Are you looking at a tangle of databases and applications? Are the edges clear?
2. Micro-level review:
Once your team has made a high-level identification of the applications and databases touched by the change. They need to look deeper. Identify what steps will need to be taken to implement the change. Review your applications down to the method(function) level, and your databases down to the column level. Do you have a multi-tier environment? Are you making changes to the presentation tier, the application tier or the database tier? What is the actual code that is impacted?
Once you have completed the change analysis and you have a good handle on the scope, you need to calculate the complexity. A tool like CodeLogic can give you a rapid assessment of the complexity and help you come up with a person hour estimate of what's required to complete those tasks.
Once you identify all the dependencies that will be impacted by a change, it is far easier to estimate accurately the time and money required for the project. When you use CodeLogic to detect and resolve potential problems early in the cycle, you reduce the risk of adverse events that impact margin and reputation. When you have a complex program with thousands of items, trying to determine the impact of a change is time consuming and can cause errors.
The change estimation process should follow a logical set of steps.
1. Map Out Implementation:
Identify the order in which new requirements will be implemented and how the change will fit into the current development schedule.
2. Cost Estimate:
Estimate the cost to the project and schedule if you implement the change. Is the change critical to the project? Will the change cause the project as a whole to miss deadlines? What resources are needed?
Prepare and update your response to the questions you researched in the beginning based upon what was uncovered:
- What is the priority of the requested change?
- How does the request compare to other sprint suggestions?
- Are the benefits greater?
- What about the cost to the business?
- What about risks?
If you understand the impacts, you can prioritize the sprint that will provide the best outcome with the least risk.
4. Present Your Plan:
Finally, update the key stakeholders. Once they are informed, they can decide where the efforts should go. By making this small investment in time, you can maximize your resources.
When you understand what the impact is, you can respond quickly to requests allowing you to be more agile. Teams can better meet customer expectations during project cycles. During the process, if you understand the scope of the change, you also know what requires testing.
Performing Impact Analysis Helps You Mitigate Risk
Deciding not to do an impact analysis can be very costly. Business disruptions from poorly executed change can include:
• Missed deadlines
• Lower quality software
• Loss of revenue
• Negative brand impact
Change is a necessary part of doing business but shouldn’t produce negative results. By improving the process of change estimation, you can meet your project deadlines and keep your stakeholders and customers happy.