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.