High
Quality
The High
Quality that comes out of a process is affected by the quality of
what goes in and what happens at every step along the way. It
follows that we must build quality into every step, process, and
system to produce quality in the outcome. To do this, we must
collaborate with internal and external suppliers and communicate
with internal and external customers to determine their
needs.
Who should care
about High Quality software? Everyone should care, from the gamer
who would like the game he's playing to not crash and to provide a
consistently realistic (even if highly imaginative) experience, to
the astronauts whose lives will be lost if the software running
their craft fails, to the entire human race that could be wiped out
(at least theoretically) due to a software bug that happens to be in
the wrong place at the wrong time.
What is
high-quality software? Software Information of all sorts circulated
among sentient beings.
- More
pertinently, information circulated among humans that serve a dual
purpose:
o
To communicate with humans at other locales
and/or other times
o
To serve as a set of "orders" for automatons
to follow
- When software
is in a form that is of little use for its intended purpose to an
automaton, that form becomes more like documentation.
- Similarly,
when put in a form that is of little use to other humans, that
form becomes more like just a component of the automaton(s).
(Consider the software in embedded systems, such as microwave
ovens and inexpensive digital wristwatches. In this form, it's
more like a commodity.)
- High Quality
fulfills its specifications.
The word
"software" is defined first, above, to clarify what is sometimes a
mistaken assumption about what is meant by " High Quality software"
-- that it applies, nearly exclusively, to writing code (in a
language such as C or Java) that doesn't crash, that works as
expected, etc.
For example,
the definitions above hint at the recursive nature of evaluating
even a fairly simple computer program: the program itself is, of
course, software, but so are the specifications for that program,
which, in turn, are very likely to have, perhaps implicit,
specifications themselves, and so on.
When intended
for use in an environment where reliability, robustness, etc. are
crucial, software must itself be robust. When intended for use by
human beings, software must, at least, tolerate the ways human
beings actually behave. Therefore, it must meet high-quality
guidelines for user interface design.
The ISO Quality Management Toolkit:
the definitive resource for Quality
Management Projects Click
Here
Customers who bought the ISO Quality Management Toolkit
also bought: