Modeling the software reengineering decision
Mark A. Kanko · 1995
A number of papers have dealt with the reengineering process that occurs once a decision to reengineer has been made. In contrast, this effort focused on understanding the process that surrounds the decision itself. The work examined various technical decision factors that are involved in choosing between (1) leaving the software as-is and continuing with normal maintenance, (2) reengineering the software, and (3) redeveloping the software from scratch. Special attention was given to the events that trigger such a decision, and a method for classifying all such events was devised. Additionally, success criteria for reengineering efforts was explored as were the various goals and objectives of a reengineering project. Two existing reengineering strategy selection models were examined and critiqued. The overall goal of this research endeavor was an empirically based predictive decision model that would assist the software manager in choosing among the three alternatives above. In support of this modeling effort, 65 case studies from past status quo, reengineering, and redevelopment software projects were gathered from two large government software maintenance facilities. Statistical analysis was applied to the 32 attributes that characterized each case study, and relationships between these attributes and specific reengineering techniques were explored. Although a validated predictive model was not formulated, a number of valuable conclusions and contributions resulted. It was shown that in most cases, technical attributes were not the overriding factors in the decision to reengineer. Another conclusion found that the method for assessing the general benefits of applying software reengineering to a specific application was significantly different from the assessment used to determine whether reengineering was a viable alternative that could be used to solve a specific set of problems in an application.