Software Development Practices, Software Complexity, and Software Maintenance Performance: A Field Study
- 1 April 1998
- journal article
- research article
- Published by Institute for Operations Research and the Management Sciences (INFORMS) in Management Science
- Vol. 44 (4), 433-450
- https://doi.org/10.1287/mnsc.44.4.433
Abstract
Software maintenance claims a large proportion of organizational resources. It is thought that many maintenance problems derive from inadequate software design and development practices. Poor design choices can result in complex software that is costly to support and difficult to change. However, it is difficult to assess the actual maintenance performance effects of software development practices because their impact is realized over the software life cycle. To estimate the impact of development activities in a more practical time frame, this research develops a two-stage model in which software complexity is a key intermediate variable that links design and development decisions to their downstream effects on software maintenance. The research analyzes data collected from a national mass merchandising retailer on 29 software enhancement projects and 23 software applications in a large IBM COBOL environment. Results indicate that the use of a code generator in development is associated with increased software complexity and software enhancement project effort. The use of packaged software is associated with decreased software complexity and software enhancement effort. These results suggest an important link between software development practices and maintenance performance.This publication has 46 references indexed in Scilit:
- A human information processing perspective on software maintenanceOmega, 1994
- Practical results from measuring software qualityCommunications of the ACM, 1993
- Software maintenance management: Changes in the last decadeJournal of Software Maintenance: Research and Practice, 1990
- Task Complexity: A Review and AnalysisAcademy of Management Review, 1988
- Task complexity: Definition of the constructOrganizational Behavior and Human Decision Processes, 1986
- Determinants of program repair maintenance requirementsCommunications of the ACM, 1984
- Managing application program maintenance expendituresCommunications of the ACM, 1983
- A Heteroskedasticity-Consistent Covariance Matrix Estimator and a Direct Test for HeteroskedasticityEconometrica, 1980
- The Use of the Rank Transform in RegressionTechnometrics, 1979
- An index of factorial simplicityPsychometrika, 1974