Know When To Finish

Oftentimes I find one of the most difficult things when working on something, especially design, is knowing when to finish. If you’re a perfectionist then this is especially challenging. Unless you truly love your work then you won’t consider it perfect, and if it’s not perfect then there is still room for improvement, room to make changes. You may even end up scrapping the whole thing and starting again.

This obsessive behavior can be beneficial at times–whatever it is you end up releasing is usually very good–but it can also be extremely dangerous because chances are, you’re not releasing anything at all. Even more dangerous if you decide to scrap all the work you’ve done and start again; all that time down the drain.

So how do you know when to stop, and how do you fight the endless attacks of “perfection” begging for that one more tweak?

The answer is this: know what the end result should look like before you even begin. Not in detail of course, you can’t know that, but in purpose. Each project you embark on should have an end goal–a requirement that can be met, and when it’s met, the project is done. No questions, no doubt–the goal is either met or not, and if not, you can go ahead and take the necessary action to meet it.

Of course this sounds pretty straightforward–isn’t this how we all do our work anyway? Not quite. Resistance lays out a couple of traps along this road that are easy to fall into, resulting in the confusion of not knowing when to stop or what to do next. Resistance then proceeds to masquerade itself as Perfection and will keep you from finishing your work, leaving you tweaking and reworking until your initial energy and inspiration is exhausted. Not good.

So let’s identify the traps.

Trap 1: Vague Goals

Vague goals are very difficult–if not impossible–to meet. For example, here’s an unclear goal: design a template for your new blog. Sounds like a good project goal but it’s actually too vague. How do you know when to stop designing? You don’t. If you don’t, you have to focus it down further until you do.

What are the critical components of a blog template? Is it the decoration and aesthetic? I don’t think so. The critical component is content. For a blog template to be functional you first need to decide on what content you want to display on each blog page (e.g. Do you show comment counters? Do you need RSS subscription links? etc.). You then need to lay these components out. You can do this on a rough sketch.

You’ve now got a blueprint. If you want a more graphical design to go along with this as well, you can sketch this out too. Knowing exactly what content needs to go on each page, how to lay it out and what it should look like gives you enough information to implement the blog template.

The sketch will shift the project goal from “design a blog template” to “implement the sketch”. Sure, you can still play around a lot with the individual details of the design but the goal is much more focused than before and can be broken down into a set of actionable tasks.

Once it’s all there, it’s done. Whether or not it’s great is another matter, what’s really important is that it’s finished and can be shipped. Any project goal that’s too vague can be focused down by thinking clearly through the outcome you want to achieve. If you find yourself unsure about what action to take next on a project, double check the goal–is it clear? If not, redefine.

Trap 2: Thrashing

Another trap is changing your mind in the middle or end of implementation–tweaking the original blueprint. This opens up plenty of new opportunities for Resistance to create vague goals that can’t be met.

Steve McConnell calls this phenomenon trashing. Thrashing is a process that happens at the end of a project where people begin to pitch in new ideas and suggestions, resulting in an endless barrage of changes and tweaks that paralyze progress and ensure the project doesn’t get completed on time.

The solution is to thrash at the very beginning of the project, right when you’re developing the goals and the blueprint. Brainstorm ideas, come up with ways to elevate your work above that of others. Think through all the possibilities and crazy ideas, get it all down. Choose the best and incorporate them into your blueprint. Then implement. Don’t stop implementing until you’re done. If you get new ideas you can jot them down and think about implementing them later, but don’t let them stop you from delivering your work–don’t let them delay the shipping date.

Remember: unfinished projects are worth very little. Unless you finish the work you’ve started nobody is going to see it or use it.

May 2010