When a software becomes rigid, changes are hard to make; not because a change itself is complicated, but because all of the subsequent changes caused by that change are usually more than you expected. And, even worse, you might not have a way to verify that, after the change, the system will still function correctly unless you do a manual test of all the features affected by that change, which can be quite daunting for applications that are not small in size. Because of this, a small change could take days, even weeks to get done and verified, which is much longer than the initial estimate.