© XXII Ibero-American Conference on Software Engineering, CIbSE 2019. All rights reserved. Effort estimation is an important task in software engineering. Inaccurate estimations cause delays in project scheduling, increase cost, and can lead to project failure. Unfortunately, current methods for effort estimation in the agile context are not very accurate, require large amounts of historical data, and/or are not designed to provide estimations after the development process starts. In this article, we present Blacksheep, a novel technique for project effort estimation in agile contexts. As a learning-oriented method, Blacksheep relies on data to improve effort predictions. However, it combines three key ideas to overcome the problems of current methods. First, it learns from other user stories as soon as they get closed in the project, reducing its dependency on historical data. Second, it uses an ensemble of predictors that are combined to obtain a global effort estimate. Third, it relies on an instance selection procedure designed to dynamically choose training data on the basis of its relevance for the prediction task. All these three components are integrated into a framework that allows predictions at different stages of the development process. The proposed system is assessed using real data from eleven software projects conducted by a Chilean software company between September 2016 and August 2018. Among other results, we found that using just two closed projects as historical data, BlackSheep achieves an relative absolute error lower than 0.25 in around 78% of the cases, improving on Planning Poker (the current method) by a significant margin.
|Number of pages||14|
|Publication status||Published - 1 Jan 2019|
|Event||XXII Ibero-American Conference on Software Engineering, CIbSE 2019 - |
Duration: 1 Jan 2019 → …
|Conference||XXII Ibero-American Conference on Software Engineering, CIbSE 2019|
|Period||1/01/19 → …|
Mas’ad, R., Ñanculef, R., & Astudillo, H. (2019). BlackSheep: Dynamic effort estimation in agile software development using machine learning. 16-29. Paper presented at XXII Ibero-American Conference on Software Engineering, CIbSE 2019, .