This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
We actually have a whole chapter on this! An MMF is atually a group of stories. To apply IFM within an agile process such as XP, you would write your user stories as normal, but then you would group your user stories into MMFs. The reason we do this is because we recognize that although it can be useful to release user stories to the customer, it is frequently true that it takes a group of user stories to deliver sufficient functionality in order to actually start generating revenue. We want to ensure that the customer identifies those stories as a group, so that the entire group (ie the MMF) can be delivered prior to a product level release. Within the iterations of that product level release you can still select stories to develop in any order. What we want to avoid is picking 95% of the stories prior to the product level release, but missing the opportunity to start generating revenue because we missed those 5% remaining stories. IFM really makes sense from an agile perspective because it provides insight into the financial impact of selecting user stories.
Jane Cleland-Huang PhD<br />DePaul University<br />firstname.lastname@example.org<br /><a href="http://facweb.cs.depaul.edu/jhuang" target="_blank" rel="nofollow">http://facweb.cs.depaul.edu/jhuang</a>
XP talks about the user creating user stories and saying to the dev team "do these first, they are the most important". Does your approach provide guidance to the customer on picking stories or a group of stories that will generate revenue (the most important ones?) or is there some feedback that shows they picked right/wrong? XP has the concept of project velocity and using it to determine the amount of work per iteration. Is there something similar in your approach?
The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
Originally posted by Ernest Friedman-Hill: An MMF sound a lot like an XP story
Yes, that was my thought, too.
but with more heavyweight planning and scheduling. Comment?
Where do you get this from? After all, in XP the Customer is supposed to be able to prioritize a Story based on its value (and cost). XP doesn't say a word about how the Customer gets to know the value, though. From the little I have read until now, it seems to me as if Software By Numbers would combine with XP very well.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
author and iconoclast
[...] apply the Incremental Funding Method (IFM) in order to optimize the value of the project through carefully sequencing MMFs. IFM also provides insight into other important financial metrics such as initial funding investments, time to reach self-funding and/or break even status, and the total value of the project measured in terms of its Net Present Value.
"Applying the IFM" sounds to me like "more heavyweight planning and scheduling" compared to just sorting cards according to intuition. It's a more formal methodology for card-sorting, if you will. I didn't really mean "heavyweight" to be negative here. It's just that it sounds like it requires more process than just asking the customer to sort the cards.
Joined: Jul 11, 2001
Originally posted by Ernest Friedman-Hill: "Applying the IFM" sounds to me like "more heavyweight planning and scheduling" compared to just sorting cards according to intuition. It's a more formal methodology for card-sorting, if you will. I didn't really mean "heavyweight" to be negative here. It's just that it sounds like it requires more process than just asking the customer to sort the cards.
Ah, but XP doesn't ask the Customer to sort the cards "by intuition", but by value. How he does know the value of the cards is outside the scope of XP. I think this is where IFM might come into play. IFM also seems to try to answer the question "should I even start/continue this project?" Again, this is a question that needs to be answered, but where XP has little advice to offer. To me it sounds as if XP and IFM/MMF are mostly orthogonal, but would play very well together. [ April 27, 2004: Message edited by: Ilja Preuss ]
author and iconoclast
To me it sounds as if XP and IFM/MMF are mostly orthogonal, but would play very well together.
No argument there. Sounds like something to learn more about.
Joined: Feb 28, 2004
Well I really agree with these thoughts. We don't see IFM as conflicting with or attempting to replace XP. We see it as something that can enhance XP - simply by providing more information to the customer as they select user stories to be developed. I wouldn't call it a heavier weight approach - when applied in the agile environment. It simply provides information to help the customer make better decisions from a financial perspective, and to understand the impact of those decisions.
Joined: Jul 11, 2001
Originally posted by Ernest Friedman-Hill: Sounds like something to learn more about.
To John Wetherbie's point, IFM provides the analysis necessary to provide a "financially informed" answer to the question "what should I do first"? One need not follow IFM's advice of course (clearly, there is always the flexibility to do "A" first even if doing "B" first is what the IFM heuristic recommends), but if one does decide to do "A" first, the financial impact of that decision is visible and quantified when IFM is applied.
Author - Software By Numbers<br /><a href="http://www.softwarebynumbers.org" target="_blank" rel="nofollow">http://www.softwarebynumbers.org</a>
From the little I have read until now, it seems to me as if Software By Numbers would combine with XP very well. I think so, too, even though IFM had originally been conceived as an add-on to RUP and they finally noticed that it could be applied to any iterative process, such as XP and others.