|Authors||K. J. Moløkken-Østvold|
|Title||Effort and Schedule Estimation of Software Development Projects|
|Publication Type||PhD Thesis|
|Year of Publication||2004|
|Publisher||University of Oslo|
This thesis explores different topics related to software project effort and schedule estimation. It consists of three sections which address 1) state of practice in the software industry, 2) different methods for improving estimation accuracy, and 3) general methodological aspects in research on software estimation. Related to international estimation practices and performance, a review of previous research performed as part of this thesis revealed that a majority of software projects (60-80%) had encountered effort overruns. The average magnitude of these overruns was 30-40%. The frequency (65-80%) and magnitude (20-25%) of schedule overruns was similar. The dominating estimation approach was expert judgement. Similar, a survey of software projects in Norway undertaken as part of this thesis found a frequency of 76% effort overruns, with an average magnitude of 41%. The frequency and magnitude of schedule overruns was 62% and 25% respectively. Expert estimation was by far the preferred estimation method. It was also observed that the type of customer had an impact on the magnitude of effort overruns. Public projects had an average effort overrun of 67%, as opposed to the 21% average in private projects. This observed difference appears to be caused by systematic differences between private and public organizations found at 1) the political level, 2) the organizational level, and 3) and the individual level. In an experiment on expert judgment, the results indicated that professionals in technical roles (project managers and developers) were significantly more (over)optimistic than professionals in non-technical roles (sales managers and user analysts) when estimating project effort. Regarding improvement of estimation practices, two different approaches were investigated. A controlled experiment showed that combination of expert estimates through unstructured group discussion can reduce the existing bias towards too optimistic estimates. In addition, it appears as if use of flexible development models (e.g. incremental, iterative or agile) leads to a lesser magnitude of effort overruns when compared to the traditional sequential waterfall model. It was also found that results in some previous studies on estimation accuracy may have been impacted by methodological shortcomings, and that there is little attention directed at ethical aspects in software engineering research in general. The main research contributions presented in this thesis indicate that most software projects face schedule and effort overruns. In addition, the frequency and magnitude of software effort and schedule overruns are significant, and appear to be independent of location and stable over time. Most practitioners favour expert judgement over formal estimation models. In order to improve estimation accuracy in ways that are easy and cost-efficient to implement, professional software organizations may rely more on flexible development methods, and combine estimates from different expert through group interaction.