MMFs: What they are and why they matter
Suppose you have a headache. A bad headache. “I’ll take Tylenol to make it go away,” you think. So, you grab the Tylenol bottle and see that the directions indicate taking two pills. Would you take 20 pills in an attempt to make your headache go away 10 times faster?
Of course not. You know that drugs have side effects. And sometimes those side effects are worse than the original problem. That large dose of Tylenol might make your headache go away, but it’s also likely to cause your liver to stop working.
In medicine, there’s this idea of the minimum effective dose (MED) for a drug or other intervention. The MED is the smallest amount that will produce the desired effect. Because of side effects, we want to keep the intervention as small as it can be.
It’s the same in product development. Big releases have side effects. Among others:
- Delayed value
- Opportunity cost
- Decreased feedback
- Increased likelihood of going in the wrong direction
We want to deliver the smallest change that will produce the desired impact. We can call that change a minimum marketable feature or MMF.
The authors of Software By Numbers write, “MMFs are units of software value creation. They represent components of intrinsic marketable value…[Thus,] if software is to be built to optimize value creation, it’s important to identify and select MMFs very carefully.” (p. 5-6)
These days, most agile software teams work in user stories, small changes in system behavior described from the perspective of a user. User stories can be great for keeping work items small and focused on what users care about. But if you make stories small enough, they tend not to be valuable enough to ship on their own. Stories need to be accumulated into something larger that indicates when you have enough value to ship. MMFs do that job nicely.
Many teams group stories into epics or themes. While this is useful to provide context for a story, these larger thematic groupings don’t focus on producing just enough of a business impact to ship, so they can’t be prioritized and delivered in sequence the way MMFs can.
To maximize your impact and reduce your side effects, organize your work into MMFs and deliver them one at a time. As MMFs approach the top of your backlog, slice the MMFs into user stories and complete those stories one or two at a time.