• According to the article, the system is not in production. It shouldn't have been allowed to even get this far.

    If a system is working, needs tweaks and performs acceptably (even if it takes a minute to do what a properly written system can do in a second), sure patch it up until you have time for a re-write. No system is perfect. Or use views, indexes, whatever you have to do to work around a bad model.

    In this case, you aren't in production and you have a major design flaw - you've got to bite the bullet.

    You will pay either way - just like with testing - every system is tested, whether by you or by users - either way you WILL pay. I'm not a fan of big up front design or waterfall, but all those people's studies show that defects grow by order of magnitude in cost to correct as you go from design to construction to testing.

    It's not just the business' fault - sound like some "architect" went off on some tempting over-abstracted EAV model and never came back down to earth and no one called BS on it. But when the business ignores a truthsayer at an important late stage, it could be a sign of general blindness and self-deception in the business. In fact, it could have helped contribute to no one speaking up earlier. Identifying these things early through open communication is important for technical people to make the business aware of what it takes to meet requirements.