Site Search

Google

Links

Browse Articles

Highest Rated

Most Popular


Careers > Programming

What Price Quality?

Author: Tim Bryce

"Quality must be built into the product during design, not inspected in afterwards." – Bryce's Law

INTRODUCTION

We now live in a fast paced society where we expect products and services to be delivered rapidly (some say "yesterday"), cheaply, and with a high degree of quality. This is particularly true in the systems and software industry. If we lived in a perfect world, systems and software would be developed rapidly and inexpensively, they would effectively satisfy business needs, and would be easy to maintain and modify. There is only one problem with this scenario: it is a fantasy. In reality, we live in a "disposable" world where systems and software are slapped together in the hopes everything will hold together and will pacify the end-user for the moment. Some individuals believe striving for a Utopian world is an impossibility and, as such, resign themselves to rewriting systems and software time and again as opposed to designing them to be industrial strength.

Improving speed in the development process is relatively simple to accomplish; e.g., the plethora of programming tools available. But adding quality into a product is something entirely different. From the outset we must recognize that quality doesn't come naturally to individuals anymore. Back when there was a sense of craftsmanship, quality was rarely a problem. This is back when individuals identified with their work products, and strove to seek perfection as it was a reflection of their character. Corners were not cut and products were made to last. Unfortunately, we no longer live in such times and individuals tend to disassociate their work from their personal lives. Further, the speed and sophistication of our tools leads us to believe we are producing quality products. The reality is that our tools are only as worthy as the individuals using them, not the other way around.

A PERFECT WORLD

How one person perceives quality may be entirely different than another's. This is because we tend to have different perspectives in how to build something, e.g., whereas one person may build a product one way, another may build it using an entirely different approach. This means products are commonly built using inconsistent methods. Let me give you some examples: