I've recently turned a new leaf to accept the realities of web development, and explored the minimum usable design process. It's been a liberating experience, and I think you should give it a go too.
In fact this very website has been initially released as a minimum usable design. If you're reading this before October 2012, it probably looks pretty bad. But that's OK, because I'm having fun, and as it approaches completion, it's going to be awesome.
The Last 10% is Hard
A design is never finished. Even when you get most of the way done, the bits remaining seem to take forever. The last bits are always much harder than the part you've already completed. The paradox is that the portion of a project remaining to be done has a half life. It exponentially decays, but it's never quite complete.
But it doesn't have to be. If you're willing to accept your fate when you start out, you can find yourself happily moving through the half lives of your project towards a grand vision.
The idea is to implement the absolute minimum usable design, release it, and then get back to it later, whenever the mood strikes you. After a few iterations, I'd venture a guess that the experience of your users will be higher quality (which is the ultimate measure of success) with a lot less total hours spent on implementation, than if you had tried to do the whole thing in one long marathon.
Now, what do you do if your public release is expected to look like there was some real work behind it? How do we sell that to our clients?
Keep in mind that the idea here is to be as minimal as possible during development. I'm not saying you should release junk. A half-assed effort is obvious to users and is not a usable design.
Get something up and working on your local development machine and start using it yourself. You don't have to show the client or the public just yet. As soon as it meets your minimum acceptance level for public appearance, then release it. After you've got a minimum usable design released, I think you'll find that the half lives of the project will go by much quicker, and you'll have more room for the creative thought process required to produce a quality product.
Turning Over a New Leaf
My personal website has been overdue for a makeover. Information architecture, content, design, implementation; all of it needs to be revisited. It was the perfect chance to try out a minimum usable design in the wild. The result of my experiment is a usable design that was implemented and deployed in 3 days. This project would have been collecting dust on my hard drive for months if I had tried to do it the old way.
I have to admit, releasing a minimum usable design and waiting to see where it takes me is a much more fulfilling way to work too.
Besides, have you ever woken up to realize the great idea you had yesterday is now the dumbest thing you're ever seen? Well, if you followed the practice of building only a minimum usable design, you would not have wasted the time to implement it, or to rip it out.
A design is never done, and the goal posts of "completion" are always changing. So, why fight these inevitable qualities of web development? Just make something usable and get it out there so you can be free to make it into something great. Of course your definition of what is "usable" will vary from project to project, but the idea is to be as minimal as possible.
Leaf image by Etrusia UK