ABSTRACT

I have heard that a typical soœware application spends at least 70 percent of its time in maintenance. I do not have a reference for this, but you can come up with the 70 percent by assuming that an application takes two years to build and is in use for §ve years. Why does soœware need maintenance? Unlike physical products, soœware exists only in digital form, which means that it is not subject to wear or decay. So in theory, soœware could run for years without modi§cation. However, this does not occur in practice. Because it is the ¶exibility agent for most systems, soœware must adapt as the environment in which it operates changes. Some of the many reasons for these changes include the following:

• Enhancements-Independent of what you consider a defect, changes are oœen needed to add features and functionality and to alter the soœware to conform to changing business rules and keep the user happy. Changes may also be needed to remove or alter functionality, in particular when it becomes irrelevant (when the tax laws change, etc.). Because of its ¶exibility, we implement functions in soœware instead of using other means like §rmware and hardware. As such, we expect change to occur and plan to handle it using soœware.