In fact, I've come across more technical debt in systems that tried to anticipate more functionality than reasonably foreseen: overzealous abstraction and open-endedness in a technical implementation can be a nightmare to work with. It's healthier to foster a culture where developers can cooperatively make disciplined adjustments to their software.