So, according to the National Institute of Standards and Technology, we're still writing buggy software, are we? Well, it doesn't surprise me.
But before I tell you why, I'll summarise what I'm about to say in just a few words - it's all your fault!" Surprised? Well, here's the long version.
We - the developers - know that these days you expect bugs. So why should we disappoint you? After all, eradicating bugs takes us a lot of effort, and, if you expect them, well, why should we bother?
Almost all PC software - about 99.99% - is shipped with known bugs . The other .01% has bugs that we don't know about, but the end-users will find them for us.
We also know that you've no alternative but to grin and bear it. Are you really going to uninstall our software and then spend your precious time finding a competing package -all because of a few bugs? No, of course not. For one thing, as we know that you'll know that the other package will have bugs too, we know your philosophy is "oh well, better the devil you know".
However, it's not just because you expect them that we put them in there for you to find - it's because you should be careful what you wish for!
Where do these bugs come from? Well, long gone are the days when simple, small and basic got you excited and made us any money. These days, our software wins because of its features . And it's like this because you want features.
How many of these features you'll use is unimportant - in reality, you'll use very few - the fact that they are there gives you a warm feeling, and you'll almost certainly buy feature-rich software over basic. You see, we also know about human nature.
Meanwhile, our marketers keep coming up with new features and insist we add them to our next release, because they think that's what you want. This complicates the software, and usually requires us to alter the code base in some way.
In other words, the code upon which the upcoming release is based is shifting-sand - not something we should probably be building on. However, we've no choice if we don't want to go out of business - you want your software, and we have a deadline to work to.
So, here's the bottom line - we give you what you ask for - a buggy version we have no time or interest in fixing. We know that you're more than happy to be told "oh, that'll be fixed/improved/enhanced/cured [delete as required] in the next release'.
We also know that your response to that will be, 'OK, thanks. I'll wait [and happily pay] for the upgrade, then."
So, until you demand stability over new toys, we're not going to change.
What's your view?
Would you forfeit features for bug-free software? Tell us in an e-mail >> CW360.com reserves the right to edit and publish answers on the Web site. Please state if your answer is not for publication.
Peet Morris has been a software developer since the 1970s. He is a D.Phil (PhD) student at Oxford University, where he's researching Software Engineering, Computational Linguistics and Computer Science.