The concept of user experience debt translates just as well to the failure to understand capabilities in existing systems. As a SharePoint consultant I see this time and time again. People will look at SharePoint and start their conversation with “can it do this?” or “does it do what X application does?” or even better “can you make it do this?” without ever understanding what it natively does and does not do well out of the box.
Software development has catered to a philosophy of code to any possibility. If you have the time, money, and resources you can move the moon. The question that doesn’t get asked is, does the moon need moving? Taking time to understand the capabilities of a platform such as SharePoint and then asking if you can tune your requirements to meet what it can already do ultimately will save time and money when it comes to implementing solutions.
If you’re working from raw code and building something from scratch, go move the moon. If not, take time to understand your tools and what they do best rather than trying to reforge them into something new.
What do you think? Is it more reasonable to expect unlimited flexibility or to expect scope compromise? Tell me about it.