A database for publications published by researchers and students at SimulaMet.
Research area
Publication type
- All (132)
- Journal articles (36)
- Books (2)
- Edited books (1)
- Proceedings, refereed (30)
- Book chapters (5)
- Talks, keynote (13)
- Proceedings, non-refereed (1) Remove Proceedings, non-refereed <span class="counter">(1)</span> filter
- Posters (1)
- Technical reports (2)
- Manuals (1)
- Talks, invited (25)
- Talks, contributed (1)
- Public outreach (11)
- Master's theses (1)
- Miscellaneous (2)
Proceedings, non-refereed
Predicting software development skill from effort predictions (Un)skilled and unware of it?
In International symposium on forecasting (ISF), 2019.Status: Published
Predicting software development skill from effort predictions (Un)skilled and unware of it?
If software developers’ estimates of how much effort they would need to complete tasks were strongly correlated with their actual use of efforts, we could safely select among the developers with the lowest effort estimates and predict that they will be among the most skilled ones. Unfortunately, this is not necessarily the case. As documented in studies in many domains, those with lower skill tend to know less about how little they know and, for this reason, give over-optimistic estimates of their own performance.
This effect is termed the Dunning-Kruger effect. Does this mean that effort estimates are useless as predictors of software development skill?
To find out more on this we requested 104 software developers to estimate four larger and five smaller software development tasks and measured their programming skills. We assessed the connection between lower estimates and higher skill through rank correlations and hit rates, where the hit rate measures the frequency of selecting the most skilled out of two developers when selecting the one with the lower effort estimate on the same task.
The results were as predicted by the Dunning-Kruger effect for the larger tasks. The developers in the lowest skill quartile had on average lower estimates than those in the highest skill quartile. To predict relative programming skill based on these estimates would be very inaccurate. The correlations between task estimates and skill were between -0.15 and 0.01 and the hit rates between 44% and 50%.
The developers’ effort estimates on the smaller tasks were, however, much better connected with their measured programming skills. The rank correlations were between 0.29 and 0.50 and the hit rates between 62% and 68%. Clustering the estimates of all the smaller tasks into the same factor gave a rank correlation of 0.45 between this factor and the measured skill and a hit rate of 70%. While not very strong, we show that the estimates on these tasks is better connected with measured skill than those in use in software development contexts, i.e., company-assesses skill category, length of experience, self-assessed skill and confidence in knowing how to solve the tasks. These indicators had rank correlations between 0.14 and 0.29, and hit rates between 57% and 65%.
A possible explanation of why lower skill was connected with higher effort estimates for the smaller, but not for the larger tasks, is that lower skill in solving a task can both lead to lower skill in identifying the complexity and the simplicity of a task. In the situation with the simpler tasks, we propose, those with better skill were also better in identifying how easily the tasks could be solved at the time of estimation. This explanation suggests that we may be able to design estimation tasks even better at separating those with high and low task completion skill than in our study, when focusing on hidden simplicity, i.e., simplicity that the more skilled are more likely to identify than the less skilled ones.
Afilliation | Software Engineering |
Project(s) | Department of IT Management |
Publication Type | Proceedings, non-refereed |
Year of Publication | 2019 |
Conference Name | International symposium on forecasting (ISF) |