This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (May 2013)
Depending on the field, maintainability can have slightly different meanings:
In engineering, maintainability is the ease with which a product can be maintained to:
- correct defects or their cause,
- Repair or replace faulty or worn-out components without having to replace still working parts,
- prevent unexpected working conditions,
- maximize a product's useful life,
- maximize efficiency, reliability, and safety,
- meet new requirements,
- make future maintenance easier, or
- cope with a changing environment.
In some cases, maintainability involves a system of continuous improvement - learning from the past to improve the ability to maintain systems, or improve the reliability of systems based on maintenance experience.
In telecommunication and several other engineering fields, the term maintainability has the following meanings:
- A characteristic of design and installation, expressed as the probability that an item will be retained in or restored to a specified condition within a given period of time, when the maintenance is performed by prescribed procedures and resources.
- The ease with which maintenance of a functional unit can be performed by prescribed requirements.
In software engineering, these activities are known as software maintenance (cf. ISO/IEC 9126). Closely related concepts in the software engineering domain are evolvability, modifiability, technical debt, and code smells.
The maintainability index is calculated with certain formulae from lines-of-code measures, McCabe measures and Halstead complexity measures.
The measurement and tracking of maintainability are intended to help reduce or reverse a system's tendency toward "code entropy" or degraded integrity, and to indicate when it becomes cheaper and/or less risky to rewrite the code than it is to change it.
This article incorporates public domain material from Federal Standard 1037C. General Services Administration. (in support of MIL-STD-188).
- Blanchard, Benjamin S.; Verma, Dinesh C.; Peterson, Elmer L. (1995). Maintainability: A Key to Effective Serviceability and Maintenance Management. Wiley. ISBN 978-0-471-59132-0.
- Ebeling, Charles E. (2019). An Introduction to Reliability and Maintainability Engineering (3rd ed.). Waveland Press. ISBN 978-1-4786-3933-6.
- Patton, Joseph D. (2005). Maintainability & Maintenance Management (4th ed.). Patton Consultants. ISBN 978-1-55617-944-0.
- Calculation, Field testing and history of Maintainability Index (MI) (with references)
- Measurement of Maintainability Index (MI)
- Foreman, John T.; Gross, Jon; Rosenstein, Robert; Fisher, David; Brune, Kimberly (January 1997). "Maintainability Index Technique for Measuring Program Maintainability". C4 Software Technology Reference Guide: A Prototype (PDF). Software Engineering Institute. p. 231. CMU/SEI-97-HB-001. Archived (PDF) from the original on 2022-10-09.