High-level software requirements and iteration changes: a predictive model

被引:9
作者
Blincoe, Kelly [1 ]
Dehghan, Ali [2 ]
Salaou, Abdoul-Djawadou [2 ]
Neal, Adam [3 ]
Linaker, Johan [4 ]
Damian, Daniela [2 ]
机构
[1] Univ Auckland, Dept Elect & Comp Engn, Auckland, New Zealand
[2] Univ Victoria, Victoria, BC V8P 5C2, Canada
[3] Persistent Syst, Toronto, ON, Canada
[4] Lund Univ, Lund, Sweden
关键词
Software requirements; Completion prediction; Release planning; Mining software repositories; Machine learning; STATIC CODE ATTRIBUTES; RESOLUTION TIME; READINESS; ALGORITHM;
D O I
10.1007/s10664-018-9656-z
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Knowing whether a software feature will be completed in its planned iteration can help with release planning decisions. However, existing research has focused on predictions of only low-level software tasks, like bug fixes. In this paper, we describe a mixed-method empirical study on three large IBM projects. We investigated the types of iteration changes that occur. We show that up to 54% of high-level requirements do not make their planned iteration. Requirements are most often pushed out to the next iteration, but high-level requirements are also commonly moved to the next minor or major release or returned to the product or release backlog. We developed and evaluated a model that uses machine learning to predict if a high-level requirement will be completed within its planned iteration. The model includes 29 features that were engineered based on prior work, interviews with IBM developers, and domain knowledge. Predictions were made at four different stages of the requirement lifetime. Our model is able to achieve up to 100% precision. We ranked the importance of our model features and found that some features are highly dependent on project and prediction stage. However, some features (e.g., the time remaining in the iteration and creator of the requirement) emerge as important across all projects and stages. We conclude with a discussion on future research directions.
引用
收藏
页码:1610 / 1648
页数:39
相关论文
共 64 条
[11]   Random forests [J].
Breiman, L .
MACHINE LEARNING, 2001, 45 (01) :5-32
[12]   IS YOUR SOFTWARE READY FOR RELEASE [J].
BRETTSCHNEIDER, R .
IEEE SOFTWARE, 1989, 6 (04) :100-&
[13]   A fast and elitist multiobjective genetic algorithm: NSGA-II [J].
Deb, K ;
Pratap, A ;
Agarwal, S ;
Meyarivan, T .
IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2002, 6 (02) :182-197
[14]   Predicting Likelihood of Requirement Implementation within the Planned Iteration: An Empirical Study at IBM [J].
Dehghan, Ali ;
Neal, Adam ;
Blincoe, Kelly ;
Linaker, Johan ;
Damian, Daniela .
2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, :124-134
[15]  
Dehghan Ali., 2016, P 2 INT WORKSHOP SOF, P22
[16]  
Didar Al Alam S. M., 2016, 2016 IEEE/ACM 5th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE). Proceedings, P15, DOI 10.1109/RAISE.2016.011
[17]   A Few Useful Things to Know About Machine Learning [J].
Domingos, Pedro .
COMMUNICATIONS OF THE ACM, 2012, 55 (10) :78-87
[18]  
Easterbrook S., 2008, Guide to advanced empirical software engineering, P285, DOI [DOI 10.1007/978-1-84800-044-511, 10.1007/978-1-84800-044-5_11, DOI 10.1007/978-1-84800-044-5_11]
[20]  
FERNANDEZDELGAD.M, 1981, J MACH LEARN RES, V15, P3133