Frequently Asked Questions
What is IFM?
IFM is the Incremental Funding Method - an
approach to quantifying the financial benefits of individual features of
a software development project and optimizing the delivery sequence for
maximum financial impact.
Is IFM yet another software methodology?
No. IFM is however designed to bolt-on to the
leading incremental methodologies such as RUP or Agile/XP. IFM enhances
those methodologies by introducing financial discipline into the choice
of stories or use cases.
Is IFM compatible with Six Sigma?
Yes. IFM offers a coherent approach to Sigma-based Software
supports the following aspects of the Six Sigma approach:
- Measurable Customer Requirements: IFM formalizes
all requirements as MMFs (Minimum Marketable Features).
- Data-Backed Decision Making: IFM sequences
projects against MMF data to
create maximum value per unit time.
- Voice of the Customer: IFM requires detailed
customer involvement in requirements definition and project
- Challenging the Status Quo: IFM's iterative
nature constantly assess and reassesses the development sequence.
- Span Organizational Structures: IFM bridges the
world of the developer/architect and the world of the stakeholder/marketdriver.
- Continuously Measurable Progress: IFM, through
its granular MMF model, allows progress to be measured and
quantified on a per-feature basis.
Why does IFM emphasize NPV (Net Present Value)
instead of ROI (Return on Investment)?
A fundamental premise of IFM is that it treats software development as a
value creation exercise. The most effective way to quantify that value
is to measure the cash flow generated from the value creation exercise.
This is best summarized using Discounted Cash Flow techniques to create
a Net Present Value for the proposed development sequence. Return on
Investment models for software development have become increasingly
discredited because justifying software development on ROI
considerations alone often results in an impractical investment model
and fails to take into account the critical value of cash flow during
the development period.
Is it possible to make sufficiently accurate
projections to support IFM?
IFM works best when projections are as accurate as possible. However,
IFM is designed to respond to changing projections and newly
identified risks. Early projections of costs and revenues are used to
guide early decisions. These decisions are then revisited at each
iteration, and the IFM sequencing strategy is updated to reflect the
Does IFM make sense in the face of inaccurate and
A resounding yes! We use the most reliable information we have on hand
to make current decisions. Later, if projections are changed - either
due to flawed logic in our original projections, or due to real
changes in the market, then our sequencing plans are adjusted
accordingly. Incremental delivery offers opportunities for early
revenue generation, while IFM identifies the optimal delivery sequence
based upon the currently available projections.
Is IFM only good for optimizing NPV?
No. IFM is a financially-informed approached
to software development, not a financially-determined approach. IFM
defaults to optimizing NPV, but IFM provides project stakeholders with
inputs that enable them to make well-informed decisions based on other
factors such as the time to self-funding status, minimizing overall
Figure 1. Financial metrics in a software
What is the IFM heuristic?
There is no algorithmic solution to maximizing
the NPV of a software development project with multiple features. The
problem is a category that mathematicians call NP-Complete. The only
way to find the optimum sequence is to calculate the NPV of all feasible
sequences and choose the best one. For all but the simplest projects,
this is not computationally feasible in finite time. The IFM heuristic
provides a way to quickly identify a near-optimal sequence without
resorting to unfeasible computational overhead.
What is an MMF and why is it important?
An MMF, or minimal marketable feature, is the
fundamental measure of software value employed by IFM. MMFs are discrete
units of value creation mapped to specific software features. They are
the basic elements of an IFM development sequence along with
Architectural Elements (AEs).
What is the difference between NPV and SANPV
(Sequence Adjusted Net Present Value)?
The IFM heuristic, in order to select the development sequence with
near-optimal NPV, assigns quantities called SANPVs to each MMF. A set of
SANPVs is calculated for each MMF, representing the contribution to the
overall project NPV caused by commencing that MMF at a specific time
point after the start of the project. The IFM heuristic sequences the
project by reference to the SANPV sets for each MMF.