What is the meaning of maintenance? For management, maintenance is often a knee-jerk reaction to a problem. It is expensive, boring, and an unfortunate necessity. This type of maintenance is passive and only fixes the current problem, waits for something to go wrong, and uses preset policies and regulations for a fix. However, this approach to maintenance does not work for software.
In the Software Development Life Cycle (SDLC), maintenance is both reactive and preventative; it is also a continual process with the end goal of actually evolving the system. Software maintenance is expensive, but costs can be reduced by identifying the components of maintenance and addressing specific cost generators.