Some changes don’t require software rewrites.
If your system makes heavy use of configuration, then when people need to make changes due to business needs, it will sometimes be possible to satisfy those needs without having to write new code. Setting parameters on a control panel is much easier than doing a software implementation and deployment. It also delivers the desired change to the customer much more quickly.
This kind of flexibility grows over time. As you receive more and more requests for various new features, modifications can become options. And then, options can become configurable. Eventually, you will be to control some of the behavior of the system through an administration panel.
Because these changes no longer require a software development lifecycle, they can occur much more quickly, resulting in much happier customers.
If you embrace this idea from the beginning, you will acquire more configurable options. You will also add them to the system earlier. Having more configuration options frees up developers to work on more complex issues and makes for faster delivery of the enhanced product to your customers.