ISO/IEC/IEEE 14764:2022
(Main)Software engineering - Software life cycle processes - Maintenance
Software engineering - Software life cycle processes - Maintenance
This document provides guidance for the maintenance of software, based on the maintenance process and its activities and tasks defined in ISO/IEC/IEEE 12207:2017, 6.4.13. Moreover, this document describes the maintenance process in greater detail and establishes definitions for the various types of maintenance. This includes maintenance for multiple software products with the same maintenance resources. “Maintenance” in this document means software maintenance unless otherwise stated. The document does not address the operation of software and the operational functions, e.g. backup, recovery, system administration, which are normally performed by those who operate the software. However, it does include the related disposal process defined in ISO/IEC/IEEE 12207:2017, 6.4.14. This document is written primarily for managers, maintenance organizations, quality managers, users and acquirers of systems containing software. Many of the activities and tasks discussed in this document apply equally to maintenance services, as well as to maintained software products. For example, in a COTS intensive system, maintenance services are performed to sustain the product in operations. While the scope of this document is software maintenance, hardware and hardware costs are important considerations for maintenance.
Ingénierie du logiciel — Processus du cycle de vie du logiciel — Maintenance
General Information
- Status
- Published
- Publication Date
- 20-Jan-2022
- Technical Committee
- ISO/IEC JTC 1/SC 7 - Software and systems engineering
- Drafting Committee
- ISO/IEC JTC 1/SC 7/WG 7 - Life cycle management
- Current Stage
- 6060 - International Standard published
- Start Date
- 21-Jan-2022
- Due Date
- 29-Jun-2023
- Completion Date
- 21-Jan-2022
Relations
- Effective Date
- 23-Apr-2020
Overview - ISO/IEC/IEEE 14764:2022 (Software maintenance)
ISO/IEC/IEEE 14764:2022 provides authoritative guidance on software maintenance within the software life cycle. Based on the maintenance process defined in ISO/IEC/IEEE 12207:2017 (clause 6.4.13), the standard expands definitions for types of maintenance, details activities and tasks, and addresses maintenance for multiple products using shared resources. It explicitly excludes routine software operation tasks (backup, recovery, system administration) but includes the related software disposal process (12207:2017, clause 6.4.14). The third edition (2022) is written primarily for managers, maintenance organizations, quality managers, users and acquirers.
Key topics and technical requirements
The standard organizes practical requirements and recommendations around the maintenance lifecycle, including:
- Maintenance process, activities and tasks - strategy, planning, execution and control of maintenance work.
- Maintenance planning and strategy - defining scope, organization, resources, cost estimates and training needs.
- Problem and modification analysis - procedures for assessing maintenance requests, feasibility reviews, implementation, testing, approval and recording.
- Impact analysis and change control - assessing effects of modifications across products and components.
- Maintenance measurements and metrics - monitoring quality, availability and performance of maintenance activities and replacement elements.
- Software disposal and archiving - strategy, notification, post‑disposal tasks and record retention.
- Implementation considerations - types of maintenance (e.g., corrective, adaptive), tools, agreements, early involvement in development to enhance maintainability, and records/information management.
- Software maintenance plan - required content such as processes, resources, control requirements and resource analysis (personnel, environment, financial).
These topics emphasize process definition, traceability, measurement and alignment with the broader software life‑cycle processes.
Applications and who should use it
ISO/IEC/IEEE 14764 is intended for practical use by:
- Maintenance managers and organizations setting up or improving maintenance processes.
- Quality managers defining maintenance controls and metrics.
- Systems users and acquirers who need to specify maintenance requirements in contracts (including COTS‑intensive systems).
- Project and product managers planning lifecycle costs, staffing and disposal. Practical applications include preparing maintenance plans and contracts, defining change control and impact analysis workflows, selecting maintenance tools, and establishing measurement programs to monitor maintenance effectiveness.
Related standards
- ISO/IEC/IEEE 12207:2017 - software life‑cycle processes (maintenance process reference and disposal). (Use this standard together with organizational lifecycle and quality standards when defining complete maintenance and sustainment programs.)
Keywords: software maintenance, maintenance process, software life cycle, maintenance planning, maintenance strategy, software disposal, maintainability, ISO standard.
Frequently Asked Questions
ISO/IEC/IEEE 14764:2022 is a standard published by the International Organization for Standardization (ISO). Its full title is "Software engineering - Software life cycle processes - Maintenance". This standard covers: This document provides guidance for the maintenance of software, based on the maintenance process and its activities and tasks defined in ISO/IEC/IEEE 12207:2017, 6.4.13. Moreover, this document describes the maintenance process in greater detail and establishes definitions for the various types of maintenance. This includes maintenance for multiple software products with the same maintenance resources. “Maintenance” in this document means software maintenance unless otherwise stated. The document does not address the operation of software and the operational functions, e.g. backup, recovery, system administration, which are normally performed by those who operate the software. However, it does include the related disposal process defined in ISO/IEC/IEEE 12207:2017, 6.4.14. This document is written primarily for managers, maintenance organizations, quality managers, users and acquirers of systems containing software. Many of the activities and tasks discussed in this document apply equally to maintenance services, as well as to maintained software products. For example, in a COTS intensive system, maintenance services are performed to sustain the product in operations. While the scope of this document is software maintenance, hardware and hardware costs are important considerations for maintenance.
This document provides guidance for the maintenance of software, based on the maintenance process and its activities and tasks defined in ISO/IEC/IEEE 12207:2017, 6.4.13. Moreover, this document describes the maintenance process in greater detail and establishes definitions for the various types of maintenance. This includes maintenance for multiple software products with the same maintenance resources. “Maintenance” in this document means software maintenance unless otherwise stated. The document does not address the operation of software and the operational functions, e.g. backup, recovery, system administration, which are normally performed by those who operate the software. However, it does include the related disposal process defined in ISO/IEC/IEEE 12207:2017, 6.4.14. This document is written primarily for managers, maintenance organizations, quality managers, users and acquirers of systems containing software. Many of the activities and tasks discussed in this document apply equally to maintenance services, as well as to maintained software products. For example, in a COTS intensive system, maintenance services are performed to sustain the product in operations. While the scope of this document is software maintenance, hardware and hardware costs are important considerations for maintenance.
ISO/IEC/IEEE 14764:2022 is classified under the following ICS (International Classification for Standards) categories: 35.080 - Software. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC/IEEE 14764:2022 has the following relationships with other standards: It is inter standard links to ISO/IEC 14764:2006. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC/IEEE 14764:2022 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/
STANDARD IEC/IEEE
Third edition
2022-01
Software engineering — Software life
cycle processes — Maintenance
Ingénierie du logiciel — Processus du cycle de vie du logiciel —
Maintenance
Reference number
© ISO/IEC 2022
© IEEE 2022
© ISO/IEC 2022
© IEEE 2022
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO or IEEE at the
respective address below or ISO’s member body in the country of the requester.
ISO copyright office Institute of Electrical and Electronics Engineers, Inc
CP 401 • Ch. de Blandonnet 8 3 Park Avenue, New York
CH-1214 Vernier, Geneva NY 10016-5997, USA
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org Email: stds.ipr@ieee.org
Website: www.iso.org Website: www.ieee.org
Published in Switzerland
ii
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
Contents Page
Foreword .v
Introduction . vi
1 Scope . 1
1.1 Overview . 1
1.2 Purpose . 1
1.3 Field of application . 1
1.4 Limitations . 2
2 Normative references . 2
3 Terms, definitions and abbreviated terms . 2
3.1 Terms and definitions . 2
3.2 Abbreviated terms . 5
4 Conformance . 5
5 Application of this document . .5
5.1 General . 5
5.2 Maintenance process . 6
5.3 Organization of this document . 6
6 Maintenance process . 7
6.1 Maintenance activities and tasks. 7
6.1.1 General . 7
6.1.2 Maintenance strategy . 9
6.1.3 Maintenance planning . 10
6.1.4 Maintenance plans and procedures . 10
6.1.5 Maintenance requirements review . 11
6.1.6 Maintenance changes impact analysis .12
6.1.7 Maintenance measurements . 13
6.1.8 Replacement elements monitoring of quality and availability .13
6.1.9 Maintenance and logistics results management . 14
6.2 Problem and modification analysis. 14
6.2.1 Problem and modification analysis task . 14
6.2.2 MR/PR feasibility review . 15
6.2.3 MR/PR replication or verification . 15
6.2.4 MR/PR implementation. 16
6.2.5 MR/PR reviewing and recording . 16
6.2.6 MR/PR approval. 16
6.2.7 MR/PR additional analysis recording . 17
6.2.8 MR/PR implementation using technical processes . 17
6.2.9 MR/PR review of modified system . 17
6.2.10 MR/PR approval and implementation . 18
7 Software disposal .18
7.1 General . 18
7.2 Disposal strategy . 19
7.2.1 General . 19
7.2.2 Disposal strategy items . 19
7.2.3 Disposal tasks . 19
7.2.4 Disposal notification . 19
7.2.5 Disposal notification tasks . 19
7.2.6 Post-disposal tasks . 20
7.2.7 Archiving records . 20
8 Implementation considerations .20
8.1 General . 20
8.2 Types of maintenance . 21
iii
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
8.3 Agreements for maintenance . 21
8.4 Tools for maintenance . 22
8.5 Software maintenance measurement . 22
8.6 Definition of process . 23
8.7 Early involvement in development . 23
8.7.1 General .23
8.7.2 Maintenance organization functions . 23
8.7.3 Maintenance organization involvement . 23
8.8 Applying life cycle processes to strengthen maintainability . . 23
8.8.1 General .23
8.8.2 Maintainability and the technical processes . 24
8.8.3 Maintainability and specific activities in the technical processes . 24
8.9 Records and information items .29
9 Software maintenance plan .30
9.1 General .30
9.1.1 Overview .30
9.1.2 Identification and control of the plan .30
9.1.3 Scope of maintenance .30
9.1.4 Designation of maintenance organization . 31
9.1.5 References . 31
9.1.6 Definitions . 31
9.1.7 Processes . 31
9.1.8 Organization and maintenance activities . 32
9.1.9 Resources . 33
9.1.10 Estimate of maintenance costs . 33
9.1.11 Training .34
9.1.12 Software maintenance control requirements .34
9.1.13 Maintenance records and reports .34
9.2 Resource analysis .34
9.2.1 General .34
9.2.2 Personnel resources . 35
9.2.3 Environment resources . 35
9.2.4 Financial resources . 35
Bibliography .36
IEEE Notices and Abstract.37
iv
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed
for the different types of ISO/IEC documents should be noted. This document was drafted in
accordance with the rules given in the ISO/IEC Directives, Part 2 (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).
IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating
Committees of the IEEE Standards Association (IEEE-SA) Standards Board. The IEEE develops its
standards through a consensus development process, approved by the American National Standards
Institute, which brings together volunteers representing varied viewpoints and interests to achieve the
final product. Volunteers are not necessarily members of the Institute and serve without compensation.
While the IEEE administers the process and establishes rules to promote fairness in the consensus
development process, the IEEE does not independently evaluate, test, or verify the accuracy of any of
the information contained in its standards.
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Details of any patent rights identified during the development of the document are in the Introduction
and/or on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent
declarations received (see https://patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to
the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT), see
www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.
ISO/IEC/IEEE 14764 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 7, Systems and software engineering, in cooperation with the Systems and Software
Engineering Standards Committee of the IEEE Computer Society, under the Partner Standards
Development Organization cooperation agreement between ISO and IEEE.
This third edition cancels and replaces the second edition (ISO/IEC 14764:2006), which has been
technically revised.
The main changes compared to the previous edition are as follows:
— alignment of the standard with ISO/IEC/IEEE 12207:2017 and updates to other ISO/IEC JTC1/SC7
standards;
— introduction of modern approaches to “maintenance”.
Any feedback or questions on this document should be directed to the user’s national standards
body. A complete listing of these bodies can be found at www.iso.org/members.html and
www.iec.ch/national-committees.
v
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
Introduction
This document provides guidance on the software maintenance process. Maintenance is a technical
process in the life cycle of a software product, as described in ISO/IEC/IEEE 12207. The maintenance
process contains the activities and tasks of the maintenance organization. This document is the result
of the harmonization of ISO/IEC 14764 and IEEE Std 1219, and the update for ISO/IEC/IEEE 12207:2017.
Because maintenance consumes a major share of a software life cycle financial resources, it should be
an important project consideration.
During operation of the software, problems may be detected that were not detected during verification,
validation and acceptance. Therefore, a maintenance effort is needed to cope with these problems.
This maintenance effort also covers software improvements needed to meet new or modified user
requirements. Software maintenance is commonly needed when upgrading system components, such as
operating systems and databases, as well as when changes are made to external software and systems’
interfaces. Software maintenance is typically a significant portion of life cycle costs, even when a part
of the system under maintenance includes COTS software.
Software maintenance organizations uses a number of specific tools, methods, and techniques. This
document does not specify how to implement or perform the activities and tasks in the software
maintenance process since these are dependent upon the formal agreement and organizational
requirements. Maintenance is required on all types of software, whatever the technology, technique, or
tool used to create it.
vi
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
INTERNATIONAL STANDARD ISO/IEC/IEEE 14764:2022(E)
Software engineering — Software life cycle processes —
Maintenance
1 Scope
1.1 Overview
This document provides guidance for the maintenance of software, based on the maintenance process
and its activities and tasks defined in ISO/IEC/IEEE 12207:2017, 6.4.13. Moreover, this document
describes the maintenance process in greater detail and establishes definitions for the various types
of maintenance. This includes maintenance for multiple software products with the same maintenance
resources. “Maintenance” in this document means software maintenance unless otherwise stated.
The document does not address the operation of software and the operational functions, e.g. backup,
recovery, system administration, which are normally performed by those who operate the software.
However, it does include the related disposal process defined in ISO/IEC/IEEE 12207:2017, 6.4.14.
This document is written primarily for managers, maintenance organizations, quality managers, users
and acquirers of systems containing software.
Many of the activities and tasks discussed in this document apply equally to maintenance services,
as well as to maintained software products. For example, in a COTS intensive system, maintenance
services are performed to sustain the product in operations.
While the scope of this document is software maintenance, hardware and hardware costs are important
considerations for maintenance.
1.2 Purpose
This document provides guidance on the maintenance process. It identifies how the maintenance
process can be invoked during acquisition and operation. This document also emphasizes the following
in the maintenance process: the maintainability of software products; the need for maintenance service
models; and the need for a maintenance strategy.
1.3 Field of application
This document is intended to provide guidance for the planning for and maintenance of software
products or services, whether performed internally or externally to an organization. It is not intended
to apply to the operation of the software.
This document is intended to provide guidance for two-party situations and can be equally applied
where the two parties are from the same organization. This document is intended to also be used by a
single party as self-imposed tasks (ISO/IEC/IEEE 12207).
This document is not intended for software products that are “throw-away” or a “short-term” solution.
This document is intended for self-imposition by organizations that develop off-the-shelf software
products to maintain such products. Maintenance is applied to computer programs, code, data,
documents, and records. It is intended to apply to software products created during the development of
the software product. This can include, for example, the test software, test databases, the software test
environment (STE), or the software engineering environment (SEE).
This document is intended for use in all maintenance efforts, regardless of the life cycle model (e.g.
incremental, waterfall, evolutionary, spiral, agile, continuous iterative development). This document is
not restricted by size, complexity, criticality, reliability, or application of the software product.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
1.4 Limitations
This document describes the framework of the maintenance process but does not specify the details of
how to implement or perform the activities and tasks included in the process.
In this document, there are a number of lists. None of these is presumed to be exhaustive. They are
intended as examples.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC/IEEE 12207, Systems and Software engineering — Software life cycle processes
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions in ISO/IEC/IEEE 12207 and the following
apply.
ISO, IEC and IEEE maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at https:// www .electropedia .org/
— IEEE Standards Dictionary Online: available at https:// dictionary .ieee .org
3.1.1
adaptive maintenance
modification of a software product, performed after delivery, to keep a software product usable in a
changed or changing environment
Note 1 to entry: Adaptive maintenance provides enhancements (3.1.7) necessary to accommodate changes
in the environment in which a software product operates. These changes help keep pace with the changing
environment, e.g. an upgrade to the operating system results in changes in the applications.
3.1.2
additive maintenance
modification of a software product performed after delivery to add functionality or features to enhance
the usage of the product
Note 1 to entry: Additive maintenance may be excluded from the definition of maintenance in the context of
dependability that addresses recovery of a system to previous operational, functional and performance level, e.g.
definition, monitor or measurement of availability, recoverability, or MTBF (mean time between failure).
Note 2 to entry: “Additive maintenance” type is distinguished from “perfective maintenance” (3.1.9) type and
recognized as a different maintenance type to be able to:
— provide additional new functions or features to improve software usability, performance, maintainability
(3.1.6), or other software attributes for the future;
— add functionality or features with relatively large additions or changes on software for improving software
attributes after delivery with identified opportunities to negotiate any of additions or changes on maintenance
strategy, methods, resources, agreements, or service levels between suppliers and acquirers.
Note 3 to entry: Additions or enhancements (3.1.7) can be handled through the maintenance process, while larger
changes can involve a new development effort.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
3.1.3
correction
change that addresses and implements problem resolutions to recover gaps and to make
software operational enough to meet defined operational requirements
Note 1 to entry: In this document, the term “correction” is mainly used as a maintenance type and to classify
modification requests (MR) (3.1.8).
3.1.4
corrective maintenance
modification of a software product performed after delivery to correct discovered problems
Note 1 to entry: The modification repairs the software product to satisfy defined system requirements.
3.1.5
emergency maintenance
unscheduled modification performed to temporarily keep a system operational, pending corrective
maintenance (3.1.4)
Note 1 to entry: Emergency maintenance may be performed to make a software system partially operational. It
may include various modifications to the software or its parameters in order to limit operations, functionalities,
inputs, outputs, interfaces, usability, etc.
Note 2 to entry: Emergency maintenance can be regarded as a corrective maintenance type.
3.1.6
maintainability
degree of effectiveness and efficiency with which a product or system can be modified
Note 1 to entry: Modifications can include corrections (3.1.3), improvements or adaptation of the software to
changes in environment, and in requirements and functional specifications. Modifications include those carried
out by specialized support staff, and those carried out by business or operational staff, or end users.
Note 2 to entry: Maintainability includes installation of updates and upgrades.
Note 3 to entry: Maintainability can be interpreted as either an inherent capability of the product or system to
facilitate maintenance activities, or the quality in use experienced by the maintainers for the goal of maintaining
the product or system.
[SOURCE: ISO/IEC 25010:2011, 4.2.7, modified —"by the intended maintainers" at the end of the
definition has been removed.]
3.1.7
enhancement
software change that addresses and implements a new requirement
Note 1 to entry: There are three types of software enhancements: adaptive, perfective and additive. An
enhancement is not a software correction (3.1.3).
Note 2 to entry: In this document, the term “enhancements” is mainly used as a maintenance type and to classify
modification requests (MR) (3.1.8).
3.1.8
modification request
MR
information item that identifies and describes proposed changes(s) to a product or service
Note 1 to entry: The MR may later be classified as a correction (3.1.3) or enhancement (3.1.7) and identified as
corrective maintenance (3.1.4), preventive maintenance (3.1.10), adaptive maintenance (3.1.1), additive maintenance
(3.1.2) or perfective maintenance (3.1.9). MRs are also referred to as change requests. See Figure 1.
Note 2 to entry: When formulating an MR, incidents, events and complaints should be reviewed as well as failure
occurrence problem reports (3.1.11) and stakeholder’s maintenance requests.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
Note 3 to entry: When classifying MRs, methods for prioritizing problems and root case analyses can be applied;
and various approaches for preventing failure reoccurrences can be considered. For example, reoccurrence of
similar failures can be prevented by preventive maintenance requests to fix potential latent faults, while similar
failures in future can be avoided by perfective maintenance to enhance user interface preventing human error.
Figure 1 — Modification request
Note 4 to entry: In some organizations, adaptive maintenance is not considered to be an enhancement.
Note 5 to entry: Adaptive maintenance can be requested from MRs classified as enhancement, when the software
is to be adapted to its evolving and changing environment or different environments on which the software is
not initially intended to operate. Additionally, adaptive maintenance can be requested from MRs classified as
correction, when the software is to be adapted to its environment that has already changed.
Note 6 to entry: Additive is an enhancement type that some organizations use and different from perfective in
that some changes to existing software or systems is made.
Note 7 to entry: Some organizations sub-divide each type into “scheduled”, “unscheduled” and “emergency”
types.
Note 8 to entry: Another way to classify MR’s is by “reactive” or “proactive” maintenance as used in SWEBOK.
Reactive includes corrective and adaptive types; and proactive includes preventive, perfective and additive
types.
3.1.9
perfective maintenance
modification of a software product to provide enhancements (3.1.7) for users, improvements of
information for users, and recording to improve software performance, maintainability (3.1.6) or other
software attributes
3.1.10
preventive maintenance
modification of a software product after delivery to correct latent faults in the software product before
they occur in the live system
3.1.11
problem report
PR
document used to identify and describe problems detected in a software product
Note 1 to entry: PRs are either submitted directly to denote faults or established after impact analysis is
performed on modification requests (3.1.8) and faults are found.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
3.1.12
software maintenance
totality of activities required to provide support to a software system
Note 1 to entry: Activities are performed during the pre-delivery stage as well as the post-delivery stage.
Note 2 to entry: Pre-delivery activities include, for example, planning for post-delivery operations, supportability,
and logistics determination. Post-delivery activities include, for example, software modification, training, and
operating a help desk.
Note 3 to entry: In the context of dependability, maintenance is a combination of all technical and management
actions intended to retain an item in, or restore it to, a state in which it can perform as required.
3.1.13
software sustainment
activities to support, maintain and operate a software system to ensure that the software system or
service remains operational
Note 1 to entry: Software sustainment includes processes, procedures, people, material and information required
to support, maintain and operate the software aspects of a system.
Note 2 to entry: Sustainment is defined in ISO/IEC/IEEE 24765 as activities performed to ensure that a product or
service remains operational. In this document, software sustainment is defined to emphasize that activities for
supporting, maintaining and operating are performed more concurrently and iteratively to sustain operational
software systems.
3.1.14
transition
activities involved in moving a new or changed service, system, or component to or from an environment
3.2 Abbreviated terms
CM configuration management
COTS commercial-off-the-shelf software
MBSE model-based systems engineering
SEE software engineering environment
STE software test environment
4 Conformance
This document provides guidance for the implementation of the maintenance process of
ISO/IEC/IEEE 12207. The guidance in this document is completely consistent with ISO/IEC/IEEE 12207.
Conformance cannot be claimed to this document but can be claimed to the ISO/IEC/IEEE 12207
maintenance process and related tailoring. The only mandatory clauses in this document come from
ISO/IEC/IEEE 12207. The mandatory clauses contain requirements; and each requirement from
ISO/IEC/IEEE 12207 that is duplicated in this document is boxed. The related ISO/IEC/IEEE 12207
clause number is listed after the boxed ISO/IEC/IEEE 12207 requirements.
5 Application of this document
5.1 General
This clause presents the maintenance process that is required to maintain software products.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
5.2 Maintenance process
Maintenance is one of the technical life cycle processes that may be performed during the life cycle
of software (ISO/IEC/IEEE 12207). The acquisition and supply agreement life cycle processes of
ISO/IEC/IEEE 12207 may initiate the process implementation activity of the maintenance (life cycle)
process through an agreement or contract. The operation process may call for maintenance through
a modification request or problem report. The maintenance (life cycle) process invokes the technical
life cycle processes of ISO/IEC/IEEE 12207 to develop any required enhancement, as a part of the
maintenance strategy. The technical management processes, such as project planning, configuration
management and quality assurance of ISO/IEC/IEEE 12207 are used by the maintenance (life cycle)
process.
NOTE Significant maintenance changes can be treated as a software development project using the design
definition, implementation, integration, and transition processes, among others.
Figure 2 shows the connection of the maintenance process in ISO/IEC/IEEE 12207 to other maintenance-
related processes and the elaboration of the maintenance process into its defined activities. These
maintenance activities are discussed in detail in Clause 6.
Figure 2 — Relationship between maintenance process and other processes of
ISO/IEC/IEEE 12207 by clause number
5.3 Organization of this document
Clauses 6 to 9 provide an elaboration of the maintenance process from ISO/IEC/IEEE 12207. The boxed
text preceding elaboration text contains the numbered clauses from ISO/IEC/IEEE 12207.
Clause 6 provides the details of the maintenance process including activities and tasks needed to
implement the maintenance process. Clause 7 includes considerations, and issues encountered when
planning maintenance, Clause 8 describes implementation issues. Clause 9 provides details for a
maintenance plan.
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
6 Maintenance process
6.1 Maintenance activities and tasks
6.1.1 General
6.4.13 Maintenance process
6.4.13.1 Purpose
The purpose of the Maintenance process is to sustain the capability of the system to provide a service.
This process monitors the system’s capability to deliver services, records incidents for analysis, takes
corrective, adaptive, perfective and preventive actions and confirms restored capability.
[ISO/IEC/IEEE 12207:2017]
Software maintenance may be considered part of software sustainment, where support, maintenance
and operation processes are managed and performed together.
6.4.13.1 Purpose (cont’d)
For software systems, the Maintenance process makes corrections, changes, and improvements to
deployed software systems and elements. The software systems maintenance approach differs for
systems that are freely available, in wide commercial distribution, or operating in a small number of
controlled environments.
The need for software system maintenance can arise from multiple causes other than latent sys-
tem defects, such as changes to interfaced systems or infrastructure, evolving security threats, and
technical obsolescence of system elements and enabling systems over the system life cycle. Often
the extension of capability, mid-life upgrade, or evolution of legacy systems becomes a new software
system development project that will apply the set of processes within an appropriate life cycle. If so,
the Portfolio Management process is the starting point to initiate the work. In other cases, software
system maintenance is performed as a continuing series of prioritized work items, possibly on a level
of effort basis. Maintenance of software system elements can include hardware, software, and servic-
es, such as communication or web services. Maintenance is closely connected with the Configuration
Management process and software asset management and is performed concurrently with the other
Technical processes.
NOTE ISO/IEC/IEEE 14764:2006 Software Engineering — Software Life Cycle Processes — Maintenance
and ISO/IEC 16350, Information technology — Systems and software engineering — Application man-
agement, provide additional detail. The SWEBOK, Guide to the Software Engineering Body of Knowl-
edge, Software Maintenance knowledge area discusses software maintenance fundamentals, key
issues, measurement, techniques, maintenance process and support activities, and tools. The guide
also discusses models, techniques and measures that support software reliability.
[ISO/IEC/IEEE 12207:2017]
The boxed text and notes from ISO/IEC IEEE 12207 are considered sufficient guidance for this subclause.
6.4.13.2 Outcomes
As a result of the successful implementation of the Maintenance process:
a) Maintenance constraints that influence system requirements, architecture, or design are identified.
b) Any enabling systems or services needed for maintenance are available.
c) Replacement, repaired, or revised system elements are made available.
d) The need for changes to address corrective, perfective, or adaptive maintenance is reported.
e) Failure and lifetime data, including associated costs, is determined.
[ISO/IEC/IEEE 12207:2017]
© ISO/IEC 2022 – All rights reserved
© IEEE 2022 – All rights reserved
No specific guidance for this subclause.
6.4.13.3 Activities and tasks
The project shall implement the following activities and tasks in accordance with applicable organiza-
tion policies and procedures with respect to the Maintenance process.
a) Prepare for maintenance. This activity consists of the following tasks:
1) Define a maintenance strategy, including consideration of the following:
i) Establishing priorities, typical schedules, and procedures for performing, verifying, distributing,
and installing software maintenance changes in conformance with operational availability require-
ments;
ii) Establishing techniques and methods for becoming aware of the need for corrective, adaptive, and
perfective maintenance;
iii) Periodic assessment of the design characteristics in case of evolution of the software system and
of its architecture;
iv) Forecasting potential obsolescence of components and technologies using information on techni-
cal changes in related systems;
v) Establishing priorities and resources to obtain access to the correct versions of the product and
product information needed for performing maintenance (e.g., scheduled or phased installation,
maintenance patches or software upgrades);
vi) Measures for maintenance that will provide insight into performance levels, effectiveness, and
efficiency, including access to historical fault and failure;
vii) Agreed rights to data and the impact on data in the system during problem resolution and main-
tenance activity;
viii) Approach to assure that counterfeit or unauthorized system elements are not introduced into the
system;
ix) Impact of the maintenance change on other software systems elements versus the risk of leaving a
reported software anomaly in place;
x) The skill and personnel levels required to effect system or software repairs or replacements, fixes,
patches, updates, and upgra
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...