Product Support Director, Claims Workstation, Policy STAR® and FAB Billing Systems
What do you think is the best way for a software provider to minimize (or hopefully eliminate) the need for application corrections? Specifically, we’re talking about situations in which customers use the application software in ways the software provider did not anticipate, or where functionality has been added or changed. Occasionally what used to work no longer does, so issues surface quickly.
One of our Products Support groups has instituted a new process known as Impact Analysis, which serves to identify the potential impacts of code corrections made within the application, identify test scenarios required for the correction, and to enhance overall testing.
Here’s how it works.
When a highly critical issue gets reported, our Support Business Analysts (BA) analyze the issue and ensure they can recreate the problem. Assuming they find a system defect, the Analyst evaluates the issue to determine how a possible code correction might impact the overall application. They look at this from the immediate functional and overall lifecycle perspectives. With this review, they identify areas that technical staff should address as part of the corrective action, including recommended testing. Collectively, this provides direction to Developers about where and how to focus their coding actions and to our QA staff to ensure they know where testing should occur.
Upon assignment to a Developer, this Impact Analysis gets re-reviewed, this time from a technical angle. The coder researches the code, identifies where specific data fields associated with the defect get used, and compares that to the analysis performed by the BA. They update the Impact Analysis with the results of their research, including additional areas for testing.
Combined with the initial BA’s analysis, this creates a comprehensive understanding of the issue, how code changes will impact the overall application, and how to test the resulting corrective actions.
Quality Assurance staff tests the changes once the corrections have been made. Using the Impact Analysis as a guide, they test the functional correction itself (i.e., the specific issue reported by the client), and test all the areas identified within the Impact Analysis. This ensures that no unexpected or adverse issues have surfaced because of the correction. And when the correction is packaged within a fix pack release, we test the entire application again to ensure no additional or unforeseen issues surface.
Any ideas on how to improve the system?