Evaluating software development effort estimation process in agile software development context
1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Information Processing Science, Information Processing Science
|Online Access:||PDF Full Text (PDF, 1.2 MB)|
|Persistent link:|| http://urn.fi/URN:NBN:fi:oulu-201605221862
|Publish Date:|| 2016-05-25
|Thesis type:||Master's thesis
This thesis studied effort estimation in software development, focusing on task level estimation that is done in Scrum teams. The thesis was done at Nokia Networks and the motivation for this topic came from the poor estimation accuracy that has been found to be present in software development. The aim of this thesis was to provide an overview of what is the current state of the art in effort estimation, survey the current practices present in Scrum teams working on LTE L2 software component at Nokia Networks Oulu, and then present suggestions for improvement based on the findings.
On the basis of the literature review, three main categories of effort estimation methods were found: expert estimation, algorithmic models and machine learning. Universally there did not seem to be a single best method, but instead the differences come from the context of use. Algorithmic models and machine learning require data sets, whereas expert estimation methods rely on previous experiences and intuition of the experts. While model based methods have received a lot of research attention, the industry has largely relied on expert estimation.
The current state of effort estimation at Nokia Networks was studied by conducting a survey. This survey was built based on previous survey studies that were found by conducting a systematic literature review. The questions found in the previous studies were formulated into a questionnaire, which was then used to survey the current effort estimation practices present in the participating teams.
41 people out of 100 in the participating teams participated in the survey. Survey results showed that like much of the software industry, the teams in LTE L2 relied on expert estimation methods. Most respondents had encountered overruns in the last sprint and the most often provided reason was that testing related effort estimation was hard. Forgotten subtasks were encountered frequently and requirements were found to be both unclear and to change often. Very few had had any training on effort estimation. There were no common practices for effort data collection and as such, it was mostly not done.
By analyzing the survey results and reflecting them on the previous research, five suggestions for improvements were found. These were training in effort estimation, improving the information that is used during effort estimation by collaborating with specification personnel, improving testing related effort estimation by splitting acceptance testing into their own tasks, collecting and using effort data, and using Planning Poker as an effort estimation method, as it fit the context of estimation present in the teams.
The study shed light on how effort estimation is done in software industry. Another contribution was the improvement suggestions, which could potentially improve the situation in the teams that participated in the survey. A third contribution was the questionnaire built during this study, as it could potentially be used to survey the current state of effort estimation in also other contexts.
© Juho Leinonen, 2016. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.