Does Quality Software Code Really Matter?

Taking steps to prevent bugs and unnecessary code complexity can sidestep tomorrow's maintenance headache. Why is it such a low priority?
Posted September 14, 2009

Eric Spiegel

Eric Spiegel

(Page 1 of 2)

This is a waste of time.”

Our most senior programmer, Trey, was glaring at me across the conference room table, with a trace of desperation in his voice. I was explaining to our team that we were going to start doing peer reviews of code and unit testing results before they could submit their work for quality assurance testing.

Trey was expressing his displeasure with this decision, stating that if his code worked, then why should anyone care about what is under the hood?

This conversation took place a few years ago, but it still sticks in my memory because I’m a stickler for following standards and for well documented code. Having inherited poorly written code, I can empathize with the programmers who have to deal with crappy legacy code.

And guess what, even if it works, it can still be crappy. That’s because if something changes in the environment to cause that code to stop working or there are enhancements needed, some poor sap will have to figure out what planet the initial coder was on.

So I started to wonder what software is available to automate the process of writing more efficient code that reduces testing time and overall maintenance costs. Such software does exist, so the real question is: why hasn’t it become more prevalent?

Agitar Software came to mind because they plowed through over $30 million in venture investments. According to their web site -- which is still operational, although their assets were purchased by McCabe -- their Agitator product “helps developers understand the behavior of their code as they write it.”

The idea is to help prevent bugs and unnecessary code complexity that can become tomorrow's maintenance headache.

Sounds good to me! And there are many other software firms with similar products on the market like Cast Software and Codign.

But I had to do many variations of Google searches on “software quality tools” to even find a few decent examples. Noticeably absent were the usual slew of Google adwords. I did find a decent blog by Andrew Glover that had a major focus on this topic, but otherwise it was slim pickings.

So why isn’t there more of a market for measuring and improving the quality of code?

From a developer’s perspective, you want to get the job done in the expected timeframe. Of course you don’t want your code to blow up in testing. But how important is the quality and maintainability of the code?

Let’s face it; these metrics aren’t high on the list of today’s overburdened developer. That is – unless it is made a priority by management.

If a developer knows that their annual reviews will take into consideration the quality of code based on standards set by management, then just delivering software that works isn’t going to be in the developer’s best interest.

Throw in peer reviews and peer pressure becomes a good thing.

Before you upstanding, accountable developers start huffing and puffing, let me state that of course many developers take pride in the quality of their work without any outside influence. If you put your name on a module there is some consideration of getting your reputation tarnished by shoddy work.

But put that same developer under the intense pressure of a tight deadline and in short order they just aren’t thinking that far down the road.

From management’s perspective, they too will operate based on what is important in the company culture, what will advance their career and what will put more cash in their pocket. If you’re lucky enough to work for high quality company, then management will also care about what makes the software shine over time.

The fact is that if developers are incented to deliver code on time with no regard for overall quality of standards, then that is exactly what will happen. Code is delivered on time, passes quality assurance testing and seems to work just fine in production. Everything is hunky dory.

Or is it?

As soon as that software needs to change or the software it is integrated with changes, all of a sudden problems arise. The original developer may not even be with the company any more, thus a new developer has to deal with spaghetti code.

Next Page: the dreaded "standards" word

Page 1 of 2

1 2
Next Page

Tags: developer, software, programmers, voice

0 Comments (click to add your comment)
Comment and Contribute


(Maximum characters: 1200). You have characters left.