You are on page 1of 7

focus

quality requirements

A New Standard
for Quality Requirements
Jørgen Bøegh, Terma A/S

T
he ISO recently published ISO/IEC 25030, a new standard on software qual-
A new standard on
ity requirements1 that complements the two IEEE Computer Society standards
software quality
for software2 and system3 requirements. These three standards are important,
requirements, given that properly identifying and specifying requirements are prime factors in
ISO/IEC 25030, determining a software project’s success or failure.4 Many companies, having realized this,
takes a systems are now better emphasizing requirements specification. Unfortunately, there’s a tendency to
perspective and focus on functional requirements rather than quality issues such as usability, maintainability,
suggests specifying reliability, portability, and efficiency. Taking a systems view of quality
requirements ISO/IEC 25030 can improve software quality When writing the standard, the committee
by helping developers identify and specify quality members quickly realized that you can’t elicit soft-
as measures requirements. Here, as an editor and a member of ware quality requirements without taking a systems
and associated the ISO committee, I discuss some of the thoughts perspective. Software is normally part of a larger
behind ISO/IEC 25030 and briefly summarize its system, so you must view software requirements
target values. main points. as part of the system requirements. We therefore
looked at ways to describe systems. We wanted to
Developing the standard develop a system model that was powerful enough
The ISO first decided that quality requirements to capture software quality requirements yet was
deserve their own standard back in 2001. It then easy to understand and still focused on quality.
implemented the idea in connection with a planned A system is a combination of interacting ele-
revision and restructuring of two international ments organized to achieve one or more stated
standards—ISO/IEC 9126 (which presents a soft- purposes.6 The simplest system of possible interest
ware quality model)5 and ISO/IEC 14598 (which when considering software quality is a computer
discusses software product evaluation).6 The ISO/ system, which comprises three elements: hardware,
IEC JTC1 SC7 committee included the quality re- software (including the operating system and appli-
quirements standard in a new SQuaRE (Software cation software), and data. This system model cov-
Product Quality Requirements and Evaluation) se- ers software running on a single, stand-alone com-
ries of standards, designated by the number 25000.7 puter and has been the implicit conceptual model
SQuaRE includes five divisions: quality manage- behind software quality for many years.
ment, quality model, quality measurement, quality However, the computer system isn’t a realistic
requirements, and quality evaluation (see table 1). model. Software is often distributed on many com-
The quality requirements division contains the new puter systems—consider, for example, client-server
ISO/IEC 25030 standard. systems and Internet applications. We needed to

0 74 0 -74 5 9 / 0 8 / $ 2 5 . 0 0 © 2 0 0 8 I E E E March/April 2008 I E E E S o f t w a r e  57


Table 1
The SQuaRE (S oftware Product Qua lity R equirements and E valuation)
series of standards
Standards Division Description

ISO/IEC 2500n Quality These standards define all common models, terms, and definitions in the SQuaRE series. They guide users
management through SQuaRE documents using referring paths. They also include high-level practical suggestions to
help users apply the proper standards to specific applications. The division also provides requirements and
guidance for a supporting function that’s responsible for managing software-product requirements speci-
fication and evaluation.

ISO/IEC 2501n Quality model This division includes a detailed quality model (based on ISO/IEC 9126) comprising characteristics for
internal and external quality and for quality in use. Furthermore, the model decomposes the internal and
external quality characteristics into subcharacteristics. This division also includes a data quality model.

ISO/IEC 2502n Quality This division includes a software product quality measurement reference model, mathematical definitions
measurement of quality measures, and practical guidance for their application. Presented measures apply to internal and
external quality and quality in use.

ISO/IEC 2503n Quality ISO/IEC 25030, the only standard in this division, helps identify and specify quality requirements. Develop-
requirements ers can use these quality requirements to elicit and define quality requirements for a software product to
be developed or as input for an evaluation process.

ISO/IEC 2504n Quality These standards provide requirements, recommendations, and guidelines for software product evaluation,
evaluation whether performed by independent third-party evaluators, acquirers, or developers (internally in the devel-
oping organization). It also presents support for documenting a measure as an evaluation module. This
division is based on the ISO/IEC 14598 series of standards.

Internal and external quality Quality in use

Functionality Reliability Usability Efficiency Maintainability Portability Effectiveness


Suitability Maturity Understandability Time behavior Changeability Adaptability Productivity
Accuracy Fault tolerance Learnability Resource utilization Stability Installability Safety
Interoperability Recoverability Operability Compliance Testability Co-existence Satisfaction
Security Compliance Attractiveness Compliance Replaceability
Compliance Compliance Compliance

Figure 1. The ISO/IEC


9126 quality model. model systems that comprise communicating com- quirements. The obvious choice was the ISO 9126
puter systems, and we wanted to include embedded quality model,5 which identifies a set of software
systems. So, we added a mechanical parts element quality characteristics and subcharacteristics (see
that covers mechanics, electronics, hydraulics, and figure 1). First published in 1991 and slightly en-
so on. This let us provide a system-description hanced in 2001, it’s a well-known model that devel-
model covering a large class of applications. opers and researchers are using more and more in
But the real world is more complex, and not ev- industry and in empirical research.
erything is automated, so we also added a human- There are many opinions about what consti-
process element. The system model includes commu- tutes a software quality model’s most important
nicating computer systems, mechanical parts, and quality characteristics or factors and at what level
human processes. This relatively simple hierarchical these should appear in the model. Indeed, research-
model of systems satisfied our need to describe soft- ers have proposed several quality models with vari-
ware quality from the systems perspective. ous sets of characteristics over the last 30 years. I
doubt we’ve heard the last word on quality mod-
Identifying a software quality model els. I think that the ISO 9126 quality model’s most
In addition to the system model, we also needed important advantage is that it’s an international
a software quality model for describing quality re- standard and thus provides an internationally ac-

58 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re


cepted terminology for software quality. Whether have to consider the quality of the computer hard-
we need to change some quality characteristics or ware, data, mechanical parts, human processes,
subcharacteristics is of secondary importance in and so on.
this context.
The ISO 9126 quality model presents three Identifying software measures. Before we can identify
different views of quality. The first two, the inter- software quality requirements, we must clearly un-
nal and external views, share the same six char- derstand what the quality of a product really means.
acteristics and 26 subcharacteristics (see figure 1). There are (at least) two different viewpoints:
The third view, quality in use, has its own four
characteristics. ■ satisfaction of requirements (according to speci-
The internal view is concerned mainly with fications) and
static properties of the software product’s individ- ■ satisfaction of stated and implied needs (fit for
ual parts, including the design and code elements’ purpose).
structure and complexity. Developers can typi-
cally measure these quality properties early during These two viewpoints only coincide when the
development. A typical example of internal mea- requirements specification reflects the stated and
sures is Shyam Chidamber and Chris Kemerer’s implied needs of all stakeholders for all applica-
suite of “CK” measures for object-oriented soft- tions. This is usually not the case. Many stake-
ware:8 weighted methods per class (WMC), depth holders can’t articulate or don’t even know their
of the inheritance tree (DIT), number of children real needs. In addition, stakeholders might have
(NOC), coupling between object classes (CBO), conflicting needs. When we look at requirements
response for a class (RFC), and lack of cohesion in from a software acquirer or supplier viewpoint,
methods (LCOM). then their common interest is “satisfaction of re-
The external view is concerned with the com- quirements.” The end users and public authorities
pleted software executing on the computer hard- (for example, in the case of safety-critical applica-
ware, with real data. In this view, the software’s tions) are interested in “satisfaction of stated and
dynamic aspects play an important role. A typi- implied needs.” The first case focuses on the soft-
cal external measure is the mean time between ware product, while the second case focuses on
failures, which relates to reliability in the quality the system.
model. Both viewpoints are important, so the standard
The quality-in-use view is concerned with the takes both into account.
specified users performing specified tasks with the In the ISO quality model, a software quality
software in its real environment. This view typically (sub)characteristic is defined as a category of soft-
measures end-user productivity and effectiveness. ware quality attributes that influence software
These different views support each other. Inter- quality. An attribute is a measurable property—
nal quality influences external quality, which influ- for example, size, which can be measured as the
ences quality in use. Internal quality measures can number of lines of code. We can determine a soft-
act as early indicators for external quality. For ex- ware product’s behavior though its inherent prop-
ample, if both the complexity of code (WMC) and erties and its quality through its inherent quality
the coupling between classes (CBO) are high, the attributes. So, software measurement becomes the
software will likely be difficult to maintain. Simi- link between the quality model and the software’s
larly, external measures can indicate the quality in quality—that is, we can quantify software quality
use—if the response time (efficiency) is low, end- using software measures.
user productivity will likely be low. This implies that we can specify software qual-
Internal-quality measures are also meaning- ity requirements by providing a set of quality mea-
ful on their own. However, this isn’t the case for sures with associated target values. An example
external-quality measures, which depend on the is an online administrative system with report-
computer hardware, the data, and possibly other generation features. A possible quality requirement
elements. For example, an efficient algorithm im- for this system is
plementation doesn’t appear as an efficient pro-
gram if the computer hardware is slow. When we ■ Quality characteristic: Efficiency (time behavior).
consider quality in use, we might also need to con- ■ Attribute: Report-generation time.
sider mechanical parts and human processes. The ■ Measure: Average number of seconds to gener-
quality of a system’s individual parts plays a role ate report X during normal system use, mea-
in our conception of (software) quality. So, we sured 10 times using a stopwatch.

March/April 2008 I E E E S o f t w a r e  59
Internal software quality model External software quality model System quality model

System

Computer system

Mechanical part Human process


Hardware Software Data

Hardware Data Mechanical Human-process


quality model quality model quality model quality model

Figure 2. The quality models for the various elements of a system.

functionality. Does it refer to the software’s “func-


Stakeholder Stakeholder System tional abilities”? If yes, then the functional require-
needs requirements requirements ments would be a subset of the quality require-
ments. However, we instead decided to interpret
all quality characteristics as statements about how
well the software and its functions perform—that
Definition Analysis Software is, we focused on the functions’ reliability, usability,
process process requirements efficiency, and so on. This becomes clearer when
looking at functionality’s five subcharacteristics (see
Software figure 1):
quality
requirements
■ suitability (of the functions provided),
Stakeholder Stakeholder System ■ accuracy (of the functions’ results),
quality quality quality ■ interoperability (with other software),
needs requirements requirements ■ security (the ability to protect information),
and
■ compliance (the adherence to standards, laws,
Figure 3. The software and regulations).
quality requirements ■ Target value: 20 seconds (60 seconds is the
definition and analysis worst acceptable time). The model’s size also made it complicated. Spec-
processes. ifying quality requirements for a software product
When the software is completed, we can measure to this level of detail would be a major task. Fortu-
the quality attributes and compare actual measure- nately, in most cases, this isn’t necessary. For exam-
ment values to target values to reveal whether the ple, an aircraft engine is an embedded system with
software fulfills its quality requirements. It’s impor- no direct end users, so we don’t expect many us-
tant to formulate quality requirements such that we ability requirements but instead stringent reliability
can demonstrate their fulfillment in a reasonable requirements.
amount of time and with reasonable effort. What’s So, developers should use the quality model as
“reasonable” depends on the stringency of the re- a checklist to ensure they’ve included all important
quirements and on the intended application. For a quality requirements. When specific quality needs
high-risk application, we’re willing to spend more exist, the developers should note them and specify
time and effort when evaluating quality. associated quality requirements. It’s equally impor-
tant to avoid specifying too many or overly strin-
Dealing with difficulties. Several difficulties arose in gent quality requirements. This would be a waste
considering the ISO 9126 software quality model. of time and money, because fulfilling stringent soft-
In particular, we weren’t sure how to interpret ware quality requirements is expensive.

60 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re


For example, again consider an aircraft en-
gine’s software. The software is highly critical, 1. Scope
so its development and testing require substantial 2. Conformance
effort. Demonstrating fulfillment of the stringent 3. Normative references
reliability requirements also requires significant 4. Terms and definitions
effort. It would be meaningless to specify a sim- 5. Software quality requirements framework
ilarly stringent reliability requirement for the re- 5.1. Purpose
port-generating system I mentioned in the previ- 5.2. Software and systems
ous section and to allocate another large effort to 5.3. Stakeholders and stakeholder requirements
demonstrate its reliability. My recommendation 5.4. Stakeholder requirements and system requirements
is to strive for the right level of quality—not too 5.5. Software quality model
much or too little. 5.6. Software properties
The ISO 9126 quality model relates primarily 5.7. Software quality measurement model
to the computer system. Only the quality-in-use 5.8. Software quality requirements
characteristic applies to the whole system, and only 5.9. System requirements categorization
from a rather narrow perspective. Figure 2 shows 5.10. Quality requirements life cycle model
the quality models for the other system parts in ad- 6. Requirements for quality requirements
dition to the ISO quality model. ISO/IEC 25030 6.1. General requirements and assumptions
points out the relations between various quality 6.2. Stakeholder requirements
models. However, it’s still a research issue to define 6.2.1. System boundaries
and integrate the different quality models into a co- 6.2.2. Stakeholder quality requirements
herent system quality model. 6.2.3. Validation of stakeholder quality requirements
6.3. Software requirements
Defining the requirements processes 6.3.1. Software boundaries
When eliciting requirements, we must consider 6.3.2. Software quality requirements
the whole system. Most stakeholders aren’t inter- 6.3.3. Verification of software quality requirements
ested in whether their needs are implemented in the Annex A (Normative). Terms and definitions
software, in the hardware, in the mechanics, or as a Annex B (Informative). Processes from ISO/IEC 15288
manual process. Stakeholders simply want the sys- Annex C (Informative). Bibliography
tem to satisfy their stated and implied needs. This is
the “fit-for-purpose” viewpoint. Figure 4. The table
After developers have collected, analyzed, con- ments is the “according to specification” view of the of contents of ISO/
solidated, and agreed on all the stakeholders’ needs, requirements—that is, you can measure and verify IEC 25030: Quality
they must apply a high-level architectural design them objectively. Requirements.
process to determine what the software will imple- The main difference between ISO/IEC 15288
ment. An analysis activity then identifies all soft- and ISO/IEC 25030 is that the first takes a process
ware-related requirements. As explained earlier, view while the latter focuses on the product—that
the developers must formulate these requirements is, on defining the quality requirements. This view is
in terms of measures and target values. Figure 3 similar to the two IEEE requirements standards.2,3
shows this two-step approach, which complies with However, the IEEE standards focus primarily on
the system life-cycle processes defined in ISO/IEC functional requirements, although they also include
15288.9 This standard defines a set of processes quality aspects. For example, IEEE 830 specifi-
categorized as either project, enterprise, or agree- cally mentions performance (which isn’t considered
ment processes. Technical processes constitute a a quality feature), reliability, availability, security,
subset of project processes, including maintainability, and portability.2

■ the requirements definition process, which de- Introducing ISO/IEC 25030


fines the requirements that can provide the ser- International standards follow a specific ISO-
vices that users need in a defined environment; defined template. Figure 4 shows ISO/IEC 25030’s
and table of contents.
■ the requirements analysis process, which trans- Clause 1 presents the scope and objectives. The
forms the stakeholder requirement-driven view standard applies to both acquirers and suppliers
into a technical view of a product. and provides requirements and recommendations
for specifying quality requirements. It’s particularly
The technical view of the software quality require- useful for

March/April 2008 I E E E S o f t w a r e  61
About the Author the system life cycle. The standard doesn’t promote
any specific elicitation methods or techniques but
Jørgen Bøegh is the Safety & Quality manager at Terma A/S. He’s also head of
the Danish delegation to ISO/IEC JTC1/SC7 and is editor of three international standards provides general applicable guidance, which can
in software quality requirements and evaluation. His research interests include software be used together with specific approaches. This
quality modeling, requirements specification, and quality evaluation. He received his MSc clause takes a system view, because stakeholders
in mathematics and computer science from the University of Aarhus. Contact him at Terma
A/S, Vasekaer 12, DK-2730 Herlev; jorgen_boegh@yahoo.dk. aren’t generally concerned with implementation.
The standard emphasizes the need to document all
stakeholder needs, wishes, expectations, and de-
sires, even if they’re conflicting, too ambitious, or
■ specifications (including contractual agree- completely unrealistic. This list must be prioritized
ments and calls for tender), and consolidated to an agreed and validated set of
■ planning (including for feasibility analyses), stakeholder requirements.
■ development (including early identification of Clause 6.3 provides requirements and recom-
potential quality problems), and mendations for software quality requirements. It
■ evaluation (including objective assessment and assumes that developers make high-level architec-
certification of software product quality). tural decisions about how to implement system
requirements and about which parts to implement
Clauses 5 and 6 present the standard’s main in software. So, it helps them identify stakeholder
body. Clause 5, which is more informative and quality requirements relevant to the software. They
doesn’t include any requirements, describes quality then must formulate these requirements in terms of
concepts such as modeling and measurement and software measures with associated target values.
how these concepts relate to each other. This set becomes the technical formulation of the
Clause 6 contains the normative requirements. quality requirements.
Claiming conformance to the standard requires Formalizing the software requirements in terms
fulfilling these requirements. (The standard states of measures and target values forces the involved
the general conformance requirements separately parties to carefully consider which quality require-
in clause 2.) However, the standard’s usefulness ments are necessary. Developers can use the soft-
isn’t restricted to situations requiring formal con- ware quality requirements to monitor and control
formance; it’s equally useful as a general guide for software quality during development as well as to
defining software quality requirements. evaluate the final product. The standard empha-
Clause 6.1 includes general assumptions. In par- sizes having relevant stakeholders verify and for-
ticular, it states that the standard doesn’t assume or mally agree on the list of quality requirements.
require any specific software development model.

I
In addition, it provides useful references to related
standards, including ISO 9001,10 which states that hope that the quality requirements standard
top management shall ensure that customer re- is well received in the software community
quirements are determined and met with the aim and is used in industry as well as in research
of enhancing customer satisfaction. ISO 9001 also and education. Although we devoted much effort
goes into more detail about specifying customer re- to preparing the standard, there’s always room for
quirements, including requirements not stated by improvement. I strongly encourage the standard’s
the customer but necessary for the specified or in- users to report their experiences to the ISO com-
tended use, as well as statutory and regulatory re- mittee, either directly or through their national
quirements related to the product. ISO/IEC 25030 standards bodies. We welcome—and seriously
further elaborates on these requirements. consider—constructive comments. We can make
Clause 6.2 provides requirements and recom- progress in the standards area only through active
mendations for defining stakeholder requirements. dialogue between the standards’ users and the stan-
First of all, the user of the standard must describe dards committees.
the system’s intended purpose (or at least ensure
that such a description exists). The clause empha-
sizes the need to identify all legitimate stakeholders
and describe their roles. Stakeholders include end
users, organizations—such as the acquirer and de-
veloper organizations—as well as statutory and reg- Acknowledgments
I thank members of ISO/IEC JTC1 SC7/WG6 and
ulatory bodies. Stakeholders might have conflicting particularly Kazuhiro Esaki for their diligent work
interests, and their needs might even change during on ISO/IEC 25030.

62 IEEE Soft ware w w w. c o m p u t e r. o rg /s o f t w a re


References view, Int’l Organization for Standardization, 1999.
1. ISO/IEC 25030:2007, Software Engineering—Soft- 7. ISO/IEC 25000:2005, Software Engineering—Soft-
ware Product Quality Requirements and Evaluation ware Product Quality Requirements and Evaluation
(SQuaRE)—Quality Requirements, Int’l Organization (SQuaRE)—Guide to SQuaRE, Int’l Organization for
for Standardization, 2007. Standardization, 2005.
2. IEEE Std. 830-1998, Recommended Practice for 8. S.R. Chidamber and C.F. Kemerer, “A Metrics Suite for
Software Requirements Specification, IEEE Computer Object-Oriented Design,” IEEE Trans. Software Eng.,
Society, 1998. vol. 20, no. 6, 1994, pp. 476–493.
3. IEEE Std. 1233, Guide for Developing System Require- 9. ISO/IEC 15288:2002, Information Technology—Life
ments Specification, IEEE Computer Society, 2002. Cycle Management—System Life Cycle Processes, Int’l
4. J. Verner, B. Kitchenham, and N. Cerpa, “Estimating Organization for Standardization, 2002.
Project Outcomes,” Proc. 20th Int’l Conf. Software & 10. ISO 9001:2000, Quality Management Systems—Re-
Systems Eng. and Their Applications, 2007. quirements, Int’l Organization for Standardization,
5. ISO/IEC 9126-1:2001, Software Engineering—Prod- 2000.
uct Quality—Part 1: Quality Model, Int’l Organization
for Standardization, 2001.
6. ISO/IEC 14598-1:1999, Information Technology— For more information on this or any other computing topic, please visit our
Software Product Evaluation—Part 1: General Over- Digital Library at www.computer.org/csdl.

advertiser index March/April 2008


Advertiser/Product Page Number Advertising Personnel

Better Software 2008 Cover 2 Marion Delaney Sandy Brown


IEEE Media, IEEE Computer Society,
ESRI 9
Advertising Director Business Development
Java One 2008 1 Phone: +1 415 863 4717 Manager
Email: md.ieeemedia@ieee.org Phone: +1 714 821 8380
Seapine Software, Inc. Cover 4
Fax: +1 714 821 4010
STPCon 2008 Cover 3 Marian Anderson Email: sb.ieeemedia@ieee.org
Advertising Coordinator
*Boldface denotes advertisements in this issue. Phone: +1 714 821 8380
Fax: +1 714 821 4010
Email: manderson@
computer.org

Advertising Sales Representatives

Mid Atlantic Southwest (product) Midwest (product) Midwest/Southwest (recruitment)


(product/recruitment) Steve Loerch Dave Jones Darcy Giovingo
Dawn Becker Phone: +1 847 498 4520 Phone: +1 708 442 5633 Phone: +1 847 498-4520
Phone: +1 732 772 0160 Fax: +1 847 498 5911 Fax: +1 708 442 7620 Fax: +1 847 498-5911
Fax: +1 732 772 0164 Email: steve@ Email: dj.ieeemedia@ieee.org Email: dg.ieeemedia@ieee.org
Email: db.ieeemedia@ieee.org didierandbroderick.com
Will Hamilton Southeast (product)
New England (product) Northwest (product) Phone: +1 269 381 2156 Bill Holland
Jody Estabrook Lori Kehoe Fax: +1 269 381 2556 Phone: +1 770 435 6549
Phone: +1 978 244 0192 Phone: +1 650 458 3051 Email: wh.ieeemedia@ieee.org Fax: +1 770 435 0243
Fax: +1 978 244 0103 Fax: +1 650 458 3052 Email: hollandwfh@yahoo.com
Email: je.ieeemedia@ieee.org Email: l.kehoe@ieee.org Joe DiNardo
Phone: +1 440 248 2456 Japan (recruitment)
New England (recruitment) Southern CA (product) Fax: +1 440 248 2594 Tim Matteson
John Restchack Marshall Rubin Email: jd.ieeemedia@ieee.org Phone: +1 310 836 4064
Phone: +1 212 419 7578 Phone: +1 818 888 2407 Fax: +1 310 836 4067
Fax: +1 212 419 7589 Fax: +1 818 888 4907 Southeast (recruitment) Email: tm.ieeemedia@ieee.org
Email: j.restchack@ieee.org Email: mr.ieeemedia@ieee.org Thomas M. Flynn
Phone: +1 770 645 2944 Europe (product)
Connecticut (product) Northwest/Southern CA Fax: +1 770 993 4423 Hilary Turnbull
Stan Greenfield (recruitment) Email: flynntom@mindspring. Phone: +44 1875 825700
Phone: +1 203 938 2418 Tim Matteson com Fax: +44 1875 825701
Fax: +1 203 938 3211 Phone: +1 310 836 4064 Email: impress@impressmedia.
Email: greenco@optonline.net Fax: +1 310 836 4067 com
Email: tm.ieeemedia@ieee.org

March/April 2008 I E E E S o f t w a r e  63

You might also like