Machine Learning Enhanced Human Expert Effort Estimates
Learning From Mistakes (LFM) is a novel approach to predictive modeling for software engineering.
The core idea underlying our proposal is to automatically learn from past estimation errors made by human experts, in order to
predict the characteristics of their future misestimates, therefore resulting in improved future estimates. We show the feasibility of LFM by
investigating whether it is possible to predict the type, severity and magnitude of errors made by human experts when estimating the
development effort of software projects, and whether it is possible to use these predictions to enhance future estimations. To this end we
conduct a thorough empirical study investigating 402 maintenance and new development industrial software projects. The results of our
study reveal that the type, severity and magnitude of errors are all, indeed, predictable. Moreover, we find that by exploiting these
predictions, we can obtain significantly better estimates than those provided by random guessing, human experts and traditional machine
learners in 31 out of the 36 cases considered (86%), with large and very large effect sizes in the majority of these cases (81%).
This empirical evidence opens the door to the development of techniques that use the power of machine learning, coupled with the
observation that human errors are predictable, to support engineers in estimation tasks rather than replacing them with machine-provided estimates.