Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

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

Blincoe, Kelly ; Dehghan, Ali ; Salaou, Abdoul Djawadou ; Neal, Adam ; Linaker, Johan LU orcid and Damian, Daniela (2019) In Empirical Software Engineering 24(3). p.1610-1648
Abstract

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... (More)

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.

(Less)
Please use this url to cite or link to this publication:
author
; ; ; ; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
Completion prediction, Machine learning, Mining software repositories, Release planning, Software requirements
in
Empirical Software Engineering
volume
24
issue
3
pages
1610 - 1648
publisher
Springer
external identifiers
  • scopus:85055479920
ISSN
1382-3256
DOI
10.1007/s10664-018-9656-z
language
English
LU publication?
yes
id
588e6a36-80a4-4161-ac36-319cdb5540c6
date added to LUP
2018-11-22 09:21:17
date last changed
2022-07-12 03:50:34
@article{588e6a36-80a4-4161-ac36-319cdb5540c6,
  abstract     = {{<p>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.</p>}},
  author       = {{Blincoe, Kelly and Dehghan, Ali and Salaou, Abdoul Djawadou and Neal, Adam and Linaker, Johan and Damian, Daniela}},
  issn         = {{1382-3256}},
  keywords     = {{Completion prediction; Machine learning; Mining software repositories; Release planning; Software requirements}},
  language     = {{eng}},
  number       = {{3}},
  pages        = {{1610--1648}},
  publisher    = {{Springer}},
  series       = {{Empirical Software Engineering}},
  title        = {{High-level software requirements and iteration changes : a predictive model}},
  url          = {{http://dx.doi.org/10.1007/s10664-018-9656-z}},
  doi          = {{10.1007/s10664-018-9656-z}},
  volume       = {{24}},
  year         = {{2019}},
}