Abslmet-ln this paper we reconcile two opposing views regarding the presence of economies or diseconomies of scale In new software development. Our general approach hypothesizes a production function model of software development thot &lows for both increasing and drsmsing returns to sede, and argues that local scale economies or diseconomies depend upon the size of projects. Using eight different data sets, including several reported In previous rese8rch on the subject, we provide tmpirkd evidence in support of our hypothesis. Through the use of the nonparametric DEA technique we also show how to identify the mmt productive scale size that may vary across organizations. Index Tcftns-Dat. envelopment analysis, function points, productivity measurement, sepk economies. software development, source lines of code. I. RESEARCH PROBLEM OFTWARE development practitioners are faced with S the problem of how to appropriately size new software development projects so as to maximize productivity. Unfortunately, much of the research in this area has arrived at apparently contradictory conclusions, namely that either economies of scale exist or that diseconomies of scale exist. This paper integrates these apparently contradictory results in a consistent framework, and empirically demonstrates that the existence of local scale economies or diseconomies de ends upon the size of software development projects.'h addition, we provide a methodology for identifying the most productive scale size for a given software development environment. A production process exhibits local increasing returns to scale if, at a given volume level, the marginal returns of an additional unit of input exceed the average returns. Economies of scale are thus present when average productivity is increasing, and scale diseconomies prevail when average productivity is decreasing. Reasons provided to explain the presence of economies of scale range from specialization of labor to phenomena such as learning curves. Software engineering researchers such as 'In production economics, economies of scale are defined at specific volume levels in a production process. and are thus best described as local. It is thcnfore inappropriate to limit the characterization of a production process to only global economies (or diseconomies) of scale. In dealing with single input-single output production correspondences. we shall use the terms incrcasing returns to scale and scale economies interchmgeahly. Boehm [14] have noted the presence of a number of factors in new software development that may contribute to economies of scale, such as software development tools like online debuggers or code generators. These tools may increase productivity, but the relatively large initial investment, both in purchase and in the organizational learning costs, may proscribe their use on small projects. Larger projects may also benefit from specialized personnel, whose expertise in a certain area (e.g., assembly language coding) may increase the project's overall productivity. Finally, all projects require a certain fixed investment in project management overhead. This type of overhead (e.g., status meetings and reports) does not increase directly with project size and therefore can be a source of economies of scale for larger projects. In notes that many overhead activities, such as planning and documentation, grow at a faster than linear rate as project size increases. Another possible source of diseconomies of scale is project slack, which is likely to be larger on a larger project and may contribute to reduced productivity. Given these contradictory hypotheses, how can researchers best model the software development pmduction process? And, how can practicing software development managers appropriately size new software development projects so as to maximize average productivity? This paper addresses these questions and is organized as follows. Section I1 presents the empirical evidence for both the notion of economies of scale and the notion of diseconomies of scale in new software development. We integrate these two notions and suggest that in most organizations, the software development production process first exhibits local increasing returns to scale, 'The number of paths required is it ( t i -I )/2. where ti is the number or project team members. but decreasing returns set in for very large projects. We believe that one reason that this has not been shown by other researchers is due to the simple parametric models employed. We show in Section 111, however. that in empirical applications even the more flexible parametric forms are limited in their ability to estimate the returns to scale. This motivates our use in Section IV of Data Envelopment Analysis as an alternative nonparametric modeling technique to identify the most productive scale size. Finally, the conclusions and suggestions for further research are presented in Section v. 0098- A number of researchers have collected empirical data that support increasing returns to scale theories. The general approach of these researchers has been to estimate a function of the form: where y is the amount of input, typically professional work-hours, and x is the size of the project. typically measured in terms of source lines of code (SLOC) or Function Points (FP). This function is estimated by taking the logarithms of both sides and then estimating the resulting linear model using regression techniques. ( 1 ) 15 project US. Army data set. Therefore, the empirical evidence for diseconomies of scale in new software development is at least as compelling as that for economies of scale. Table 1 summarizes the loglinear model analysis of the nine data sets, with five exhibiting increasing returns to scale and four exhibiting decreasing returns to scale. The returns to scale results reported in Table I1 thus indicate that the conflicting theories about the presence of scale economies 'or diseconomies described in Section I are matched by conflicting empirical evidence obtained for different data sets. We reconcile this apparent contradiction by offering the hypothesis that for most software development "production processes" there exist increasing returns to scale for smaller projects and decreasing returns for very large projects. That is, average productivity is increasing as long as the project size is smaller than the "most productive scale size" (MPSS), and is decreasing for projects that are larger.4 The actual MPSS may be different for different organizational settings. The reasons for our above hypothesis stem from the conflicting arguments presented earlier in Section I for the presence of both economies and diseconomies of scale. Since most projects require a significant fixed investment in project management overhead, average productivity increases initially as the fixed overhead is spread over a larger project. Productivity increases on progressively larger projects may also come from the greater use of specialized personnel and tools, and possibly greater management attention. But, eventually the larger project size generally makes it more difficult to manage, and the marginal productivity of the project team is likely to decline. Increasing returns continue to prevail as long as marginal productivity remains greater than average productivity. At the most productive scale size (MPSS) marginal productivity equals average productivity, and beyond MPSS average productivity, being greater than marginal productivity, is declining and decreasing returns to scale prevail. This intuitive argument is depicted in Fig. 1 . We do not expect to observe situations where decreasing returns to scale prevail for smaller projects and increasing returns for larger projects. In the next two sections we reexamine 'Banker 131 provides a rigomus definition and discussion of the concepl 01' moat productive scale sire (MPSS). We pursue this analysis further in Section IV.  I201 BANKER AND KEMERER: SCALE ECONOMIES IN NEW SOFTWARE DEVELOPMENT .XI K s n a t a 17 22OK . -.?s eight5 of the nine data sets within the framework of less restrictive estimation models to provide empirical support for our hypothesis. The MPSS will tend to differ across organizations. If the fixed overhead is large, or if the marginal productivity does not decline rapidly, increasing returns will continue to prevail for larger projects and the MPSS will be large. MPSS is small and decreasing returns set in at a lower scale level. The problem with the simple loglinear model of the previous research is that it does not allow for the possibility of increasing returns for some projects and decreasing for others. The estimated returns to scale are determined by a single parameter, the exponent b. But we require a more general model that allows for average productivity increases as the fixed project overhead gets spread over larger and larger projects, and after reaching the most productive scale size (MPSS), it allows for declining average productivity caused by negative factors affecting large projects such as the proliferation of communication paths. Rather than reject the parametric approach based only on the simple loglinear model, we first explore more flexible parameteric forms that have been employed in empirical research in other production environments. Such a model that estimates MPSS would also be of use to software development managers because they can then identify the scale size where average productivity is maximized in their organization. One possible method for generalizing the restrictive loglinear production function for new software development of previous research is by simply adding a logquadratic term as an independent variable. We can thus estimate the following translog function? Again letting y equal HOURS and x equal SIZE, the reciprocal of the returns to scale measure is given by p where: Table 111 . The validity of this inference is questionable. however. because of the high (0.9 * * * ) correlation belween the two independent variables in the regression. "We assume here that software development effon is determined primarily by the sire metric. If other factors are also considered relevant, they e m be included in the estimation model and the MPSS estimated based on the corresponding coefficient estimates. 'Negative estimates for both 8, and 13, occur in three of the eight data sets. See Table IV . High correlation between the two variables (SIZE) and (SIZE)' suggests that returns to scale estimates are likely to he unstable. In fact, in all these three contrary cases, the estimated coefficients indicate that less hours are required for la%er projects.
Banker and Kemerer REF use DEA to test whether software projects exhibit VRS and to identify the optimal project size with respect to maximising productivity.
Scale Economies in New Software Development
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Computer Science