Economics of software re-engineering

There is a pressing need to be able to calculate and to justify the costs of software re-engineering. The purpose of the paper is to address that need by establishing a framework for the economics of re-engineering. The objective of re-engineering is to reduce maintenance costs. This objective is served by increasing quality and reducing complexity. Both of these goals are examined here in the light of software maintainability metrics. The costs of re-engineering are driven by the size and interdependency of the software as well as by the degree of automation available. The paper presents a method of estimating the costs of re-engineering, and presents some figures acquired through practical experience. Finally, a method is defined for weighing estimated costs against expected benefits in order to support decisions on whether to renovate existing software or replace it by a new development. This is a major decision faced by many industrial managers today.

[1]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[2]  Gerald M. Berns Assessing software maintainability , 1984, CACM.

[3]  D. E. Peercy A software maintainability evaluation methodology , 1979 .

[4]  Robert N. Charette,et al.  Software Engineering Risk Analysis and Management , 1989 .

[5]  Claude E. Walston,et al.  A Method of Programming Measurement and Estimation , 1977, IBM Syst. J..

[6]  James A. Senn,et al.  System structure and software maintenance performance , 1989, Commun. ACM.

[7]  Harry M. Sneed Software Renewal: A case Study , 1984, IEEE Software.

[8]  Wilma M. Osborne,et al.  Guidance on software maintenance , 1983 .

[9]  Ron Weber,et al.  Some factors affecting program repair maintenance: an empirical study , 1983, CACM.

[10]  Barry W. Boehm,et al.  Improving Software Productivity , 1987, Computer.

[11]  H. M. Sneed,et al.  A study on the effect of reengineering upon software maintainability , 1990, Proceedings. Conference on Software Maintenance 1990.

[12]  Stephen S. Yau,et al.  Some Stability Measures for Software Maintenance , 1980, IEEE Trans. Software Eng..

[13]  Barry Boehm The Economics of Software Maintenance , 1983 .

[14]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[15]  Lee L. Gremillion Determinants of program repair maintenance requirements , 1984, CACM.

[16]  Prashant Palvia,et al.  Software maintenance management: Changes in the last decade , 1990, J. Softw. Maintenance Res. Pract..

[17]  H. Dieter Rombach,et al.  A Controlled Expeniment on the Impact of Software Structure on Maintainability , 1987, IEEE Transactions on Software Engineering.

[18]  NED CHAPIN A measure of software complexity , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).