This Article 
 Bibliographic References 
 Add to: 
An Economic Model to Estimate Software Rewriting and Replacement Times
August 1996 (vol. 22 no. 8)
pp. 580-598

Abstract—The effort required to service maintenance requests on a software system increases as the software system ages and deteriorates. Thus, it may be economical to replace an aged software system with a freshly written one to contain the escalating cost of maintenance. We develop a normative model of software maintenance and replacement effort that enables us to study the optimal policies for software replacement. Based on both analytical and simulation solutions, we determine the timings of software rewriting and replacement, and hence the schedule of rewriting, as well as the size of the rewriting team as functions of the 1) user environment, 2) effectiveness of rewriting, 3) technology platform, 4) development quality, 5) software familiarity, and 6) maintenance quality of the existing and the new software systems. Among other things, we show that a volatile user environment often leads to a delayed rewriting and an early replacement (i.e., a compressed development schedule). On the other hand, a greater familiarity with either the existing or the new software system allows for a less-compressed development schedule. In addition, we also show that potential savings from rewriting will be higher if the new software system is developed with a superior technology platform, if programmers' familiarity with the new software system is greater, and if the software system is rewritten with a higher initial quality.

[1] A.J. Albrecht and J.E. Gaffney, "Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation," IEEE Trans. Software Eng., vol. 9, pp. 639-648, Nov. 1983.
[2] R.S. Arnold and D.A. Parker, "The Dimensions of Healthy Maintenance," Proc. Sixth Int'l Conf. Software Eng., pp. 10-27, Sept. 1982.
[3] R.D. Banker, S.M. Datar, and C.F. Kemerer, "A Model to Evaluate Variables Impacting the Productivity of Software Maintenance Projects," Management Science, vol. 37, pp. 1-18, Jan. 1991.
[4] R.D. Banker, S.M. Datar, C.F. Kemerer, and D. Zweig, "Software Complexity and Maintenance Costs," Comm. ACM, vol. 36, pp. 81-94, Nov. 1993.
[5] G.M. Berns, "Assessing Software Maintainability," Comm. ACM, vol. 27, pp. 14-23, Jan. 1984.
[6] G.D. Bergland, "A Guided Tour of Program Design Methodologies," Computer, vol. 14, no. 10, pp. 13-37, Oct. 1981.
[7] B. Boehm, Software Engineering Economics, Prentice Hall, Upper Saddle River, N.J., 1981, pp. 533-535.
[8] F.P. Brooks Jr., The Mythical Man-Month (20th Anniversary Edition).Reading, Mass.: Addison-Wesley, 1995.
[9] T. Chan and T.H. Ho, "An Empirical Analysis of the Arrival and the Service Processes in Software Maintenance," Working Paper, Dept. of Information Systems and Computer Science, Nat'l Univ. of Singapore, 1996.
[10] T. Chan, S.L. Chung, and T.H. Ho, "Timing of Software Replacement," Proc. 15th Int'l Conf. Information Systems, pp. 291-307, Dec. 1994.
[11] D. Coleman, D. Ash, B. Lowther, and P. Oman, "Using Metrics to Evaluate Software System Maintainability," Computer, vol. 27, no. 8, pp. 44-49, Aug. 1994.
[12] B. Curtis, S.B. Sheppard, P. Milliman, M.A. Borst, and T. Love, "Measuring the Psychological Complexity of Software Maintenance Tasks with the Halstead and McCabe Matrics," IEEE Trans. Software Eng., vol. 5, pp. 96-104, Feb. 1979.
[13] T. DeMarco, Controlling Software Projects.New York: Yourdon, 1982.
[14] J.B. Dreger, Function Point Analysis.Englewood Cliffs, N.J.: Prentice Hall, 1989.
[15] V.R. Gibson and J.A. Senn, "System Structure and Software Maintenance Performance," Comm. ACM, vol. 32, pp. 347-358, Mar. 1989.
[16] D.K. Gode, A. Barua, and T. Mukhopadhyay, "On the Economics of the Software Replacement Problem," Proc. 11th Int'l Conf. Information Systems, pp. 159-170, Dec. 1990.
[17] T. Ho and T. Chan, "Estimating Service Time in Software Maintenance: Application-Specific and General-Purpose Human Capital," UCLA Working Paper, 1996.
[18] C. Jones, "Software Enhancement Modelling," J. Software Maintenance, vol. 1, pp. 91-100, 1989.
[19] C. Jones, Applied Software Measurement, McGraw-Hill, New York, 1991.
[20] D. Kafura and G. Reddy, "The Use of Software Complexity Metrics in Software Maintenance," IEEE Trans. Software Eng., vol. 13, no. 3, pp. 335-343, Mar. 1987.
[21] C. Kemerer, "An Empirical Validation of Software Cost Estimation Models," Comm. ACM, vol. 30, pp. 416-429, May 1987.
[22] M.M. Lehman and L.A. Belady, Program Evolution: Processes of Software Change.London: Academic Press, 1985.
[23] J.R. Lyle and K.B. Gallagher, "Using Program Decomposition to Guide Modification," Proc. Conf. Software Maintenance, pp. 265-269, Oct. 1988.
[24] B.P. Lientz and E.B. Swanson, Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations, Addison Wesley Longman, Reading, Mass., 1980.
[25] J. Martin and C. McClure, Software Maintenance: The Problem and its Solution.Englewood Cliffs, N.J.: Prentice Hall, 1983.
[26] P. Oman, J. Hagemeister, and D. Ash, "A Definition and Taxonomy for Software Maintainability," SETL Report #91-08-TR, Univ. of Idaho, 1991.
[27] P. Oman and J. Hagemeister, "Metrics for Assessing Software System Maintainability," Proc. Conf. Software Maintenance 1992, pp. 337-344, Nov. 1992.
[28] W.P. Pierskalla and J.A. Voelker, "A Survey of Maintenance Models: The Control and Surveillance of Deteriorating Systems," Naval Research Logistics, vol. 23, pp. 353-388, Sept. 1976.
[29] H. Sneed, "Planning the Reengineering of Legacy Systems," IEEE Software, vol. 12, no. 1, pp. 24-34, Jan. 1995.
[30] H.M. Sneed and E. Nyary, "Downsizing Large Application Programs," Proc. Conf. Software Maintenance 1993, pp. 110-119, Sept. 1993.
[31] E.B. Swanson, "The Dimensions of Maintenance," Proc. Second Int'l Conf. Software Eng., pp. 492-497, 1976.
[32] E.B. Swanson, "System Maintenance and Expected Life," Information Systems Working Paper #9-95, John E. Anderson Graduate School of Management, UCLA, Sept. 1995.
[33] E.B. Swanson and C.M. Beath, Maintaining Information Systems in Organizations.New Work: John Wiley and Sons, 1989.
[34] T. Tamai and Y. Torimitsu, "Software Lifetime and Its Evolution Process over Generations," Proc. Conf. Software Maintenance, pp. 63-69, Nov. 1992.
[35] C. Valdez-Flores and R. Feldman, "A Survey of Preventive Maintenance Models for Stochastically Deteriorating Single Unit Systems," Naval Research Logistics, vol. 36, pp. 419-446, Sept. 1989.
[36] C. Woodside, "A Mathematical Model for the Evolution of Software," Program Evolution: Processes of Software Change, M.M. Lehman and L.A. Belady, eds. London: Academic Press, 1985.

Index Terms:
Software maintenance, software replacement, economic modeling, optimization, project management.
Taizan Chan, Siu Leung Chung, Teck Hua Ho, "An Economic Model to Estimate Software Rewriting and Replacement Times," IEEE Transactions on Software Engineering, vol. 22, no. 8, pp. 580-598, Aug. 1996, doi:10.1109/32.536958
Usage of this product signifies your acceptance of the Terms of Use.