Object-Oriented Technology
Concepts

Economics of Software Maintenance

The importance of simplified program maintenance was brought to light in the 1960's by studies which indicated that 80% of software life cycle cost is spent on maintenance, and only 20% on initial development.

It was this realization that lead in the 1970's to the development of the concepts of encapsulation, information-hiding and stable interfaces as a way of simplifying maintenance and reducing software cost. These concepts laid the foundation for what in the 1980's become known as "object-oriented" software development. Thus, the primary goal of OO was, and continues to be, ease of software maintenace via data encapsulation, information-hiding and stable interfaces.

Complementing the new OO approach was the great reduction in processing cost resulting from microprocessor technology. Encapsulation and other OO techniques typically increase program execution time by a factor of two. This 100% degradation in run-time performance might have been unacceptable had the relative cost of CPU hours to people hours remained high. Today, programmer hours are much more expensive than CPU hours. Thus, economics now favors trading CPU time for programmer time, mitigating the performance penalty of OO for most software.


[home]
[OO] [Java] [memorial ships]
[humor] [income tax repeal]


Copyright (C) 1998 LDJ Trust