Compress Perfection
Updated Monday, March 29, 2010
Have you seen a bondo-ed car on the road? The type of car that you KNOW will never be finished properly because the owner just got tired of looking at the thing? It’s in all of us to some degree. At least I covered my bondo work with duct tape!
The same thing happens with software, yards, reorganization efforts, anything that requires plodding effort. You start the first layer, do it thoroughly and move on to the next. That one isn’t so fun of course. The excitement is gone and you are not terribly certain how it will turn out any way. The third and fourth step…ehhh, forget it.
The problem here isn’t the desire for perfection, it’s the scale of perfection. Want to get it all done, packaged, polished delivered all at once? That’s fine as long as your are in the widget industry. For larger scale projects the best thing you can do is throw out your dream of a perfect end-game demonstration and embrace very small units of delivered perfection.
What’s better? Three features that are 80% complete or one that’s shippable? In the world of accurate custom delivery, the later. If the client (or manager) gets to demo a feature, you get immediate feedback. Say you take three times as long and all your features are done (three in total) and client wants to make changes? You know they will want to! That leads to a much larger overhaul, and a possible rewrite.
Here is a guiding principle: Always Be Closing
Take the task, get it done, and get it perfect after it’s working. Take the issue and do minimal clean work to get it done soon. Close close close! There are two benefits experienced when embracing this:
- You get to use the solution now rather than later.
- A solution that works good is much better than one will work later.
- You get feedback
- It’s very possible that your perfect solution isn’t even what people are looking for. Better find out sooner than later.
So perfection is slightly refined here. It’s the same thing, but on a differ scale. Think in terms of small perfect units that eventually build a much larger, more perfect one….later. You can make perfect results, later. Even if the project is mammoth the same principles apply. Deliver mockups, documents, models, etcetera in small thoughtful pieces. It’s the same effort or less in the end, but more accurate results.
This is one of the tenants of Agile development. The most important in my opinion. To use the words of George S. Patton:
“A good plan violently executed today is far and away better than a perfect plan tomorrow.”
About the author. I'm Adam Temple. After a degree in religion I ended up in the business world and just love it. Sermonspice.com was my first big splash as it's now a multi-million dollar company (which I love saying!). Bixly.com is the next notable effort. Expert programming seriously low prices. It came about as a last ditch effort to avoid working security detail. Bixly reminds me of adolescence: thriving with health and potential, but still learning.
