Software Quality

Summary:  Software Quality Assurance

This is a summary with links to my posts on the optimal method of achieving software quality, and then a sample of the endless quality problems of not using those methods, including in the supposedly smart big tech companies,

Software quality results from the whole process of specifying and building software, not just the formal quality and testing disciplines, as noted here:

There are groups of software people who use proven, decades-old methods to build high quality software quickly and well, methods that violate the regulations and professional methods that dominate the field. Here is an introduction to the winning method of software QA.

The concept of logical redundancy in addition to physical redundancy is a key aspect of the champion/challenger approach to quality.

The typical methods of QA lead to endless work, added to already-long development.

Good QA recognizes that one method should be used for getting software to do what you want and a different method for keeping it right, a.k.a. “regression testing.”

A remarkable thing about traditional QA is that it’s all built and run in the lab, while good QA is focused on the only environment users care about, essentially field-testing.

Software Quality Problems

Software has a quality problem. It's big and widespread. It affects nearly all software development efforts.It's not getting better. It's not just the QA process. Here are some highlights of the horrors and why it's so bad.

Is anybody worried about this? It doesn't appear that way, even though software quality is right up there with "government efficiency" and "northern hospitality."

Even simple-sounding things like making a web site work reasonably well for the people who use it is apparently too much to ask of many software departments.

Given this, you would think that expensive and time-consuming methods that don’t work would have long-since been discarded. But the bad methods are taught in academic Computer Science and broadly supported throughout the industry. The people in charge of quality say they’re doing the best they can – and they are, given the terrible methods they use.

Big companies with all their resources can’t build – or even buy – quality software.

It's not just "core" software; quality problems infect software wherever it's used, including customer service and surveys.

Big software companies aren't any better.

You might think that those cool internet companies would get it right.

Twitter is a good example of cool-company software failure.

Like Google and FB, they mask errors in their search and sequencing algorithms giving you whatever answers their error-prone software comes up with as facts. All sorts of major organizations have endorsed Twitter results as factual when those results are riddled with error.

Facebook is as bad as the rest. Here are the details on FB’s mobile app, including what its users have to say.

And generally about quality at FB:

When you look at a financially successful company based on software, it’s natural to think that they must know how to build great software. Facebook grew to its strong position in the market in spite of its poor software quality. Here’s an explanation of FB’s path to success, which shows all FB had to do was not be drastically worse than their competitors in terms of quality.

Here’s an example of a government software QA disaster with serious human consequences.

Naturally, since government is so great at software, sometimes it intervenes to "make things better."

Bad software QA goes way beyond screwing things up; it can kill people.

There is absolutely no excuse for this, when proven methods are available.

Here’s an overview of the book on the subject.