Software productivity: Potential, actual, and perceived

In this article, we investigate the dynamics of software development productivity throughout the software development lifecycle. Our investigation discerns three forms of productivity, namely, potential, actual, and perceived. This conceptual dissection of productivity provides a useful lens for focusing on two distinct sets of managerial concerns: losses in the efficiency of software production, and losses in the effectiveness of managerial control. Losses in production efficiency stem from faulty processes associated with motivation and communication and lead to a gap between potential productivity and actual productivity. Losses in the effectiveness of managerial control arise, particularly in the early stages of a software project, from the discrepancy between what management perceives productivity to be and what it actually is. The impressive improvements being made in the cost effectiveness of computer hardware are causing an enormous expansion in the number of applications for which computing is becoming a feasible and economical solution. This, in turn, is creating greater and greater demands for the development and operation of computer software systems. A conservative estimate suggests a hundredfold increase in the demand for software between 1965 and 1985 (Musa 1985). While the growth in demand for software has been rapid, actual software development is increasing much more slowly. Musa (1985) estimates that U.S. software production capacity increased about eighteenfold between 1965 and 1985. Such a severe supply-demand imbalance is cause for serious concern. If it persists, it can have a debilitating effect, not only on the fledgling software industry but also on technological and economic development in many other areas of the economy. The challenge posed to the software industry is to enhance the productivity of software development. An important prerequisite for accomplishing this is to gain an understanding of those factors that have a significant impact on software productivity. It is in pursuit of this goal that this article was written. Specifically, our objective is to provide a dynamic perspective of software productivity, influencing it throughout the lifecycle of a software project. examining those factors System dynamics modeling of project management The significance and applicability of the feedback systems concepts of system dynamics to project management has been substantiated by a large number of studies. One of the earliest is Roberts’s (1964) published doctoral dissertation, which involved the development of a comprehensive system dynamics model of R&D project management. The model traces the full lifecycle of a single R&D project and incorporates the interactions between the R&D product, the firm, and the customer. Nay (1965) and Kelly (1970) extended Roberts’s work in their research on multiproject environments. Richardson (1982) took a different tack, focusing on the development group. His model reproduces the dynamics of a development group over an eight-year period as a continuous stream of products are developed and placed into production. The model traces the number of products under development, the use of resources required, and the product development time.