Software is a set of instructions given to the computer system to process information. So, what software is doing today should continue to do tomorrow. Therefore, the software will continue processing the information with the exact instructions (logic). For example, if you have designed a calculator app. If you add two numbers today and after ten years, the results will be the same.
Then the question is, why does software degrade with time?
Why do we constantly keep the software up to date? Why do we need new enhancements and bug fixes? Why the user interface needs refreshing?
The simple answer is that the software does not degrade with time. It continues to do what it is designed to do. And that is the part of the problem!
Our business processes, priorities, security requirements, technology, infrastructure and culture change over time. The software products must upgrade to catch up with the change.
That is how we say our software needs an ‘upgrade’. We need an upgrade for our software product to catch up to the changes in the outside world.