The Value of Exact Analysis in Requirements Selection

  title={The Value of Exact Analysis in Requirements Selection},
  author={Lingbo Li and Mark Harman and Fan Wu and Yuanyuan Zhang},
  journal={IEEE Transactions on Software Engineering},
Uncertainty is characterised by incomplete understanding. It is inevitable in the early phase of requirements engineering, and can lead to unsound requirement decisions. Inappropriate requirement choices may result in products that fail to satisfy stakeholders’ needs, and might cause loss of revenue. To overcome uncertainty, requirements engineering decision support needs uncertainty management. In this research, we develop a decision support framework <italic>METRO</italic> for the Next… 

Figures and Tables from this paper

Exact analysis for requirements selection and optimisation

A probabilistic robust optimisation model is introduced to enable the manageability of requirements uncertainty and an exact Non-dominated Sorting Conflict Graph based Dynamic Programming algorithm lies at the heart of METRO to guarantee the elim- ination of algorithmic uncertainty and the discovery of guaranteed optimal solutions.

Uncertainty-wise Requirements Prioritization with Search

This article explicitly considers such uncertainty (quantified as cost overrun probability) when prioritizing requirements based on the assumption that a requirement with higher importance, a higher number of dependencies to other requirements, and higher implementation cost will be reviewed with the higher priority.

A risk-driven multi-objective evolutionary approach for selecting software requirements

This paper proposes and evaluates a risk-driven systematic approach for the NRP problem, in which a risk analysis is incorporated for estimating the impact of software risks in development cost and customers’ satisfaction.

Modelling and analysing software requirements and architecture decisions under uncertainty

Early requirements engineering and software architectural decisions are critical to the success of software development projects. However, such decisions are confronted with complexities resulting

A Fuzzy-Based Optimization Method for Integrating Value Dependencies into Software Requirement Selection

DARS method with two main components, a fuzzy-based technique for identifying and modeling value dependencies, and an Integer Programming model that takes into account value dependencies in software requirement selection are proposed.

Modeling and Selection of Interdependent Software Requirements Using Fuzzy Graphs

This paper presents a cost-value optimization model that considers the impacts of value-related requirement dependencies on the value of selected requirements (optimal set) and exploited algebraic structure of fuzzy graphs for modeling value- related requirement dependencies and their strengths.

Software Requirements Selection with Incomplete Linguistic Preference Relations

A method is presented for the selection of SRs with incomplete LPRs to address the issue of sometimes decision makers cannot evaluate the SRs due to their lack of knowledge and limited expertise related to the problem domain.

Analyzing Uncertainty in Release Planning: A Method and Experiment for Fixed-Date Release Cycles

Release planning—deciding what features to implement in upcoming releases of a software system—is a critical activity in iterative software development. Many release planning methods exist, but most



Robust next release problem: handling uncertainty during optimization

Surprisingly, it is found that, though a requirement's cost is correlated with inclusion on the Pareto-front, a requirements' expected revenue is not, and the robust optimal solutions obtained are conservative compared to their corresponding optimal solutions produced by traditional Multi-Objective Next Release Problem.

Software release planning: an evolutionary and iterative approach

Decision Support for Product Release Planning Based on Robustness Analysis

The purpose of DECIDERelease is to qualify decision-making by pro-actively exploring the robustness of the operational plans of upcoming releases by applying simulation-based analysis and multi-criteria decision analysis on top of the existing strategic release planning approach EVOLVE*.

Exact scalable sensitivity analysis for the next release problem

An approach to sensitivity analysis based on exact optimization is introduced, which was implemented as a tool, OATSAC, which allowed us to experimentally evaluate the scalability and applicability of Requirements Sensitivity Analysis (RSA).

Uncertainty, risk, and information value in software requirements and architecture

This work presents a systematic method allowing software architects to describe uncertainty about the impact of alternatives on stakeholders' goals; to calculate the consequences of uncertainty through Monte-Carlo simulation; to shortlist candidate architectures based on expected costs, benefits and risks; and to assess the value of obtaining additional information before deciding.

An industrial survey of requirements interdependencies in software product release planning

An in-depth study of the interdependencies within 5 distinct sets of requirements, each including 20 high-priority requirements of 5 distinct products from 5 different companies shows that customer-specific bespoke development and market-driven product development have an emphasis on value-related dependencies.

Search based data sensitivity analysis applied to requirement engineering

This paper uses Search-Based Software Engineering to aid the decision maker to explore sensitivity of the cost estimates of requirements for the Next Release Problem (NRP), and presents both single- and multi-objective formulation of NRP with empirical sensitivity analysis on synthetic and real-world data.

Simulating and optimising design decisions in quantitative goal models

Making decisions among a set of alternative system designs is an essential activity of requirements engineering. It involves evaluating how well each alternative satisfies the stakeholders' goals and