Wednesday, April 6, 2016

Perfect Code is Bad Code

Today I'm speaking about programming.  Yesterday, I made a concession that I find myself making more and more lately.  I fixed code { programming } that was working, but wasn't perfect.  This originated from adding a feature that wasn't necessary, but another programmer asked for it.  Upon review, the change I made introduced more less-than-perfect functionality.  This required more rework.

Why is this 'bad'?  Because perfect is a state not worth attaining.  It costs time, money, momentum, energy.  And frankly speaking, perfect isn't attainable.  Not for a human being, anyway.  Perfect and personal opinion do not work.  Period.  Someone is always going to find a better way, a cleaner way, a faster way.  But at what cost?  Isn't the idea to give someone something that works and provides them value, all the while being a good steward of their trust, money and time?

I'm not saying don't do a good job.  If you're in the business you're in and are successful, then you must be competent.  What I'm saying is be mindful of what is important to the customer.  A functional product that provides a customer value.  They don't want perfect... no one wants something perfect.