Can Software Improve Over Time Through Refactoring?

As you know, the practice of refactoring is to account for software changing over time–presumably improving. Is that a myth? To some degree, I wager yes. Here’s why… and it’s not what you think.

Over the last few weeks, I’ve been involved in a fire drill to improve the reliability of enterprise messaging (via JMS) for a set of messages that transmit financial-related data within the organization I currently work. Said enterprise messaging library is approximately six years old and has had many features (as you can imagine) added to it over the years.

Upon initial inspection, it is quite clear that there is a significant amount of “Copy-n-Paste” coding involved in creating the additional features. Clue 1: Copy, paste, mutate does not constitute refactoring! Where’s the craftsmanship in that? Software quality, reliability, and readability degrades over time because software developers often just don’t give a damn. They lack pride, care, and craftsmanship. It’s as hard to find a good software person as it is to find a good doctor, mechanic, etc. Is that the company’s fault?

OK venting aside, I maintain software truly can improve over time. But as with anything (e.g. relationships, gardens, food, coffee), software requires tending. Software is never done so we need to be dilligent and deliberate with our changes. Companies need to account for total cost of ownership and allow time for refactoring to occur during the introduction of new features. Of course, that implies software developers have the inclination and skills to improve the software over time.

Positioning, Branding and the Demise of the American Automobile

As I drove to work this morning, I saw a black Pontiac Solstice on the highway. Nice car! The convertible top was up due to the temperature here in Denver this morning. Then directly in front of it, I saw a Lincoln LT pickup truck, which got me to thinking about the demise of the American automobile manufacturers. First of all, I thought, “Duh!” My grandfather said many times that he was waiting for the day when they’d make a Cadillac pickup. Too bad he wasn’t around to see it. But my point is that he only said it because it was completely ridiculous. Caddilac and pickup don’t mix. Cadillac means “big, luxury car.”

So what’s the difference between Cadillac, Pontiac, Oldsmobile, Chevrolet, and GMC? What are the differentiating factors in deciding to buy a Lincoln, Mazda, or Jaguar over a Ford? Or for that matter, why would you buy a Passat over an Audi A4 (or visa versa)? And who ever thought Porsche meant “high performance SUV”????! Now we know why Porsche profits have been suffering over the last few years. And if the Cayanne has improved them, it’s short lived.

Back to that Solstice… Pontiac’s tag line has been in recent years, “We build excitement.” Cool. I say go with it! And that Solstice looked pretty exciting. I see that on their website, they’ve chosen, “Pontiac is car.” But they also build SUVs. Hmm… something to think about.

Pretty Exciting Looking... The Pontiac Solstice
Pretty Exciting Looking... The Pontiac Solstice

The foreign auto makers have done significantly better in branding and positioning, me thinks. While Toyota does build cars, trucks and SUVs (which, IMHO is a mistake to brand them the same), they have somehow managed to hold the position of “dependable,” “long lasting” or “quality” vehicles. So, now people are willing to pay a premium price for their foreign-made automobile in hopes of getting more “value” out of it in the long run.

American auto makers wake up! Stop creating the cross-over confusion, utilize our American enginuity and resourcefulness to build a better product, and differentiate your brands! Long live the Solstice!

How is Spamming Beneficial?

I was just visiting the Portland Pattern Repository Wiki, which I read regularly but don’t contribute that often. Anyway, I made an attempt to update a page that I had contributed to before to find that security has now been enforced on the wiki to avoid spammers and denial of service attacks.

Question for you… what do spammers gain by posting to a technology wiki–or any wiki or blog for that matter? Do people actually buy what they are selling from postings like that? Do they garner a good-enough reputation from spamming to gain name recognition and a constant stream of orders for their products? Same question for email spammers… do people actually buy that stuff? My wife, BTW, has no need for penal enlargement products, yet she gets a steady stream of “quality” offers for them.

Perhaps the masses are more stupid than I thought. Oh well, those spammers keep me in business implementing better and better information security systems and policies for my clients.

What are your thoughts?

“Outta Shape Boy” Prepares for “Standard Commute to Work”

Having been contracting out of town for the last couple of years, I’ve been a cycling slacker. I think “couch potato” is a more accurate term. That being said, today was my fifth day commuting to work this Colorado summer. Because I’m so out of shape (translates: slow), it’s easy to be distracted by the sunny, 68 degree morning with a cool breeze running beside the Platte River. And with 90+% of my commute on dedicated bike path and trails, I don’t have to concern myself with automobile traffic very much.

I missed my biking buddy today, even though he normally makes good on his attempt to “rip my legs off.” Perhaps tomorrow. And as my body gets reacquainted with the prospect of cycling, my breathing is getting more efficient, my knees are waking up and, hopefully soon, I’ll be ready for my “standard commute to work.”

Improving Business from the “Bottom” Up

OK, I’m chapped. Both literally and figuratively. I’m continuously amused at how businesses refuse to take care of their “bottom” line by skimping on toilet paper quality! Let’s face it, most facilities management departments mistake 80 grit to mean “higher quality” or something… I think my current company went “all out” for its employees and ponied up for only 100 grit and I’ve certainly worked at places were 60 grit was the norm. But c’mon! Do they think if they provide “real” TP that we’ll stock up and take some home? Maybe it’s to discourage rest room breaks. Or is it just a money decision–buying the cheapest thing that could possibly work?

Hmm… what are the financial ramifications of all employees running around with a constant rash? I wager there would be less distraction, higher satisfaction levels, longer hours worked, and increased loyalty just from a simple toilet paper upgrade.

What do you think?