login

Software Development Practices, Software Complexity, and Software Maintenance Performance: A Field Study

Management SciencePublished 1 April 1998
Rajiv D. Banker, Gordon B. Davis, Sandra A. Slaughter
Citations266
SJR quartileQ1
SJR score5.72
SNIP2.88

TL;DR

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 is developed, suggesting an important link between software development practices and maintenance performance.

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.

Keywords

Computer Science