A decision aid for the selection and scheduling of software maintenance projects

Software maintenance is a challenging activity made more complex by pressures for immediate fixes in an environment of limited resources. To commit these resources in an optimal fashion, it is necessary to adopt a long-term perspective. This paper provides a framework that facilitates selection of software maintenance projects and their staffing. Variables involved in the modeling process include project utility, project cost; maintenance budgets, staff supply and scheduling factors. An integer programming model is used to identify a subset of projects to be undertaken together with a multi-period schedule of when to accomplish the work. Finally a procedure based on the transportation algorithm assigns staff to the various selected projects. The need to incorporate judgement and address nonquantifiable factors coupled with uncertainty regarding the values for several of the variables dictates that the process be repeated multiple times to generate solutions which are disparate, several of which could well be statisficing. The methodology forces a long-term perspective for maintenance and provides a structure for what could be a very ad hoc process. The overall focus of the model presented is that of a decision aid in that it interacts with the decision maker in support of the decision.

[1]  Taghi M. Khoshgoftaar,et al.  The dimensionality of program complexity , 1989, ICSE '89.

[2]  Frank Koerner,et al.  Storm: Quantitative modeling for decision support: Personal Version 1.1, Holden-Day, Oakland, 1987, ix + 286 pages , 1988 .

[3]  Norman F. Schneidewind,et al.  The State of Software Maintenance , 1987, IEEE Transactions on Software Engineering.

[4]  Cynthia Mathis Beath,et al.  Maintaining Information Systems in Organizations , 1989 .

[5]  John B. Bowen,et al.  Module size: A standard or heuristic? , 1984, J. Syst. Softw..

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

[7]  Linus Schrage,et al.  Linear, Integer, and Quadratic Programming with Lindo , 1984 .

[8]  Tor Guimaraes,et al.  Managing application program maintenance expenditures , 1983, CACM.

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

[10]  Michael J. Lyons,et al.  Salvaging your software asset: (tools based maintenance) , 1981, AFIPS '81.

[11]  Cynthia Mathis Beath,et al.  Departmentalization in software development and maintenance , 1990, CACM.

[12]  Rajiv D. Banker,et al.  Software complexity and maintenance costs , 1993, CACM.

[13]  Vijay K. Vaishnavi,et al.  An empirical study of the effects of modularity on program modifiability , 1986 .

[14]  Muhittin Oral,et al.  A methodology for collective evaluation and selection of industrial R&D projects , 1991 .

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

[16]  James Martin,et al.  Software Maintenance: The Problem and Its Solutions , 1983 .

[17]  E. D. Brill,et al.  Modeling to Generate Alternatives: The HSJ Approach and an Illustration Using a Problem in Land Use Planning , 1982 .

[18]  WeberRon,et al.  Some factors affecting program repair maintenance , 1983 .