Even as we were shipping the first AutoCADs, we were concerned with achieving and maintaining the highest quality standards for our products. Since our money and marketing resources were so limited, we had to rely on our reputation as the primary sales tool. Our resources also prevented us from actually starting a formal Quality department until Mauri Laitinen started full-time to undertake that task on January 4, 1984, precisely one year later.
One of the central but almost unspoken assumptions of AI since its inception is that we would supply products of superior quality. In the software business, this is the key to survival, growth, and respect. Nobody in this company is going to say “let's ship this shoddy junk”, but as we grow and have to support more features, more machines, and more peripherals, it becomes harder and harder to verify that every product we ship meets our intended standards of performance. Thus, in order to keep our performance in line with our intentions, we now need a Quality department which will help us achieve our goals. The Quality department is not responsible for the quality of our product—it is responsible for developing the procedures which verify that the company as a whole delivers only products which meets our standards of performance.
The following are what seem to me to be chief priorities in the establishment of a coherent quality function within Autodesk. All items listed below are of equal priority unless otherwise noted.
Quality is adherence to specifications. What are the specifications for AutoCAD? One straightforward approach is to develop a test suite which will execute on an AutoCAD which meets the specifications embodied in the manual. This test suite and ancillary tests should become one of the prime validation tools used to qualify a release from the Technical department for release.
The Quality department should conduct all initial testing of new proposed releases by the Technical department. This testing should consist of testing against the specifications of the previous release, and development of tests for new features and changes in the new release and their integration into the test set.
Once a new software version has been proposed for release, Quality shall cause it to be shipped to beta test sites, and shall coordinate all test responses and problem resolution.
All reported discrepancies (e.g., bugs) should be logged by Quality and tracked to resolution. Quality will prepare and present to management summaries of problems encountered and resolved on a regular basis. Discrepancy reports will be retired only upon the certification by Quality that the problem has been corrected. Quality will develop reporting with the cooperation of Customer Support and Technical groups to implement this function.
Quality will certify all software for release. Operations will be provided with master copies of software by Quality after this certification is complete. Operations will ship no software not certified by Quality.
Quality will develop and implement procedures to verify that problems reported and resolved do not reoccur in subsequent releases. Development of a regression test suite and monitoring of Technical source code control procedures are among the tools which may achieve this goal.
Quality shall prepare and present, on a monthly basis, reports to management on the direct costs incurred by AI as a result of quality problems. These reports shall include customer support time, product replacement costs, lost production time, and any other costs traceable to shipment to customers of product failing to meet AI specifications.