Apr 23

Low Quality Code == Cheaper Code?

As discussed by Uncle Bob

Is it true that an expensive handbag is better quality than a cheap handbag?

Is it true that $150/bottle wine is always superior to $20/bottle wine?


Is a “Ruth’s Chris Steak” clearly better than a Waffle House steak?   Yes?  Then why does Waffle House sell so many more steaks?


Software quality is not always a function of price.  Bob provides a number of good points about how to improve quality without increased cost, but there’s the other side of the equation – sometimes people are willing to accept lower quality (steak, for instance) at a lower price.  

If the generally agreed-upon “acceptable level of quality” is unacceptable to you, it’s because you’re a snob.  I should know – I’m one myself.  There are game companies I refuse to buy software from, because their games are buggy and/or hard to use.  I have delayed in buying some productivity software for several releases because I was disappointed with the behavior in the early releases.  That’s income that the software vendor did not get, because of the poor quality of their software.

There’s an equilibrium there – if the quality of software drops enough, people will vote with their feet, and choose the software that has higher quality.  Even if it is more expensive.   There’s nothing magic about software – it’s a product just like any other, even if the quality is hard to see.   It is there, and at the right place and time, it will be important.

But just because the generally accepted level of quality is lower than you would like does not mean that software will inevitably be crappy.  You should just expect to pay for that extra quality. 

And if your answer is “I shouldn’t have to pay extra for quality”, I suggest that you go to Ruth’s Chris and demand a Filet Mignon for $4 and see how far that gets you.

I guess this means I fall into the “quality isn’t free, but it is a product differentiator” category.







Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>