High-level answer
For perfective maintenance, the objective should be for the cost of the change in the implementation to be proportional to the cost of the change in the specification (design)
- Ex: Allowing dates for the year 2000 is (at most) a small specification change
- Ex: Adding call forwarding is a more complicated specification change
- Ex: Converting a compiler into an ATM machine is …