Two roads lead to quality street



The pursuit of quality is a much used and abused justification for many an act these days. The nobleness it conjures up in the mind, has attracted politicians and bureaucrats to regularly include it in their verbal repertoire.

"While we are innovators in proposing and imposing standards, the Americans are creating new tools to do the job better."

Our Federal and State government departments are increasingly insisting that Australian software development companies be certified as conformers to the AS3563 and AS3901 Australian quality assurance standards, before their officers will buy software from the locals.

One of the things a company must have to comply to Australian standards, is a full-time Quality Manager. Unfortunately, such a requirement excludes most of our small innovative, award winning software developers - they cannot afford to devote a whole salary to AS3563-style quality assurance.

As usual, from a cross-cultural comparison, there is a significant variation in the way Australian enterprise goes about putting quality into software, as compared with the Americans, the current software heavyweights.

Where we are innovators in proposing and imposing Standards (AS3563 a quality standard, specifically for software, is like no other international standard); the Americans tend to create new tools to do the job better, in particular, new languages that disable many of the bug-promoting flaws in the earlier languages.

Where our public institutions tend to apply rules to a given companies demonstrable 'production process' and hence impose red-tape on all players, so that their COBOL, PL/1, Fortran and C programs may be better written; American private research organisations have promoted quality from the inside - via new languages such as the C++ (from AT&T Bell Laboratories) and Smalltalk (from Xerox PARC) languages.

American companies then also apply international standards in-house, to their local processes, according to the tolerances acceptable within a given industry. ie. The aerospace, nuclear and medical industries are just three examples that require the highest affordable quality procedures attainable.

Agreed, quality assurance is not about fixing the product, it's about fixing the process that produced the product. The American approach abides perfectly with this concept of quality assurance, as it deals with the process at the highest level - by evolving the tools themselves.

Our Standards-dominated approach favours sausage-machine code, produced by software engineering factories. The sort of program with screen-based forms, that have industry-specific details labelled on them, which access some portion of the corporate database. Ideal tasks for CASE tools.

The 'better tools' dominated approach, favours the development of innovative and creative programs in a timely manner, programs which could never be initially developed by a CASE tool. eg. The first Spreadsheet, the first Word Processor, the first Desktop Publishing package, the first World Simulation game etc. ie. The American approach favours the development of new mass markets, and hence new start-up companies that seem to thunder onto the world stage at regular intervals.

One of our exceptions to the mould, Neville Franks, the local developer of the World renowned programmers editor called ED (a 'better tool'), alluded me to a quality assurance method most Australian software engineers seem to have forgotten, or have never known.

When I interviewed him earlier this year for this column, I asked him what was the best part about being successful around the world. In his reply he said: "I find reward in having a piece of software that people find useful and enjoy. I get great personal satisfaction from the feedback from people saying ED makes their lives easier."

I have been present when Neville has received accolades from a customer and the resultant expression on his face reminded me of the occasional restaurant experience, when a renowned chief comes out and interacts with the dinners, enquiring about the meal just gone. The customers evident pleasure leads to the chiefs pleasure. It is a quality driven by that old fashioned concept of 'European Service', an eagerness to please others - a passion for service.

The food industry analogy is a good one. Metrics and Quality Assurance have an increasingly large part to play in the industrial side of software development, just as they do to the Heinzs and MacDonalds of the food industry. Regimented measurement and quality control in the food industry can guarantee me that a MacDonalds meat patty will be 3.875 inches wide and weigh 1.6 ounces, from which I won't get food poisoning, wherever I go in the world. But that doesn't mean that restaurants no longer have a place!

Many of those who champion our Standards enforcement approach to quality as 'the only way', insist that software development is an engineering discipline not an artform, inferring that artists have no appreciation of quality.

Yet all our high calibre artists in the publicly recognised artforms, are totally uncompromising on quality. For a good artist, only the best will do.

It is the engineer who has traditionally grasped the first solution to a given problem, then moved on with the job. It is the engineer rather than the artist, who does indeed need guidelines and standards to achieve quality, not the other way around.

So yes, for many a large software engineering company, to achieve product consistency, enforced standards are necessary.

But there is more to life and software than nuclear power stations, jumbo jet navigation, MacDonalds and CAT scans.

There are two totally disparate groups who can produce software of the highest quality: the regimented large scale software engineering factory; and the small scale passionate artistic innovators. They both have different roles to play via the types of software they produce. The second group is generally dismissed in Australia, yet it is the group in the US that has shaken the very foundations of a company as mighty as IBM.

So when it comes to applying quality accreditation on small innovative software developers, it should be based on the actual resultant quality of the products they produce, rather than how good they are at dealing with red-tape and receiving auditors.

(CUTTING CODE column, Computer Age, The AGE, 5th October 1993)