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

Kelly Blincoe, Ali Dehghan, Abdoul Djawadou Salaou, Adam Neal, Johan Linaker, Daniela Damian

Research output: Contribution to journalArticlepeer-review

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 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.

Original languageEnglish
Pages (from-to)1610-1648
JournalEmpirical Software Engineering
Volume24
Issue number3
Early online date2018
DOIs
Publication statusPublished - 2019

Subject classification (UKÄ)

  • Software Engineering

Free keywords

  • Completion prediction
  • Machine learning
  • Mining software repositories
  • Release planning
  • Software requirements

Fingerprint

Dive into the research topics of 'High-level software requirements and iteration changes: a predictive model'. Together they form a unique fingerprint.

Cite this