2.3 Software Release Planning Decisions
2.3.3 Incremental Funding Method
The Incremental Funding Method (IFM) [70,71] was developed to address the inherent
risk in implementing a monolithic software system in a single development period. The approach advocates incremental delivery of software features in bits in order to deliver early business values to the stakeholders. The advantage IFM has over the other release planning methods, such as the Next Release Problem methods, is that it supports finan- cially informed decision making on projects that are yet to be funded and the flexibility of the approach to dynamic project environments.
According to Denne et al., the IFM is “a financially informed approach to software development, designed to maximize returns through delivering functionality in chunks of customer valued features, carefully sequenced so as to optimize Net Present Value
(NPV)” [71]. The IFM typically breaks down a monolithic software system into smaller
components, known as Minimum Marketable Features (MMF) that can provide market value to customers. The MMFs are assumed to be implementable over a specific period and their development and delivery are sequenced in order to minimise the investment cost to the business, maximise the generation of revenue quickly and hopefully move the projects to a self-funding status.
Figure2.2 illustrates a typical pattern that a successful project that benefited from the application of the IFM should follow. In the IFM parlance, a self funding status describes the situation where an initially funded project starts to generate revenue, which can then be used to develop additional MMFs. Consequently, as more MMFs are developed and rolled out to the market, stakeholders gradually recuperate the initial investment costs. This is called the repayment period. A break even point is reached when the Net Present Value is zero. Beyond this point, stakeholders accrue profit from the software project.
Figure 2.2: Ideal financial pattern of a project that uses the IFM. [71].
The IFM has been tackled traditionally using the IFM heuristic [71] and greedy method
[10]. The IFM heuristic selects the most promising MMF by analysing the whole MMFs
according to the generated revenue in the current and future periods, while the greedy approach to IFM optimises the NPV by selecting the next MMF according to the MMF with the highest NPV in the current development period.
The original IFM model has a few limitations: (i) the IFM optimisation was not solved using any of the state of the art multi-objective optimisation algorithms, such as NS-
GAII [69], SPEAII [289] and IBEA [288]; (ii) it does not handle uncertainty in the
estimation of future cash values in cost and revenue; (iii) the model ignores the fact that competition exist in business environments; (iv) the authors treated the IFM as a single objective optimisation problem, thereby ignoring the fact that real world software engineering problems tend to have multiple and conflicting objectives; (v) the decision model equations use weighted sums of cash flows to compute the NPV of alternative delivery sequences; (vi) there is lack of tool support for automated decision analysis. Modellers have to encode the decision models in general programming language. Although there have been some extensions to the original IFM, these extensions only ad- dressed the first four limitations. Alencar et al. [10] extended the IFM with a statistical approximation approach to obtain approximate delivery sequences that are close to the exact delivery sequence with some level of confidence. In particular, their approach was applied on a large set of interconnected MMFs and architectural elements. Murray et
al. [45] extended the IFM to incorporate uncertainty in the cash flow, and to determine adaptable investment policies, depicted using decision trees. They modelled uncertainty using triangular probability distribution and Monte Carlo Simulation. Eduardo et al.
[63] also extended the IFM to introduce the application of Game Theory in maximising
the financial returns of a software projects in the context of a duopolistic market. Their main contribution was to model the IFM as a strategic game to represent the competition that exist in real world business settings. Oni et al. [194,195] extended the IFM from a single objective optimisation problem to a multi-objective optimisation problem. They considered three objectives, namely: NPV, investment cost and the investment risk, and also represented uncertainty in model parameters using the triangular distribution and Monte Carlo simulation.
So far, there is no improvement of the IFM model with respect to the last two limitations highlighted. However, the modelling language and automated decision analysis tool proposed in this thesis addresses these concerns.
In summary, Section 2.3 described some related work to this thesis on Requirements
prioritisation and release planning which are vital activities in requirements engineering decisions. We reviewed existing quantitative software release planning approaches such as the Cost-Value approach, Next Release Problem model (single objective optimisation approach, multiple objective optimisation approach and uncertainty handling in NRP) and Incremental Funding Method (IFM). These approaches ease their applicability by relying on pre-defined generic equations (generally weighted sums) to assign scores to the objective metric(s), e.g. ’cost’, ’revenue’ and ’value’, for each alternative design. How- ever, such generic equations may not express the actual stakeholders’ goals and may not correctly predict the impacts of alternatives on these goals. In addition, existing software release planning approaches generally lack automated technique for analysing uncertainty and informing decision makers about the financial value of reducing uncer- tainty in a decision model.