Dmitry is the founder of a new blog on usability and design called Usability Post. Dmitry is obsessed with usability and enjoys making clear and simple user interfaces without sacrificing aesthetics and style. Dmitry has posted 1 posts at DZone. View Full User Profile

Fighting Perfection

  • submit to reddit

If you’re like me, you probably often find yourself never fully satisfied with your work — always making tweaks and changes, always finding things you don’t quite like and reworking them. This applies to a lot of creative endeavors — perhaps you’re working on an article for your blog, putting together a report or writing an important email.

The thing is, even after making changes, there are still things you can tweak, things which aren’t quite perfect yet.

This of course is good, you’re setting yourself a high standard. If you’re not satisfied with your work then why should your visitors or customers? 

Perfection is a good thing to strive for

The two most important tools an architect has are the eraser in the drawing room and the sledge hammer on the construction site.     Frank Lloyd Wright

Steve Jobs wasn’t satisfied with the first version of the iPhone. He made a difficult decision to scrap the first design because he didn’t love it; he felt this wasn’t the best Apple could do. This caused a lot of problems for the development team as they had to put together a completely new design in a very short timeframe.

The new version turned out a success, and had he not made this difficult call, the iPhone would unlikely to have made as big a mark on the phone industry as it has, thanks in part to its iconic design.


Perfection is difficult and time consuming

Perfection can be dangerous and misguiding. When is something good enough? When can you go ahead and release that new version of your app or publish your new article? Perfection is too high a target because it’s just too hard and time consuming to achieve.

If you fall slave to perfection you’ll find all your time depleted. You’ll be making tweaks after changes and changes after tweaks — things just won’t get done on time.

How do you fight perfection?

Consider priorities — what are the things that really matter? Something like an iPhone is a critical product for a very large company; if you mess it up, it can cause serious damage. Getting this product right is vital. Setting a very high standard would be a pretty good idea here.

What about much smaller things like the design of your blog? In the end, it usually doesn’t matter all that much, unless this blog is your primary business. Simplicity is your ally here. Simple things are difficult to mess up, so create something simple and gets the job done.

Your most precious resource is your time. To fight perfection you must prioritize time and focus on the things that matter. If you keep working on and reworking things that aren’t all that important then those things won’t get done. 

Getting things done

Done. Start to think of it as a magical word. When you get to done it means something’s been accomplished. A decision has been made and you can move on. Done means you’re building momentum.     37signals, Getting Real

Execution is much more important than ideas. Getting something released that’s good enough is better than working on something perfect and never finishing it. Don’t seek perfection in everything you do — reserve it for the things that really matter. Tame perfection — get everything else done faster and use the time you save on your most important projects.

Published at DZone with permission of its author, Dmitry Fadeyev.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Schalk Neethling replied on Wed, 2008/10/15 - 3:23pm

I complete agree with you Dmitry. I am working on a new website and really wanted to get something out there quickly and then improve on it as people started using it. Yeah sure, get it out quickly....

Even as the first release would clearly be labeled as a BETA version I still found myself nit picking about this and that and the other thing. In the end I just had to set a date, announce it to the 'world' and then release whatever was ready at that point.

It was hard to do for me but I really learnt something from it. Most of the time what, after weeks of work, seems like good enough to you might already be very usable and useful to others.

Casper Bang replied on Thu, 2008/10/16 - 5:37am

It's tricky, one mans gold plating might be another mans refactoring.

Perfection is easy to put into the "unnessesary" category, while we shouldn't overengineer everything, the truth is somewhat more nuanced. Good code is usually more resiliant to change and can limit the amount of hacks that inevitably slips in. We may think "Ahh can always go back in and change that" but of course that never really happens.

There's also the professional and motivational aspect too, the minute I'm not allowed to write the best possible solution to a problem, I'll find another employer who IS capable of thinking more than one day ahead.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.