As a tester, quality is what matter most to me. Interestingly, quality is pretty much the hardest thing to evaluate. One way, which I find useful, is to aggregate the metrics from multiple aspects of quality to have an overall view.
Some important aspects of quality:
Reliability |
Functionality |
Usability |
Efficiency |
Maintainability |
Portability |
Learnability |
Analyzability |
Testability |
Debugability |
What do you think?
Pingback: Tweets that mention Signing Off on Quality » Random.Thinking.ToString(); -- Topsy.com
My 2 cts:
Quality being how a given software fulfills his purposes, assessing it has to start with the goals of the software itself.
A client is not a kernel, a flash game in a web site isn’t a nuclear reactor.
Moreover, when human beings are involved the perception of quality matters more than measurable metrics: e.g. ceteris paribus substitute a spinner with a progress bar to increase the perception of responsiveness.
Thanks for your feedback Elia,
I am not sure that quality is how software fulfills his purposes, it is much more complex. Engineers are often surprised how their software is used by consumers that is why I believe we need to look at all aspects of quality, even those not obviously part of the scenario. In the above table, fulfilling a purpose is called functionality.
On the other hand, I totally agree that the expectation on quality should be based on the usage of the software (medical, military, government, etc.), but that would be only for economical reason. I would be really glad to have a Flash game that has as good quality as a nuclear plant (but not the reverse!).
Last point, about the human perception, this would fit under some aspects as: learnability, usability, reliability and analyzability.