Low-Cost, Low-Risk Development  

order the book <<  

contact us <<  


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 Development. It
supports the following aspects of the Six Sigma approach:
  1. Measurable Customer Requirements: IFM formalizes all requirements as MMFs (Minimum Marketable Features).
  2. Data-Backed Decision Making: IFM sequences projects against MMF data to
    create maximum value per unit time.
  3. Voice of the Customer: IFM requires detailed customer involvement in requirements definition and project execution.
  4. Challenging the Status Quo: IFM's iterative nature constantly assess and reassesses the development sequence.
  5. Span Organizational Structures: IFM bridges the world of the developer/architect and the world of the stakeholder/marketdriver.
  6. 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 new projections.

Does IFM make sense in the face of inaccurate and changing projections?
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 investment etc.

Figure 1.  Financial metrics in a software development project

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.