The Perfect is the Enemy of the Good (Again)

I wrote an editorial for SSC back on January 19th about the perfect being the enemy of the good. It’s hard thing to explain well, yet it’s worth explaining (and learning). The comments that followed were interesting and worth reading as well, and I think reflect the challenges of our profession in that it’s just damned hard to know when something is worth more time.

Doing too much or too little can each waste money, and I’ve done both – more than once. But after a few years of doing both, if I’m not sure, I’ll do less. Not out of laziness, because my tendency is to handle all the edge cases cleanly. No, it’s because I can always do more (and often quickly as the need is seen), but I can’t get back time invested.

Where I make these compromises varies. Sometimes it’s holding off on a feature, sometimes it’s running a query instead of building a report or an admin page, and sometimes it’s just doing something vanilla instead of banana chocolate strawberry on top sundae. Often it’s based on skills and confidence, often it’s based on time, and always thinking if I need to do more, am I doing anything that really prevents me from doing it. All of this without doing things that I consider intrinsically bad…like GOTO!

Time to market/solution isn’t the only consideration, but it’s often the most visible. I try to teach managers to look for good/better/best solutions, and then try to understand the points that differentiate them. As an employee I’ll just say that if you have the ability to offer options and get things done faster (without GOTO), you’ll never lack for employment.

Business isn’t about coding and database purity, and probably never will be. I’ve seen a lot of really ugly solutions make businesses a lot of money, and a lot of technically elegant solutions do just the opposite. Elegance is good, but no guarantee of profitability.

In our business you’ll often hear consultants saying things to the effect that they like companies that take shortcuts, don’t know how to index and maintain, etc. Usually with a certain amount of sarcasm and glee. Yet, as a business guy, if I’m at the point where it costs me a week or two of high dollar time to fix it, it means I’m winning, and about to win more when the ‘expert’ lends me his expertise for a few days.

Thinking I may still need one more try at this one.