One of the greatest challenges facing software engineers is
the management of change control. It has been estimated
that the cost of change control can be between 40% and
70% of the life cycle costs4. Software engineers have hoped
that new languages and new process would greatly reduce
these numbers however, this has not been the case. This is
fundamentally because software is still delivered with a
significant number of defects. Capers Jones estimates that
there are about 5 bugs per Function Point created during
Development5. Watts Humphrey found “… even
experienced software engineers normally inject 100 or more
defects per KSLOC6. Capers Jones says, “A series of
studies the defect density of software ranges from49.5 to
94.5 errors per thousand lines off code7.” The purpose of
this paper is to first review the fundamentals of software
maintenance and to present alternative approaches to
estimating software maintenance. A key element to note is
that development and management decisions made during
the development process can significantly affect the
developmental cost and the resulting maintenance costs.
This paper addresses issues associated with software
maintenance estimating and touches on development and
management decision that can significantly affect
maintenance costs.