Thursday, December 18, 2008

Tinkering

Around this time of year, things seem to slow down. Or else they speed up. Nobody's around at work, but the ones who are there want their systems running NOW!

This leads to the dreaded schedule pressure. Every five minutes you have an email or a phone call or a personal visit from your favorite customer asking, "are you done yet?" It's like the quintessential child in the back seat of the station wagon on the road trip. No matter how many times they ask, it won't be done quicker. Actually when the customer's harassing you for the LabVIEW code, it's worse than the car ride. They slow you down with their distractions.

In addition to that, there's always this desire to tinker. Whenever faced with important tasks, due ASAP, it is easy to fall into a comfortable trap of tinkering.

So what do I mean when I say, "tinkering"? I mean messing with non-essential code. Straightening, rearranging, questioning stuff that works, and so on. Consider an example:

OK, Alarms and Shutdowns need to be ready yesterday. Better finish up that adaptation of the old code. You know, I always wished it was a little more direct here. And I think that I could improve the readability of that section of logic. Oh, look at that crooked wire and redundant shift register.

All that is tinkering. It doesn't contribute to the deliverable in a way that benefits the customer. But it is so damn tempting! Especially when everyone else is standing around chatting all day about vacations and holidays and stuff, the tinkering is so tempting. It reminds me of college, where I had my engineering finals while all the Sociology majors went to bars and parties night after night.

In college, you could go to the parties and study a little and still get a decent grade sometimes. But in life, you often must put your head down, and take care of business to get it done. And in the end, it isn't as bad as it seems.

In these urgent times, even though the urgency is occasionally artificial, if you're to meet your business objectives, it's best to avoid tinkering and stick to the most important functional features.

1 comment:

Unknown said...

I appreciate you taking the time to correct some of my misconceptions and provide a different perspective.
I will admit that LabVIEW does have some awesome hardware integration and definitely eases deployment.
My post was mainly a outlet for too many hours of frustration trying to get LabVIEW to do things that
I could have accomplished in much less time using a more traditional language.
And while I still prefer text-based languages


labview programming