What are few ways to build software to stop deterioration due to change?
Make sure that software is designed so that changes in one part
of a program do not create side-effects in another part of the
Make sure that software is designed so that it does not depend on
external devices or systems that are likely to change with
Make sure test cases and results are archived and available so that
the software can be retested when changes are made.
Make sure you spend time understanding what the customer wants.