09 December 2009

Increments

I've been hearing a lot about the proverbial "70% solution" lately. It's usually in the context of having to chose between "a system that delivers a 70% solution and a system that provides a 100% solution." But let's take a look at what we're really talking about here.

It turns out, we're not choosing between a partial and a complete solution. It's actually a choice between a partial solution and no solution at all. And to be even more precise, we're choosing between a series of partial solutions and no solution.

Here's how it works. A developer can't give you everything you need right now. But they might be able to quickly deliver a system that does SOME of what you need... followed by an additional increment / block / spiral / release that does MORE of what you need... followed by another increment, and so on.

So let's keep in mind that the partial, 70% solution isn't the whole story. It's just the first increment. As a dedicated imperfectionist, I'm pretty cool with the 70% solution to start with. And as a guy-in-a-hurry, that's at least partly because the 70% solution is generally available MUCH faster than the 100% solution. It's cheaper too. But if you do it right, it's also not the end of the story.

No comments: