Hi Janel,
I think with so many constraints and requirements, it may be best to take the long term approach and defer "starting from scratch", although I understand things would be better off if everyone took a step back to assess the real situation.
When I'm in a situation like this, I usually observe the following in order to determine the best approach:
- Politics/Power
I usually try to understand where the requirement is coming from, who is in control of executing that, who made the request, and why that request is necessary. Many times, features are introduced with good intentions, and it's also the UX person's job to understand that over and above the user's needs. Knowing the source of this helps me to understand what is at stake, and how I should communicate the best approach to the appropriate stakeholders.
- Technical and Time Constraints
The main unmovables involve a balance between time and technical constraints. There is also an element of the dev team's preference on how they want to design and implement the solution. With two sides - e.g. marketing/sales and dev/design, it can already get messy, not to mention getting another side involved (UX).
- Users
This is one area I struggle a lot because I don't have that as much experience working with users, and certainly non-UX people will have all sorts of questions like why? how? should we even talk to users? etc. In my experience, while it's valuable to speak to users, getting that data to convince my team to change is another ballgame.
The combination of these three factors are really what's at stake when any implementation is introduced, and whenever I have a desire to get devs/sales/marketing/etc. to "do it differently". I find that if I can't resolve these three main areas, I'd be better off doing something smaller and to take smaller steps to work towards addressing these three areas.