(Updated: 2003.10.27 12:17:08 PM)
| |
A place to discuss software maintenance:
Maintenance is the modification of a software product after delivery to correct faults, improve performance, or other product attributes, or to adapt the product to a new or changing environment.
In various studies, maintenance costs have been observed to consume from 50% to 80% of total life cycle costs, and typically consume 65% to 75% of total life cycle costs.
Types of software maintenance:
Corrective Maintenance - diagnosis and correction of errors
Adaptive Maintenance - modifies software product to properly interface with a changing environment
Perfective Maintenance - enhancements to product to either add new capabilities or modify existing functions
Preventive Maintenance - changes made to improve future maintainability (reverse engineering/re-engineering)
Approximate proportions:
Corrective 21%
Adaptive 25%
Perfective 50%
Preventive 4%
According to Larry English of Information Impact International, "70 percent of all computer printouts were used to re-enter data into other databases." "One company reported that 80 - 90 percent of developers’ time was devoted to ‘maintenance’ and of that ‘maintenance,’ 60 - 70 percent was devoted to maintaining interfaces, copying and transforming data from database to database." "Another company reported expending $100 million per year in patching programs and fixing errors in data, created when passing data from one system to another."
Source: http://www.zifa.com/zifajz01.htm
See http://www2.umassd.edu/CoursePages/SoftwareEngineering/LectureMat/maintenance.html
http://www.cpsc.ucalgary.ca/~lamwa/SENG/621/SoftwareMaintenance.htm
For pragmatic views, http://www.cs.monash.edu.au/~damian/CSC2050/Topics/13.25.SWEng4/html/text.html#preventative_maintenance
A decent academic outline: http://www.cstp.umkc.edu/~hines/458/mdef.html
Why Is Software Maintenance So Expensive
Category Maintenance