Wiki Home

Software Maintenance

Namespace: B2B
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."

    For pragmatic views,
    A decent academic outline:
    Why Is Software Maintenance So Expensive
    Category Maintenance
  • ( Topic last updated: 2003.10.27 12:17:08 PM )