You are on page 1of 13

GENERAL KNOWLEDGE

An
This article provides an overview of the
newly revised IEEE 730-2014 Software
Quality Assurance Standard (IEEE 730). Its

Introduction to
purpose is to guide prospective users through
IEEE 730-2014 so they can skillfully use it
to produce quality software. After present-
ing a brief description of software quality

the New IEEE


assurance (SQA) in general and IEEE 730-
2014 in particular, the author describes the
project components SQA monitors and how
these components relate to each other. He

730 Standard
then presents the three SQA activity areas
addressed by IEEE 730-2014SQA process
implementation, product assurance, and pro-
cess assuranceas well as the 16 specific

on Software
activities covered in these areas. The authors
aim is to provide a clear road map to IEEE
730-2014 that will enable the reader to

Quality
readily grasp what SQA as described by IEEE
730-2014 is and appreciate what it does
helping them to produce better software
products and services.

Key words
IEEE standard 730, information technology,
process assurance, process implementation,
product assurance, project management,
Assurance
quality management, quality processes, soft- DAVID I. HEIMANN
ware development, software development
standards, software measurements, software
quality assurance, software quality assurance
plans, software testing

INTRODUCTION
Software quality is defined as how well the software meets its
established requirements and stakeholder wants, needs, and
expectations. It is one of the key attributes (along with functional-
ity, quick time to market, reasonable cost, reliability, and safety)
that software must have to be a successful product and a source
of profit to the organization developing it. To assist organizations
in producing quality software, the document IEEE Standard for
Software Quality Assurance Plans was developed in 1981 under
the standard number 730 and has been updated periodically since.
The Institute of Electrical and Electronics Engineers (IEEE)
has revised and upgraded this standard, last changed in 2002,
through a technical working group that includes the author of this
article. The revised standard, whose title has changed to IEEE
Standard for Software Quality Assurance Processes (IEEE 2014)
and is referred to in this paper as IEEE 730-2014, has been
approved and will be released later this year (2014). However, it
should be noted that the final version of the standard may include
additional changes not known at the time of this publication.
With its expanded and detailed coverage, informative annexes,
and improved readability, the new standard goes beyond merely
addressing the development of software quality assurance

26 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance


plans (SQAP) to providing a framework for developing
that the processes consistently lead= to products
a complete framework of software quality assurance
(SQA) processes that will implement the SQAPs. It
thereby serves not only as a standard for developing and
that meet= established requirements

implementing SQA, but also as a guide and handbook that fulfill=stakeholder wants, needs, and
for doing so. expectations
This article provides an overview of IEEE 730-2014 in
order to guide prospective IEEE 730-2014 users through The SQA function is composed of three main process
the standard so they can better use it to produce quality activities. One process activity, represented by the first
software. The remainder of the first section of the article arrow, is process assurance. Another process activity,
provides a brief description of SQA, an overview of IEEE represented by the second, third, and fourth arrows, is
730-2014, and rationales for using the standard. The product assurance. The remaining process activity, SQA
next section describes the project elements that the process implementation, is the approach by which the
SQA function monitors and how they relate to each SQA processes are established and performed.
other. Subsequent sections outline the SQA activity
areas and constituent activities that IEEE 730-2014 What Is IEEE 730?
covers, and provide condensed descriptions of these An applicable description of IEEE 730-2014 can be
activity areas. The last two sections provide a list of had directly from its introduction and scope clause
informative annexes contained in IEEE 730-2014, as (IEEE 2014):
well as summaries and conclusions.
IEEE Std 730 has been a benchmark for software
quality assurance (SQA) professionals since it was
What Is Software first published in 1979. While previous versions of
Quality Assurance? IEEE Std 730-2014 provided an SQA plan outline,
Before discussing what software quality assurance is, this revision expands the scope of this standard to
one should note what it is nottesting. SQA is not address the processes defined in software life-cycle
testing, despite a number of organizations using the framework standard, ISO/IEC/IEEE 12207:2008.
This change in emphasis is consistent with and
terms quality assurance, QA, QE, or even SQA
elaborates the process requirements in ISO/IEC/
to refer to their testing activities or groups. Testing is a
IEEE 12207:2008.
different activity; it is addressed in IEEE 1012 Software
Verification and Validation (IEEE 2012) rather than This standard establishes requirements for
IEEE 730-2014. initiating, planning, controlling, and executing
Koch (2006) states that testing and its related activi- the software quality assurance (SQA) processes
ties are part of quality control, which is an evaluative of a software development or maintenance project.
activity that is done after a product (or component) has This standard is harmonized with the software
been built. Therefore, he continues, quality cannot be life-cycle process of ISO/IEC/IEEE 12207:2008
tested into a product, it must be built into it. and the information content requirements of ISO/
So then, what in fact is SQA (actual QA)? Koch IEC/IEEE 15289:2011.
states that quality assurance is proactive, consisting of
IEEE 730-2014 elaborates the 16 SQA tasks identified
activities designed to ensure that quality is built into the
in ISO/IEC/IEEE 12207:2008 (ISO/IEC/IEEE 2008) into
product. IEEE 730-2014 states that SQA is a cascading
activities, providing specific purposes, outcomes, and
series of activities that lead to a justified statement of
tasks. Note that what is identified as a task in ISO/IEC/
confidence that a software development project yields
IEEE 2007:2008 is identified as an activity in IEEE
products that fulfill the purposes that the stakeholders
730-2014 (a task in IEEE 730-2014 is a different entity).
intend for them (IEEE 2014). The cascade is as follows
Note also that IEEE 730-2014 splits the measurement task
(IEEE 2014):
of 12207 into two separate activities one for product

SQA ensures = that the project conforms to its assurance and one for process assurance. Also, IEEE
processes, and 730-2014 merges the establish the quality assurance

www.asq.org 27
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

process and the additional quality management activi- IEEE 730-2014 also provides background information
ties tasks of 12207 into a single activity. about key concepts of SQA, such as:
For each of the 16 SQA activities, IEEE 730-2014 The interplay between project and organizational
describes (IEEE 2014): responsibility
The purpose of the activity in supporting SQA The relationship between SQA and requirements
Specific outcomes that fulfill the purpose An overview of SQA conformance relationships
Specific tasks whose completion will achieve Acquirer and supplier perspectives
the outcomes Defining the SQA role
For example, in the Manage SQA Records activity Software product risk
(see clause 5.3.5 in IEEE 730-2014 [IEEE 2014]), the
Software process improvement
purpose is:
In addition, IEEE 730-2014 includes many informative
Create records of SQA activities, outcomes, and annexes. A detailed list is provided later in this article.
tasks; manage and control these records; make
these records available to project stakeholders.
Why Use IEEE 730?
The outcomes are:
There are three main reasons an organization should
Records related to SQA activities, outcomes, use IEEE 730-2014:
and tasks are created.
1. Demonstrate conformance to the official
Records are maintained and stored in standard for SQA. For projects where the cus-
accordance with appropriate organizational, tomer, supplier organization, and/or regulatory
regulatory, and project plan requirements. bodies require such conformance, the value
Records are made available to project stakehold- of conformance is clear. IEEE 730-2014 has
ers as specified by the contract and the SQAP. informative annexes that discuss its use in the
The tasks are: medical device and nuclear industries. Another
area where conformance is often required is the
1. Create records as required by the SQAP. These
development of critical software, where failure
records capture findings of SQA activities and
can impact the safety of people or the environ-
tasks and provide evidence that SQA activities
ment, or cause substantial financial losses.
and tasks were performed.
IEEE 730-2014 can be used to define a level
2. Maintain records according to trustworthi- of conformance required for critical software
ness, and security and privacy requirements. in order to establish a stakeholder-required
3. Identify records of quality assurance activities level of reliability, safety, and security (IEEE
as accessible, deliverable, or internal use only 730-2014 has an informative annex, Annex I,
to avoid contract noncompliance or inadvertent going into these issues in greater detail).
transfer of intellectual property. 2. Use IEEE 730 as a reference for developing an
4. Maintain the integrity of the SQA functions effective and consistent SQA process tailored
records through a document control system to the specific needs of an organization. Many
to prevent their modification or inadvertent organizations know that they need processes to
removal and release. follow in order to maximize the likelihood that
5. Supply specific records to authorized stake- their software products will satisfy their custom-
holders defined in the contract. Records are ers, especially in an environment of constantly
made available subject to confidentiality and changing market conditions. They know they
other constraints. The contract specifies what need to be constantly analyzing and evaluating
the acquirer will receive from the supplier; the necessarily incomplete view that these
the SQAP specifies which SQA function processes present and adjusting the processes
records the acquirers internal organizations inputs, algorithms, models, approaches, and out-
will receive. puts on the basis of organizational experience

28 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance

and learning. To such organizations, IEEE


730-2014 provides a minimum set of process
PROJECT COMPONENTS AND
areas to meet the standard, providing for each THEIR INTERRELATIONSHIPS
area outcomes to aim for and tasks to carry out.
Conformance to IEEE 730-2014 allows an orga-
WITHIN SQA
SQA oversees a set of components consisting of require-
nization to develop an SQA structure in which
ments, plans, processes, products, and others. The
it can function with reasonable confidence for
components, identified in clauses 4.3 and 4.4 of IEEE
a quality product (for those organizations using
730-2014, are shown in Table 1 and diagrammed in
an agile development to address these changing
Figure1. A primary goal of SQA is to ensure that each
market conditions, IEEE 730-2014 provides an
of these components conforms to the component(s)
annex, Annex F, showing how to integrate SQA
immediately upstream from it (see Table 2).
into an agile environment).
3. Obtain information and guidance on specific
questions. IEEE 730-2014 also serves as a
THE ACTIVITIES AND
powerful and easy-to-follow guide to produc- PROCESS AREAS OF SQA
ing a quality software product. Each of the SQA carries out 16 activities on the components listed
16 activity areas described in IEEE 730-2014 in Table 1, each of which is described in detail in clause
(in clause 5 of the standard) shows specific 5 of IEEE 730-2014. These activities are grouped into
outcomes to aim for and tasks to follow to three process areas, shown in Table 3 (derived from IEEE
obtain these outcomes, while the clause on 730-2014 [IEEE 2014]), described briefly in later sections
key concepts of SQA (clause 4 of the standard) of this article, and addressed in full detail in IEEE 730-
and the standards annexes provide important 2014 itself. IEEE 730-2014 also contains informative
background material. annexes providing guidance on many related topics.

TABLE 1 Project components TABLE 2 A goal of SQA is to ensure each of


these components conforms to the
1. Stakeholder wants, needs, and expectations
component immediately upstream
2. Rules, regulations, and laws
3. Contract requirements (requirements specified This component Conforms to this component
in the contract) and stakeholder requirements
(expressed or implied requirements from the Contract and stakeholder Stakeholder wants, needs, and
stakeholder), together forming established requirements expectations
requirements Contract and stakeholder Rules, regulations, and laws
4. Organizational processes (organizational-level requirements
activities applied to the project)
Process requirements Contract and stakeholder requirements
5. Process requirements (the processes the project
Process requirements Organizational processes
will use to produce the project outcomes),
which lead to: Project processes Process requirements
a. Required plans
Required plans Process requirements
b. Project processes
c. Other processes (environments, Environments, Process requirements
subcontractors, skills, and knowledge) subcontracts, and skills
6. Product requirements (the functions the product Product requirements Contract and stakeholder requirements
is mandated to perform and attributes the
Software requirements Product requirements
product is mandated to possess), which lead to:
a. Software requirements (product requirements Required plans Software requirements
that relate to software) Execution of activities Required plans
7. Execution of activities Execution of activities Project processes
8. Products: Execution of activities Environments, subcontracts, and skills
a. Software
2014, ASQ

2014, ASQ

b. Documentation Software, documents, Software requirements


c. Customer support support

www.asq.org 29
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

TABLE 3 SQA activity areas and activities SQA PROCESS


SQA Activity Section in IEEE 730 IMPLEMENTATION
SQA Process Implementation 5.3
Establish the SQA process 5.3.1 (clause 5.3 in IEEE
Coordinate with related processes 5.3.2 730-2014)
Document SQA planning 5.3.3
To carry out SQA, a project establishes
Execute the SQA plan 5.3.4
SQA processes and functions (which
Manage SQA records 5.3.5
Evaluate organizational independence and objectivity 5.3.6 may be based on existing organizational
Product Assurance 5.4 (and 5.4.1) processes and functions), documents
Evaluate plans for conformance 5.4.2 them in an SQA plan, and then executes
Evaluate product for conformance 5.4.3 the plan.
Evaluate product for acceptability 5.4.4 Establishing and implementing the
Evaluate product life-cycle support for conformance 5.4.5 SQA process enables key evidence of soft-
Measure products 5.4.6
ware quality assurance to be produced,
Process Assurance 5.5 (and 5.5.1)
maintained, and acted upon. It also estab-
Evaluate life-cycle processes and plans for 5.5.2
conformance lishes the SQA functions organizational
Evaluate environments for conformance 5.5.3 independence, allowing it to act as a voice
Evaluate subcontractor processes for conformance 5.5.4 for software quality.
2014, ASQ

Measure processes 5.5.5 Specifically, the project carries out


Assess staff skill and knowledge 5.5.6
the following:

FIGURE 1 Items and conformance relationships within the SQA process


3 Activity areas:
1
Stakeholder wants, Contract and Requirements
stakeholder requirements 4 definition
needs, and Organizational
expectations processes Product assurance
Process assurance
2
Production
Rules 6
Product Item at end of arrows
Regulations requirements conforms/complies with
Laws (or is produced by) item
at beginning of arrows.
6a 5
Software Process
requirements requirements

5c
5a 5b Environments,
Required plans Project processes subcontracts, and skills

7
Execution of
activities
8b
Customer
8a support
8b
2014, ASQ

Software Documentation

30 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance

1. Establish the SQA function for the project Relationship of software quality to stakeholder
(clause 5.3.1): and other requirements
a. Determine the process requirements Elements of SQA activities (see Table 3)
and consequent processes SQA needs
Software product risks
to track.
b. Determine the product requirements that Relationship between software and systems
SQA needs to track. software process improvement
2. Coordinate with related project and organiza-
tional processes (clause 5.3.2). Coordinate With Related
3. Create an SQA plan (clause 5.3.3).
Software Processes
4. Carry out the SQA plan (clause 5.3.4).
5. Create and use a record-keeping system to
(clause 5.3.2 in IEEE 730-2014)
document SQA activities (clause 5.3.5). ISO/IEC/IEEE 2007:2008 has many (39) other processes
related to the software life cycle (ISO/IEC/IEEE 2008),
6. Ensure SQAs organizational independence
and a project will use many of these processes. Because
clause (clause 5.3.6).
the SQA function is responsible for overall process coor-
Note that carrying out a retrospective at the end dination, it needs to work with project and organizational
of the project will benefit succeeding projects and the management to determine which of these processes apply
overall organization in general.
to the project and how to coordinate SQA activities with
them. These processes are outlined in the Appendix.
Establish the SQA Processes Of these related software processes, the ones most
(clause 5.3.1 in IEEE 730-2014) closely related to the SQA process itself are four of the
software support processes:
Establishing the SQA processes is key to carrying out
Software verification
SQA and thereby producing quality software. The SQA
processes are established by carrying out these steps: Software validation
Establish the SQA policy and its role within the Software review
project and larger organization. Software audit
Identify the componentsrequirements, pro- These four closely related software processes are
cesses, plans, tasks, and productsthat SQA specifically mentioned in clause 5.3.2 of IEEE 730 as
will evaluate. part of Software Support Processes, and are addressed
Assign people and other resources to SQA. in detail in IEEE 1012 (IEEE 2012) and IEEE 1028
Establish a method for overseeing SQA and (IEEE 2008).
providing feedback and lessons learned. Other related software processes mentioned in clause
Establish SQAs organizational independence 5.3.2 of IEEE 730-2014 are:
technical, managerial, and financial. Software implementation process
If the organization has established SQA functions Software reuse processes
and processes, the project can use these to establish Agreement processes
the SQA function and processes within the project. If Project processes
not, the project can be guided by clause 4 in IEEE 730-
Technical processes
2014 Key Concepts of Software Quality Assurance,
which provides an overview of SQA issues, as well as Quality management process
by what previous projects in the organization have done Life-cycle model management process
with respect to SQA. Clause 4 of IEEE 730-2014 includes A variety of software maturity models have developed
topics such as: key processes that demonstrate capability at various
Organizational considerations of the SQA maturity levels. These models include SQA as one of
function their key processes. They fulfill the coordinate with

www.asq.org 31
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

related software process areas activity of IEEE 730- The previous version of IEEE 730, written in 2002,
2014 by specifying SQAs relationship to the other key focused specifically on the writing of an SQAP. That
processes the models take into account. information is now covered in clause 5.3.3 (which
An example is the following process suite. While it includes the outline in Table 4) and Annex C of the
is that of CMMI Levels 2 and 3 (SEI 2010), other models current IEEE 730-2014 standard (IEEE 2014), with the
such as Software Process Improvement and Capability
rest of the current standard and its annexes being new
Determination (SPICE) (ISO 2003) and ISO 9000-3/ISO
SQA material not contained in the previous version.
9001 (ISO 2004/ISO 2008) contain similar provisions.
Processes at the project/repeatable maturity level For those familiar with the previous version of IEEE
(see Level 2 of SEI 2010 for details): 730, Annex B in the current standard provides a map
Configuration management between the SQAP outline of the previous standard and
that of the current one.
Measurement and analysis
Product and process quality assurance TABLE 4 Outline to follow when writing
(this is CMMIs terminology for the the SQAP
SQA process)
1. Purpose and scope
Project planning, monitoring, and control
2. Definitions and acronyms
Requirements management
3. Reference documents
Supplier agreement management
4. SQA plan overview:
Processes at the organizational/managed maturity
4.1 Organization and independence
level (see Level 3 of SEI 2010 for details): 4.2 Software product risk
Decision analysis and resolution 4.3 Tools
4.4 Standards, practices, and conventions
Integrated project management 4.5 Effort, resources, and schedule
Organizational process definition 5. Activities, outcomes, and tasks:
Organizational process focus 5.1 Product assurance:
Organizational training 5.1.1 Evaluate plans for conformance
5.1.2 Evaluate product for conformance
Product integration 5.1.3 Evaluate product for acceptability
Requirements development 5.1.4 Evaluate product life cycle support for
conformance
Risk management 5.1.5 Measure products
Technical solution 5.2 Process assurance:
5.2.1 Evaluate life cycle support for conformance
Validation 5.2.2 Evaluate environments for conformance
Verification 5.2.3 Evaluate subcontractor processes for
conformance
5.2.4 Measure processes
Document SQA Planning 5.2.5 Assess staff skills and knowledge
6. Additional considerations:
(clause 5.3.3 in IEEE 730-2014) 6.1 Contract review (including verifying and
The central part of SQA is the SQAP, which documents validating the contract itself and the consequent
the plans for SQA activities on the project. The SQAP established requirements)
6.2 Quality measurement
identifies the SQA activities and tasks as well as any 6.3 Waiver and deviations
tailoring of organizational quality processes to the 6.4 Task repetition
specific project, and includes specific needs of the project 6.5 Risks to performing SQA
as well as the overall quality approach. 6.6 Communications strategy
6.7 Nonconformance process
Clause 5.3.3 of IEEE 730-2014 prescribes the outline
7. SQA records:
to follow in writing the SQAP, and Annex C provides
2014, ASQ

detailed guidance for developing the SQAP according to 7.1 Analyze, identify, collect, file, maintain, and dispose
7.2 Availability of records
that outline. The outline is shown in Table 4.

32 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance

Execute the SQA Plan Technical independence SQA is carried out by


people who are not involved in the development of
(clause 5.3.4 in IEEE 730-2014) the system or its elements. Such people are more
After the SQA plan that documents the SQA planning likely than those heavily involved in development
effort has been written, it needs to of course be carried to detect subtle defects or nonconformances.
out. Executing the plan includes: Managerial independence Those responsible
Carrying out the steps shown in the SQA plan for the SQA effort are vested in an organization
Revising the SQA plan as needed to reflect separate from the development and program
changes in the project management organizations. This allows SQA
to submit its results to program management
Generating reports and records to document
without restrictions (such as prior approval) or
the efforts
adverse pressures from the development group
Raising and resolving nonconformances that or project management.
arise when actual outcomes do not agree with Financial independence The SQA budget is
contract requirements or expectations vested in an organization independent of the
The last bullet item, raising and resolving nonconfor- development organization. This protects the SQA
mances, is a key part of the SQA function, since this is efforts from diversion of its funding or similar
the main mode by which SQA gets its work completed. financial pressures.

Manage SQA Records PRODUCT ASSURANCE


(clause 5.3.5 in IEEE 730-2014) (clause 5.4 in IEEE 730-2014)
For SQA to succeed, a project or organization must estab- Product assurance establishes confidence in the software
lish and manage records that show exactly what has been products (which also includes documentation, services,
done, the results that were obtained, and the follow-up and other related outputs). This is done by compiling
carried out to rectify problems and nonconformances. evidence for a justified statement of confidence that the
This implementation includes: products fulfill their established requirements as shown
Creating the records in the contract and related documents.
Updating them as activities occur Product assurance contains these core activities:
Maintaining them and preserving their integrity Ensuring that the project plans are documented,
comply with the established requirements (which
Making them readily available to project staff,
in turn comply with the contract), are mutually
management, acquirer representatives, and consistent, and are being executed as required,
subcontractor staff if subcontracting is involved especially against the established requirements
(clause 5.4.2)
Evaluate Organizational Ensuring that the products, which include
the software itself, user documentation, and
Objectivity and Independence customer support, comply with the contract and
(clause 5.3.6 in IEEE 730-2014) adhere to the plans (clause 5.4.3)
To carry out SQAs oversight and assurance role, the Ensuring that the products comply with con-
people responsible for performing the SQA function tractual requirements and are acceptable to the
need to have a role within the organization that pro- customer (clause 5.4.4)
vides an unimpeded communication mechanism with Ensuring that the acquirer and other parties
organizational management. Also, they need to have the are provided with the proper level of product
resources and authority to make objective evaluations, life-cycle support (clause 5.4.5)
and initiate, effect, and verify problem resolutions. Ensuring that the product measurements are
This objectivity and independence takes three forms in conformance with established policies and
(IEEE 2012): procedures (clause 5.4.6)

www.asq.org 33
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

Evaluate Plans for Conformance Raising nonconformances when products, docu-


mentation, or support items do not fulfill the
(clause 5.4.2 in IEEE 730-2014) requirements allocated to them
Much as blueprints and architectural diagrams are
identifiable products of an effort to build a house (and,
like other products, can be purchased separately from the Assurance of the Products
homebuilding effort), plans are a product of the software Acceptability to the Customer
development effort. Correct and consistent plans that are
compatible with the requirements are necessary parts (clause 5.4.4 in IEEE 730-2014)
of successfully carrying out a quality project. A product can fulfill each individual requirement and
Assurance of plans includes: be free of defects, but nonetheless not provide what
the customer (reasonably) wants and is therefore not
Identifying the required plans
acceptable to them. This can be because the require-
Evaluating that they are consistent with each ments were not clear, the customers business situation
other has changed, the original situation has been overcome
Evaluating that they fulfill the contract and the by events, or a number of other reasons. Therefore, a
established requirements mechanism is needed to ensure (as much as possible)
Raising nonconformances when the aforemen- that prior to delivery the product is acceptable to the
tioned does not happen customer, so that action can be taken in a timely manner
if this is not the case.
Acceptance assurance steps include:
Evaluate Software Products for Documenting the suppliers understanding of
Conformance (clauses 5.4.3 the criteria for product acceptance
and 5.4.5 in IEEE 730-2014) Determining whether the customer has the means
to determine the criteria for product acceptability
Assurance of the software products, that is, evaluation
for conformance to established requirements, (as well Documenting the customers criteria for product
as customer acceptability) is the key part of product acceptance
assurance and an important part of SQA in general. It Determining whether the product conforms to
ensures that the products that result from the develop- the acceptance criteria
ment effort fit the specifications and designs (that is, Raising nonconformances when the criteria are
things are done right), and fulfill the established and not conformed to or when the products do not
correct requirements (that is, the right things are done). satisfy contractual obligations
Much of the relationship of SQA to other software Optionally developing by the supplier and cus-
development processes, especially verification, valida- tomer a mechanism to establish acceptability
tion, review, and audit, are focused on monitoring and prior to product delivery
raising nonconformance issues in order to ensure that
In agile or other incremental processes, multiple
these conformances happen.
deliveries of product may be made to the customer. In
To the extent that testing has a connection to QA/
that case, acceptability assurance activities will happen
SQA, product assurance is the area to which it connects.
more than once.
Assurance of software products consists of:
Identifying the required software products, related
documentation, and customer support items Product Measurements
Allocating the established requirements to (clause 5.4.6 in IEEE 730-2014)
the specific products, documentation, and To provide the evidence that the product assurance
support items requirements are met (as well as process assurance
Evaluating (verifying, validating, or reviewing) requirements), organizations need to develop a measure-
that each product, documentation, and support ment system to generate the appropriate evidence. Such
item fulfills the requirements allocated to them measurements:

34 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance

Are carried out on the software products Ensuring that subcontracts and subcontractors
Accurately represent product quality follow the process requirements and deliver
conforming products (note that the relationship
Conform to the projects processes, plans, stan-
of the supplier to the subcontractor is similar to
dards, and procedures, with nonconformances
that between the main supplier and the acquirer)
being raised when the measurement activities
(clause 5.5.4)
do not do so
Ensuring that the process measurements are
Produce reports that share measurement infor-
in conformance with established policies and
mation with management and stakeholders
procedures (clause 5.5.5)
Fully address the SQA functions measurement
Ensuring that the project staff has the necessary
needs
skills, knowledge, and training (clause 5.5.6)
Creating such measures is a result of a measurement
process that includes:
Identifying the measurement procedures estab-
Evaluation of the Life-Cycle
lished by the project (or organization) Processes and Plans for
Determining whether these measurements are Conformance to Requirements
representative of product quality attributes, and
consistent with project standards and procedures (clause 5.5.2 in IEEE 730-2014)
Analyzing whether the measurement procedures Making sure the project processes and plans meet the
are sufficient to satisfy the projects product process requirements is the central part of process
measurement requirements assurance. This is similar to making sure products meet
product requirements on the product assurance side.
Having done the previous steps:
For the most part, process conformance is carried
Analyzing the product measurements to out through periodic reviews and audits, though
find the gaps between measurements and failures of project activities to follow processes may
expectations and recommend improvement themselves cause problems that will eventually lead
to close these gaps to specific root-cause analyses and other problem-
Evaluating measurement results to determine solving techniques.
whether improvement steps have been effective Either the acquirer or organization management may
The steps described here pertain as well to products generate specific process requirements that the project
developed by subcontractors. processes must conform to. This could arise, for example,
from various levels of risk or various levels of regulatory
PROCESS ASSURANCE compliance that cause a demand for certain processes to
be carried out, or from an overall organizational policy
(clause 5.5 in IEEE 730-2014) dictating specific given processes.
In process assurance, organizations make sure that the For stability in the face of changing requirements,
processes used for the software conform to the projects especially in agile or other iterative and incremental life
process requirements (which in turn conform to contract/ cycles, part of this conformance activity involves setting
stakeholder requirements and organizational processes). specific project process change management procedures.
Process assurance contains these core activities:
Ensuring that the project life-cycle processes Evaluation of
and the project plans conform to the projects
process requirements, which in turn conform
Software Environments
to the contract (clause 5.5.2) (clause 5.5.3 in IEEE 730-2014)
Ensuring that the project environments conform Software engineering practices, software engineering
to the project processes and adhere to the plans and test environments, and libraries are necessary for
(clause 5.5.3) a project to develop quality products.

www.asq.org 35
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

They may be explicitly specified in the contract Are carried out on the software processes
or project plans. To the extent that they are, IEEE Accurately represent process quality
730 specifies that the SQA function reviews them to Conform to the projects processes, plans, stan-
ensure that they are in conformance with the contract dards, and procedures, with nonconformances
or plans, and raises nonconformances if they are not. being raised when the measurement activities
Even if they are not explicitly specified, IEEE 730 do not do so
calls for the software engineering practices, environ-
Produce reports that share measurement
ments, and libraries to be reviewed nonetheless to
information with management and stakeholders
ensure that they are in conformance with overall
project processes, with nonconformances being raised Fully address the SQA functions measurement
if they are not. needs
In a similar manner, creating and using such mea-

Evaluation of Subcontractor sures is a result of a measurement process that includes:


Identifying the measurement procedures estab-
Activities for Conformance lished by the project (or organization)
(clause 5.5.4 in IEEE 730-2014) Determining whether these measurements are
In many projects, some of the product development representative of process quality attributes,
activities are subcontracted to organizations and com- and consistent with project standards and
panies outside the suppliers own organization. Even procedures
though the supplier is contractually responsible to the Analyzing whether the measurement proce-
acquirer for the resulting products, the supplier has dures are sufficient to satisfy the projects
no direct control over the subcontractor. The supplier process measurement requirements
therefore needs to pass along the same product and Having done the previous steps:
process requirements to the subcontractor that they Analyzing the process measurements to
themselves have to satisfy, and assure themselves that find the gaps between measurements and
the subcontractor has conformed to them. expectations and recommend improvement
In this activity, the SQA and the SQAP identify to close these gaps
product and process requirements that are allocated
Evaluating measurement results to deter-
to the subcontractor from the supplier. SQA then
mine whether improvement steps have been
determines whether the subcontractor has established
effective
their product and process requirements, whether
these conform to the suppliers product and process Note that the steps described here pertain as well
to processes used by subcontractors.
requirements, and whether the subcontractor is indeed
conforming to their established requirements.
Evaluation of Staff Skills and
Evaluation of Process Knowledge for Conformance
Measurements for (clause 5.5.6 in IEEE 730-2014)
Conformance Much as quality tools are necessary for a quality
product, so are quality skills and knowledge on the
(clause 5.5.5 in IEEE 730-2014) part of the management and staff of the project and
As with product assurance, to provide the evidence that organization. IEEE 730-2014 prescribes that the
the preceding process assurance requirements are met, organization identify the needed skills and knowledge,
organizations need to develop a process measurement evaluate whether and to what extent the management
system that obtains data to generate the appropriate and staff have them, and to the extent they do not, to
evidence. In a similar manner as with the product put plans into effect to make sure management and
measurements, such measurements: staff acquire these necessary skills and knowledge.

36 SQP VOL. 16, NO. 3/ 2014, ASQ


An Introduction to the New IEEE 730 Standard on Software Quality Assurance

IEEE 730-2014 also prescribes that the organization Annex G: Mapping Between IEEE 730 and ISO/
continually carry out development plans to ensure IEC 29110 Standard for Very Small Entities
staff possession of all required skills and knowledge. Annex H: Software Tool Validation
To further these outcomes, the SQA function does
Annex I: Assessing Product Risk: Software
the following:
Integrity Levels and Assurance Cases
Audits the organization staffs skills and knowl-
Annex J: Example Corrective and Preventive
edge, compares it to those required by the
Action Process and Root Cause Analysis Process
project, and identifies any gaps.
Annex K: Cross-Reference
Determines whether development programs
Annex L: Bibliography
are in place to address these gaps and whether
they are doing the job.
Determines any changes in required skills and SUMMARY AND
knowledge, as well as those needed by new
members coming on board. They also monitor
CONCLUSIONS
personnel training records on a regular basis. SQA is a key part of the software development process.
It is a cascading series of activities and processes
whose aim is to ensure that the software will pass its
Defect Detection tests; conform to its established requirements; meet
In software there is no way of counting how many stakeholder wants, needs, and expectations; and satisfy
defects actually escaped a defect detection technique. the customer.
The types of defects detected by subsequent defect IEEE 730-2014 goes beyond its former scope of
detection techniques can be examined to approximate providing a standard for SQAPs. It expands this scope
the number of actual escapes. For example, the end of by providing detailed normative requirements in all
the first defect detection technique (requirement defect three process areas of SQAprocess implementation,
detectiontypically a requirement peer review) there product assurance, and process assurance.
are no known escapes. IEEE 730-2014 serves these key functions:
Providing a rubric to show conformance to SQA
INFORMATIVE ANNEXES standards where such conformance is required

IN IEEE 730-2014 by the customer or external regulators


Providing a rubric to show conformance to SQA
In addition to the main text of the standard, IEEE 730-
standards where such conformance strongly
2014 contains informative annexes on many related
attracts business from current and potential
topics. These annexes include (IEEE 2014):
customers
Annex A: Mapping Between IEEE/ISO/IEC
Providing detailed information on key SQA
12207-2011 clause 7.2.3 Outcomes and IEEE
issues
31 Standard 730:2014.
Providing an easy-to-follow road map to develop-
Annex B: Mapping Between SQA Plan Outlines
ing and implementing an effective SQA process
Contained in IEEE 730-2002 and IEEE 730-2014
This article provides summaries of each component
Annex C: Guidance for Creating Software
of the standards principal clauseclause 5; Software
Quality Assurance Plans
Quality Assurance Process, as well as describing the
Annex D: Mapping IEEE 730-2014 and ISO/ major project components addressed in SQA along
IEC 15504 (SPICE) with their mutual interrelationships. This article is
Annex E: Applying IEEE 730-2014 Industry- intended for use as an introduction and handbook to
Specific Guidance the overall standard, which in turn can be used as a
Annex F: SQA Activities and Their Relationship handbook for the overall SQA process itself, leading
to the Agile Development Process to better quality software.

www.asq.org 37
An Introduction to the New IEEE 730 Standard on Software Quality Assurance

ACKNOWLEDGEMENTS K och, Alan S. 2006. Connecting with quality Testing is not quality assur-
ance. Project Connections. Available at: http://www.projectconnections.
T he author would like to thank Kate Pulnik for editing the original
com/articles/080306-koch.html.
manuscript and Sue Carroll, Byron Frank, Eva Freund, and Steve Rakitin
S EI. 2010. CMMI for development, version 1.3. Pittsburgh, PA: Software
for their comments.
Engineering Institute (SEI), Carnegie Mellon University.
 IEEE 2008, all rights reserved
REFERENCES
 IEEE 2012, all rights reserved
IEEE. 2008. IEEE 1028-2008 IEEE Standard for Software Reviews and
 IEEE 2014, all rights reserved
Audits. New York: Institute of Electrical and Electronic Engineers (IEEE).
 ISO/IEC 2008 and IEEE 2008, all rights reserved
IEEE. 2012. IEEE 1012-2012 IEEE Standard for System and Software
Verification and Validation. New York: Institute of Electrical and
Electronic Engineers (IEEE). BIOGRAPHY
IEEE. 2014. IEEE Standard 730 for Software Quality Assurance Processes. David Heimannreceived a bachelors degree in mathematics from City
New York: Institute of Electrical and Electronic Engineers (IEEE). College of New York, a masters degree in mathematics from Purdue
ISO. 2003. ISO/IEC 15504-2:2003 Information technology Process University, and a doctorate in computer science from Purdue. He has held
assessment Part 2: Performing an assessment. Geneva, Switzerland: positions in government, industry, and academia, and has worked in the
International Organization for Standardization (ISO). fields of software analysis and metrics, software process improvement,
database management systems, reliability modeling, simulation, and
ISO. 2004. ISO 90003:2004 Software engineering Guidelines for the
probabilistic modeling.
application of ISO 9001:2000 to computer software. Geneva, Switzerland:
 e has published numerous articles, including the relationship between
H
International Organization for Standardization (ISO).
software analysis and complexity, system reliability and availability mod-
ISO. 2008. ISO 9001:2008 Quality Management Systems: Requirements. eling, case studies on software metrics implementation, and using metrics
Geneva, Switzerland: International Organization for Standardization. in an agile development environment. Heimann is a member of the IEEE
ISO/IEC/IEEE. 2008. ISO/IEC/IEEE 12207-2008 Systems and Software Technical Working Group that has developed the new 2014 version of the
Engineering Software Life Cycle Processes. Institute of Electrical and IEEE Standard 730 for Software Quality Assurance. He can be reached by
Electronic Engineers (IEEE). email at heimann.david@gmail.com.

APPENDIX Processes Related to the Software Life Cycle


I. SOFTWARE SPECIFIC PROCESSES 8. Software problem 2. Project assessment and
A. Software specific processes resolution process control process

1. Software implementation C. Software reuse processes 3. Decision management process


process 1. Domain engineering process 4. Risk management process
2. Software requirements 2. Reuse asset management 5. Configuration
analysis process process management process
3. Software architectural 3. Reuse program 6. Information management
design process management process process
7. Measurement process
4. Software detailed II. SYSTEM CONTEXT PROCESSES
design process D. Technical processes
A. Agreement processes
5. Software construction process 1. Stakeholder requirements
1. Acquisition process
definition process
6. Software integration process 2. Supply process 2. System requirements
7. Software qualification B. Organizational project- analysis process
testing process enabling processes 3. System architectural
B. Software support processes 1. Life-cycle model design process
1. Software documentation management process 4. Implementation process
management process 2. Information management 5. System integration process
2. Software configuration process 6. System qualification
management process 3. Project portfolio testing process
3. Software quality management process 7. Software installation process
assurance process 4. Human resources 8. Software acceptance
4. Software verification process management process support process
5. Software validation process 5. Quality management process 9. Software operation process
2014, ASQ

6. Software review process C. Project processes 10. Software maintenance process


7. Software audit process 1. Project planning process 11. Software disposal process

38 SQP VOL. 16, NO. 3/ 2014, ASQ

You might also like