A life cycle model for software maintenance management
Hsiang‐Jui Kung, Cheng Hsiung Hsu, Thomas Reed Willemain · 1997
IS managers typically face more software maintenance requests than there are resources (IS staff time) to support them. There has been a lack of good planning tools to handle this situation. Software maintenance planning is a difficult problem because the demand for maintenance requests is difficult to predict. Traditional forecasting methods cannot solve this problem, since software maintenance demand patterns change over time as the use of the software matures, and they are heavily influenced by human interactions. To solve the software maintenance planning problem, we have developed a software maintenance life cycle (SMLC) model, and validated this method with both empirical and simulated software maintenance data. The life cycle concept has been adapted to the IS community for decades, but was focused mainly on project life cycle management. With the SMLC model we introduce a holistic (lifetime) view of using the life cycle concept. This model integrates the life cycle concept with software maintenance classifications, and provides a framework to aid software maintenance planning. The SMLC model consists of two parts: the concept and the decision method. The SMLC concept has four stages: introduction, growth, maturity and decline. To apply this concept to software maintenance management, we develop a quantitative decision method to predict the maintenance stage changes. With the real time maintenance stage change information, IS managers can use this information to apply appropriate strategies during different maintenance stages. The core of this research model is the quantitative decision method. To fine tune the decision method parameters, we have conducted two types of laboratory experiments using simulation data. The 3$\sp3$ factorial experiment tests the effect of parameters on the performance of the decision method, and picks the best two designs. The simple comparative experiment chooses the better one from prior two. To validate the SMLC model, we have applied this model to three empirical cases using large application software: Ciba's Environmental Compliance Management System (ECMS), Rensselaer's Financial and Administrative Information Management System (FAIMS) and MetLife's Unified Disability System (UDS). The results indicate that all three software systems are consistent with the SMLC pattern; i.e., they exhibit life cycles as the model prescribes and their evolutions have been described by the model. Furthermore, we have also interviewed IS managers at these companies about how they have used the maintenance decision information delivered by the SMLC model. The results show that the decision method is useful to them for balancing their resources among maintenance projects and the software systems that they support, as postulated in the development of the model.