The impact of design properties on development cost in object-oriented systems
Lionel Briand, Jürgen Wüst · 2001
In the context of software cost estimation, system size is widely taken as a main driver of system development effort, but other structural design properties, such as coupling, cohesion and complexity, have been suggested as additional cost factors. In this paper, using effort data from an object-oriented development project, we empirically investigate the relationship between class size and the development effort for a class, and what additional impact structural properties such as class coupling have on effort. We use Poisson regression and regression trees to build cost prediction models from size and design measures, and use these models to predict the system development effort. We also investigate a technique to combine regression trees with regression analysis, which aims at building more accurate models. The results indicate that fairly accurate predictions of class effort can be made based on simple measures of the class interface size alone; mean MREs (magnitudes of relative error) are below 30%. Effort predictions at the system level are even more accurate as, using bootstrapping, the estimated 95% confidence interval for MREs is 3%-23%, but more sophisticated coupling and cohesion measures do not help to improve these predictions to a degree that would be practically significant. However, the use of hybrid models, combining Poisson regression and CART (classification and regression trees) clearly improves the accuracy of the models as compared to using Poisson regression alone.