Content area
Full Text
Keywords
Computer software, Software development, Software metrics, Programming
Abstract
Despite the belief that software enhancements must be designed into software applications, there is only little research that has rigorously investigated the relationships that exist between software characteristics and software volatility. The objective of this research is to investigate the relationship of software characteristics with software volatility and its theoretical model is based on two models for software volatility. In this study, software volatility refers to the frequency of enhancements per application. A survey of critical software applications used at a major integrated oil company was used to test the hypotheses. Findings indicate that complexity, software age, and program size are significant predicators for software volatility. These findings could assist companies in their decision process about choosing between maintaining existing software or replacing it, often at substantial financial cost.
1. Introduction
Companies invest a large sum of money in software maintenance. While advances in computer technology have reduced the per unit cost of computing power, the costs required for the maintenance of application software have increased, some may say escalated. Three major sources of these escalating costs have been identified: the corrections of faults, perfection, and adaptation of software as business needs evolve. Software enhancements adapt existing software to meet user requirements. Researchers believe that the proportion of effort devoted to enhancements to maintain software is perhaps the largest in the software life cycle (Banker and Slaughter, 2000).
While some research has documented the costs and problems associated with software maintenance (Banker and Slaughter, 2000; Vessey and Weber, 1984), other research argues that software maintenance is still under-researched (Kemerer and Slaughter, 1997; Banker and Slaughter, 2000). Forza (1995) advocates that quality information systems produce quality performance. Recently, a few researchers have applied a different term to describe the long-term effect of software maintenance - software volatility. This paper seeks to investigate the factors that affect software volatility. The terms software maintenance, software enhancement, and software volatility are used in this paper and defined below.
1.1 Definition of the terms
Software enhancement includes adding, changing, and deleting software functionality to adapt to new and evolving business requirements (Kemerer and Slaughter, 1997). Software enhancement is the process of modifying software to make it more...