Optimizing the Incremental Delivery of Software Features Under Uncertainty

  title={Optimizing the Incremental Delivery of Software Features Under Uncertainty},
  author={Olawole Oni and Emmanuel Letier},
[Context] Lean and agile software development processes encourage delivering software in small increments so as to generate early business value, be able to adapt to changes, and reduce risks. Deciding what to build in each iteration is an important requirements engineering activity. The Incremental Funding Method IFM partly supports such decisions by identifying sequences of features delivery that optimize Net Present Value NPV. [Problem] The IFM, however, does not deal explicitly with… 

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

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

Data Driven Requirements Engineering: Implications for the Community

  • Maleknaz Nayebi
  • Business, Computer Science
    2018 IEEE 26th International Requirements Engineering Conference (RE)
  • 2018
The objectives, structure, and panelists of the data driven requirements engineering panel are outlined, intended to address challenges and opportunities that requirements engineering researchers face in accessing data.



Quantitative studies in software release planning under risk and resource constraints

  • G. RuheD. Greer
  • Computer Science
    2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings.
  • 2003
A method called EVOLVE+, based on a genetic algorithm and aimed at the evolutionary planning of incremental software development, which is initially evaluated using a sample project and involves an investigation of the tradeoff relationship between risk and the overall benefit.

Software release planning: an evolutionary and iterative approach

The incremental funding method: data-driven software development

The incremental funding method is a financially informed approach to software development that maximizes returns by delivering functionality in "chunks" of customer-valued features, carefully sequenced to optimize the project's net present value (NPV).

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.

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

Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise

The author draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development to produce something that works better than any one in isolation.

Generating software-project investment policies in an uncertain environment

This paper presents a method for the identification of an investment policy that allows managers to make better decisions during the execution of projects with managerial flexibility. Moreover, it

Understanding clusters of optimal solutions in multi-objective decision problems

The goal is to help decision makers identify groups of strongly related solutions in a Pareto front so that they can understand more easily the range of design choices, identify areas where strongly different solutions achieve similar levels of objectives, and decide first between major groups of solutions before deciding for a particular variant within the chosen group.

Search Based Software Engineering

This keynote address surveys recent success and momentum in the subfield of automated program repair and argues for the importance of human studies in automated software engineering and challenges the SBSE community to facilitate reproducible research and scientific advancement through benchmark creation.

Quantifying the value of architecture design decisions: lessons from the field

The CBAM (Cost Benefit Analysis Method) framework applied to estimate the value of architectural strategies in a NASA project, the ECS is described.