My dad and I came up with a good way to estimate cost at the MMF level. Obviously, we were drinking at the time.
As I’m sure you’re aware, I rail against estimation as being waste. I still believe that there are far better options, especially if you want to predict what is likely to happen months out on your roadmap. However, if you really don’t want to leave behind your warm, fuzzy estimates, I present to you the following warmer, fuzzier way to make them.
Drunken estimation assumes that it is better estimate complexity and scope than to attempt to estimate time. Basically, you only spend time dealing with complexity and scope. Complexity generally comes from one of these sources:
- You have to figure something out. There’s a problem that will require some puzzle solving, creativity, or just talking with a whole bunch of people.
- You have to deal with some crap code. Thus, you’ll either need to spend a lot of time on drudgery, or you’ll need to do a chunk of refactoring. The refactoring probably falls into the first case, and either way you’re going to change a lot of call sites.
- You have to deal with some crap environment (eg, doing your UI in HTML & JS, rather than being able to use real UI tools).
Fortunately, all of these problems can be solved through the suitable application of alcohol!
Thus, drunken estimation. You estimate how drunk you’ll have to be to make it through this task. That will correlate strongly to schedule.
- Talking with a bunch of people is best done at a bar. So you’ll consume one beer for each bar-sized crowd of people you need to talk with. You’ll also drink one with each individual person that you can’t get to join everyone else in the bar.
- Crap code requires a beer just to look at it. It requires another beer to either fix it or to slather on yet another bunch of duplication.
- Crappy environments require a beer, nursed carefully throughout the duration of the task.
- Puzzle solving and creativity requires beer, and usually a bunch of conversation with your team. So, estimate: is this a one-beer problem? Will it take two beers? Will it take a whole evening, along with the consumption of a six-pack?
Now, look at all the alcohol you’re going to be consuming. If it’s more than a six-pack, you’re going to be blotto – too blotto to really complete the task. Thus, anything above a six beer problem is categorized as a fifth of whisky.
Now a fifth of whisky problem cannot be taken on in one chunk. That way lies trips to the hospital. The only solution is to divide the problem into parts, split those parts among your loving teammates, and bring it within your tolerance levels.
Unfortunately, there are problems that are even bigger than that. Some problems can’t be solved with alcohol at all. You’d need hard drugs: LSD, peyote, cocaine, or the like. Breaking the problem down would just mean your entire team is on crack.
For hard drugs, the answer is simple: just say no! Find a way to never do that task. Better yet, find a way to convince your competition that they need to do it. I call this “spiking the competition.”
In summary, to estimate an MMF (or perhaps a story):
- Estimate how drunk you’d hae to be to make it through this or to figure this one out. Zero beers? One beer? Two? Up to six. If it’s more than six, then would a fifth of whisky sufffice? Or would this one take hard drugs?
- If it’s just beers, that’s your estimate. 0 is a perfecty valid estimate. It usually means the solution is boring and well-localized.
- If it requires whisky, break it down and make sure the whole team partakes. Keep going until you’ve reduced it to beer problems.
- Just say no to hard drugs!