On Quality: Quick and Perfect! - I

 

Software quality has been related for ages to the general theory of Quality (TQM – Total Quality Management), which has totally evolved in the age of  industrial economy essentially to serve the manufacturing industries of its time. With transformations from industrial to knowledge economy, creativity and innovation started prevail and rule. In tandem, the nature of Software Applications has changed a lot to become far more versatile and dynamic to match the more challenging and pressing needs of a new business era that I call the era  of Business As Unusual. In view of all that, we , software people, need a new perspective to Quality that matches those vital business and thinking transformations. In this series of articles I’ll refute the old notion of software Quality as we know it today, trying to set some pointers on how we can face those quality challenges that erupted in the software industry in the age of knowledge economy.

 

I will dedicate this article to a deeper look on the challenges facing quality in the software industry.

In fact,  our quality in software industry has suffered for quite long from such a  “pale” perspective starting from the definition of quality down to the methods and techniques we adopt to achieve it. “Conformance to specifications” and “Fitness to purpose” have long stood there defining quality by virtues of f the TQM theory in manufacturing as well as software industries. This is on one side. On the other, and more importantly, there always have been  a growing faith  in software engineering circles in the Process as the sole foundation of quality. Both beliefs need to be revised, if not revolutionized.

What was the result to such a paradigm?

In spite of decades of systems engineering, escorted by that confinement of quality to such a scanty concept of “just sufficient” under claims of economy development, our industry has scored the highest risk in achieving success in its undertakings (projects) among modern industries, without a doubt. Many products we have seen pushed to markets not only late, but also far below maturity and stability, in a sort of growing implicit consent on that devilish slogan of “Quick and Dirty”, which usually came under the umbrella of some pathological claims of “pragmatism” and “economy”. To prove what I just covered so far, I invite you to recall that we are the only industry that dares to cover a failure of one product less than accepted by the market not by withdrawing it, but by releasing a new one for a new cost!

For decades now, software manager and executives have gained an illusion that “quick” means “dirty” on one hand, and that quality means "unaffordable cost" on the other. This not only affected the value of deliverables but, and more importantly, has thrown a lot of shades on the whole  environment that our people are practicing in, with a lot of damage on their morale and to how they feel about their jobs.

Let me summarize the challenges we need to get  through over the next parts of this series in the following maieutical questions:

  1. Can software quality stand the same abstract definition of quality? If not? How can you define it and why?
  2. The “Process” is taking the lead to the way to quality: Right or Wrong? Why?
  3. Quality and Affordability: are there any contradictions? How can we resolve, if any?
  4. What does quality mean to People? Why should we care?

 These are the points that I will cover to rest of this series, so please stay tuned.