An increasing number of software companies have already realized the importance of storing project-related data as valuable sources of information for training prediction models. Such kind of modeling opens the door for the implementation of tailored strategies to increase the accuracy in effort estimation of whole teams of engineers. In this article we review the most recent machine learning approaches used to estimate software development efforts for both, non-agile and agile methodologies. We analyze the benefits of adopting an agile methodology in terms of effort estimation possibilities, such as the modeling of programming patterns and misestimation patterns by individual engineers. We conclude with an analysis of current and future trends, regarding software effort estimation through data-driven predictive models.
翻译:越来越多的软件公司已认识到存储项目相关数据的重要性,这些数据可作为训练预测模型的有价值信息来源。此类建模为实施定制化策略打开了大门,可提高整个工程师团队在工作量估计中的准确性。本文综述了用于估算软件开发工作量的最新机器学习方法,涵盖非敏捷与敏捷两种开发方法。我们分析了采用敏捷方法论在工作量估计方面的优势,例如:对单个工程师的编程模式及误估模式进行建模。最后,围绕通过数据驱动预测模型进行软件工作量估计这一主题,我们对当前及未来发展趋势进行了分析。