← New search

Other meanings of IEEE 1219

SOFTWARE ENGINEERING STANDARD

IEEE 1219

IEEE 1219 is an IEEE standard for software maintenance. Published as IEEE 1219-1998, it defined a structured process for modifying software after delivery, including problem identification, analysis, implementation, review, migration, and retirement. The standard is chiefly of historical and instructional interest today, alongside later international lifecycle standards.

1998
Published edition
IEEE 1219-1998
6
Major process areas
Maintenance framework
Software
Domain
Post-delivery lifecycle
1

Purpose and scope

IEEE 1219 established a disciplined framework for software maintenance after a software product had been delivered or placed in operation. Its purpose was to make maintenance a managed engineering process rather than an improvised sequence of fixes. The standard addressed both modifications to an existing product and the organizational activities needed to control those modifications.1

The framework covered maintenance planning, identification of problems or requested changes, technical analysis, implementation, review and acceptance, migration, and retirement. It was intended for software organizations, maintainers, users, and acquirers that needed common terminology and traceable records. IEEE 1219 did not prescribe one programming language, development method, or tool chain; instead, it supplied process expectations that could be adapted to different systems and organizational environments.1 Its emphasis on controlled change also connects it with configuration management, verification and validation, and lifecycle documentation.

2

Maintenance process

The central idea of IEEE 1219 is that every maintenance request should pass through an identifiable sequence of decision and engineering activities. A request begins with problem or modification identification, followed by classification, prioritization, feasibility assessment, and analysis of technical and operational consequences. Approved work is then designed, implemented, tested, documented, and reviewed before acceptance and release.1

The process supports feedback between activities rather than assuming that maintenance is purely linear. Analysis may reject a request, defer it, combine it with other work, or reveal that the proposed change affects requirements, architecture, interfaces, data, or user documentation. Review and acceptance provide an independent checkpoint, while configuration identification and records preserve the relationship between the request, the changed items, test evidence, and released version. This traceability is particularly valuable in safety-critical, regulated, or long-lived systems.

3

Categories and lifecycle activities

IEEE 1219 distinguishes maintenance according to the reason for change, a classification still widely used in software-engineering literature. Corrective maintenance addresses defects; adaptive maintenance responds to changes in the operating environment; perfective maintenance improves performance, maintainability, or other desirable qualities; and preventive maintenance reduces the likelihood of future failures.13

The standard also treats migration and retirement as maintenance concerns rather than as matters outside the lifecycle. Migration can involve moving software to new hardware, operating systems, databases, or interfaces, with planning for data conversion, compatibility, user preparation, and fallback. Retirement requires decisions about discontinuing operation, preserving essential data and documentation, notifying affected users, and handling replacement systems. These activities show why maintenance is broader than debugging: it includes continued service, environmental change, quality improvement, and controlled withdrawal.

4

Lesser-known aspects

IEEE 1219 is best understood as a process standard, not a measure of maintenance productivity or a guarantee of software quality. It does not establish universal staffing levels, maintenance cost formulas, defect thresholds, or a mandatory toolset. Organizations therefore need complementary practices for risk management, configuration management, testing, measurement, cybersecurity, and release governance.3

A less visible feature of the standard is its treatment of maintenance as a lifecycle with an eventual endpoint. Retirement and migration make explicit issues that are often neglected when systems remain operational for decades, such as obsolete dependencies, unavailable expertise, archival requirements, and continuity of service. IEEE 1219-1998 is now a historical reference point; later international guidance, including ISO/IEC/IEEE 14764, provides a more current framework for software-life-cycle maintenance and is commonly consulted when organizations modernize maintenance processes.24

Glossary

Corrective maintenance
Modification performed to correct discovered faults or defects.
Adaptive maintenance
Modification required because the software's operating environment has changed.
Perfective maintenance
Modification intended to improve performance, maintainability, usability, or another desirable characteristic.
Preventive maintenance
Modification intended to reduce the probability or impact of future failures.
Software migration
Planned movement of software, data, or operational capability to a changed technical environment.

IEEE 1219 refers here exclusively to IEEE 1219-1998, the IEEE standard for software maintenance, not to unrelated uses of the number 1219.