4

According to the standard ISO/IEC 25010:2011, the "quality of a system is the degree to which the system satisfies the stated and implied needs of its various stakeholders". The standard defines 8 categories of quality characteristics:

  • Functional Suitability
  • Performance efficiency
  • Compatibility
  • Usability
  • Reliability
  • Security
  • Maintainability
  • Portability

The predecessor ISO/IEC 9126 also uses compliance as a subcharacteristic for each category. I am wondering why compliance was removed from the standard, because there can be regulations and laws from external stakeholders.

In my opinion cost can also be a need of a stakeholder. With costs I mean acquisition costs, maintenance costs, etc. However, neither ISO 25010 nor its predecessor included costs in the categories.

My two question are:

  • What is the reasoning behind the removal of compliance?
  • Why is cost not a characteristic of software quality?

4 Answers 4

5

Cost cannot be part of a quality metric. If it were, cutting the price without changing anything else would mean that the quality metric goes up, and increasing prices without changing anything else would mean that it goes down. Neither of these make any sense if you're trying to measure the quality of a product.

Compliance is baked into the rest of the characteristics. The evidence for this can be found by reviewing the introduction:

ISO/IEC 25000 is the result of the evolution of several other standards; specifically from ISO/IEC 9126, which defines a quality model

and then looking up ISO/IES 9126, which refers to things like:

  • Functional compliance
  • Usability compliance
  • Efficiency compliance
  • Maintainability compliance

... and so on.

Compliance is a cross-cutting concern that includes everything, so is not measured separately.

2
  • 1
    Cost can be expressed in things other than dollars. For example, it could also be expressed in man-hours required to design, produce and support the system.
    – Peter M
    Commented Jun 26, 2023 at 18:46
  • 1
    @PeterM the quality that you measure in person-hours (those who work are not only men) is the efficiency. But it's not the efficiency of a software system, but of an organisation system.
    – Christophe
    Commented Jun 26, 2023 at 18:54
5

Why is cost not a characteristic of software quality?

ISO/IEC 25101 talks about the qualities and characteristics of the system. I don't believe that cost is an attribute or characteristic of the system. Characteristics of the system do impact the cost. Regardless of the quality attribute, adding more or conforming to higher, more rigorous standards will likely increase the cost of the system. Instead, cost is influenced by the desired characteristics of the system as well as other factors that exist within the development organization and broader contexts.

What is the reasoning behind the removal of compliance?

It's not removed. It's built into the other categories. Most of the rules and regulations that I'm familiar with are heavily slanted toward security, reliability, and usability (or, rather, accessibility), but there are some around portability and compatibility as well. Some regulations may also place requirements on functionality offered or supported by the system. It is often better to consider compliance wholistically rather than as a separate element.

1

I think this question might be subjective. I cannot find any objective reasoning about this, but that doesn't mean such reasons do not exist. I just couldn't find them. In any event, I will attempt an answer.


How do you judge "cost" to be of high or low quality? I cannot think of an objective measure to compare different projects or applications. You could have a low-cost project of high quality just as easily as you can have a high-cost project of high quality. The reverse can be true as well. Certainly you can spend very little money on developing a system and get low quality. I've been a part of extremely expensive projects that were also low in quality.

The same holds true for "compliance". Too often I've seen the development process devolve into a box-checking exercise, where each step is done in principal, but not in spirit. Code reviews happen, but nobody actually reads the code. It's just a rubber stamp approval. The same thing can happen for documentation or performance metrics. Just because you generate some document that says you are in compliance does not mean the system as a whole is of high quality. Or low quality, for that matter.

My guess is cost and compliance were not included as software quality characteristics because nobody could find a correlation between cost, compliance, and overall quality of software systems. I'm sure you can find correlations on an individual basis, but not when you aggregate data from many projects across many organizations throughout the years.

1
  • 1
    You beat me to the answer. Consider the old adage "Cheap, Fast, Good: Pick Two." If the question of cost was applicable, would not the question of speed be equally applicable? Commented Jun 26, 2023 at 15:02
0

I would tentatively argue that "quality" effectively is cost.

When they say "usable", they mean usable at minimal cost. When they say "maintainable", they mean maintainable at minimal cost. When they say "portable", they mean at minimal cost. And so on.

The analysis of quality as distinct from plain cost of production, is primarily because we all know the cheapest purchase is not the best overall performer.

So knowing that systems must be judged by something other than plain cost of production, a quality analysis is an attempt to get at those various things that differentiate the product sold cheapest from the product with the most overall profitability.

3
  • Interesting. Compare this to the definition in economics, where "quality" is defined as "every possible attribute of a product except price". (Note the difference between price and cost, though.) Commented Jun 26, 2023 at 23:26
  • @JörgWMittag, indeed, I'm very much willing to be challenged on this answer, but it seems to me that the ultimate purpose of these quality frameworks is to maximise return on capital, so that tacitly all these "qualities" are supposed eventually to be reduced to a cash nexus. It doesn't exist as a separate heading because it's already the elephant in the room of every other heading. There's no business measure of say "reliability" that matters, other than whether the quality in question promotes a more desirable balance between input of capital and output of profit. (1/2)
    – Steve
    Commented Jun 27, 2023 at 6:47
  • "Price" in neoclassical economics tends to mean the cost attributable to an open-market purchase, whereas the typical computer configuration really exists to control a small command economy typical of the internals of a capitalist firm. Besides there being no market, any attempt to treat lower financial inputs as better in a naive way, is precisely the approach that is known to fail, in the same way that a farm cannot be run on the idea that when it comes to animal feed, less is better. Consideration of "quality" exists to guide the eye to this more complicated relationship. (2/2)
    – Steve
    Commented Jun 27, 2023 at 6:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.