The four reasons to change software

From the book "Working effectively with legacy code":

  1. Adding a feature
  2. Fixing a defect / bug
  3. Improving the design
  4. Optimizing resource usage

And this is why maintainability of software is so important, because it means how easy it is to change because of one of these reasons.