Effort, Time, and Staffing in Continually Evolving Open-Source Projects

Effort, Time, and Staffing in Continually Evolving Open-Source Projects

Liguo Yu (Indiana University – South Bend, USA)
DOI: 10.4018/978-1-4666-7230-7.ch087
OnDemand PDF Download:
No Current Special Offers


Scheduling and staffing are important management activities in software projects. In closed-source software development, the relationships among development effort, time, and staffing have been well established and validated: the development effort determines the development time and the best number of developers that should be allocated to the project. However, there has been no similar research reported in open-source projects. In this chapter, the authors study the development effort, development time, and staffing in an open-source project, the Linux kernel project. Specifically, they investigate the power law relations among development effort, development time, and the number of active developers in the Linux kernel project. The authors find the power law relations differ from one branch to another branch in the Linux kernel project, which suggests different kinds of management and development styles might exist in different branches of the Linux kernel project. The empirical knowledge of software development effort obtained in this study could help project management and cost control in both open-source communities and closed-source industries.
Chapter Preview

2. Literature Review

Software effort estimation is to predict the manpower required to develop or maintain a software product. Effort estimation is the basis for cost estimation, time scheduling, and staff allocation. Extensive research has been performed in this area (Albrecht & Gaffney, 1983; Jeffery & Low, 1990). Basically, there are two types of effort estimation method: expert judgment (Parkinson, 1957) and algorithmic models (Donelson, 1976). In algorithmic models, COCOMO II is considered the most successful approach (Boehm et al., 2000). Since the introduction of these models, a lot of following work has been performed in this area.

Some studies are reported to compare the performance of different effort estimation models. For example, Jorgensen (1995) compared different software maintenance effort prediction models developed using regression analysis, neural networks, and pattern recognition. He found the most accurate estimations were achieved through applying multiple regression and pattern recognition in the prediction models. Jeffery, Ruhe, and Wieczorek (2000) compared the development cost estimation differences of models using ordinary least-squares regression and analogy-based estimation. Menzies, Chen, Hihn, and Lum (2006) applied heuristic rejection rules to comparatively assess effort predictions generated from different models.

Some studies are performed to improve the accuracies of effort estimation models. For example, Chulani, Boehm, and Steece (1999) proposed using Bayesian approach to calibrate and improve cost estimation models, such as COCOMO II. Idri, Kjiri, and Abran (2000) suggested improving COCOMO model with fuzzy logic. Reddy and Raju (2009) recommended using Gaussian Membership Function to determine the cost drivers in order to improve the prediction accuracy. Huang, Ho, Ren and Capretz (2007) proposed improving the COCOMO effort estimation mode using neuro-fuzzy approach.

Complete Chapter List

Search this Book: