Previously I had tried to define software maintenance. This proved to be a challenging task. It might be easier to list some of the properties of the maintenance world.
Most software maintenance is not actually "maintenance". That is, much of the work is more than just preventative tasks to keep the software running. It is frequently described as the evolution of the software.
Software maintenance can be likened to a service. Often times it does not involve touching the code. It may just be an advanced form of user support. One thing is certain. The activity is very expensive in terms of the total cost. It can easily be well over 50% of the costs over the lifetime of the system.
The dark side of maintenance, like software development, is that it has a low success rate. Software maintenance can often spiral out of control. This is just the tip of the iceberg of nasty challenges performing maintenance. But this is a topic all its own.
Check Your Subroutines - We are delivering our latest release to internal test today. Had a code review yesterday. Many issues were found. We are fixing the highest priority probl...