If it is important -to the end user; not the engineer-, then it gets prioritized over other functions. That is critical.
Think of a product package, sitting on a store shelf:
FRONT OF THE BOX:
This is three "Must Have" features. It correlates to the big, splashy text, on the front of a box. Without all of these, the product is a total failure.
BACK OF THE BOX:
This is four or five "Critically Important" features, that correlate to the smaller, yet still pronounced, features, listed on the back of the box.
SIDE OF THE BOX:
Everything else. Small text, on the side of the box.
When scheduling the project, it's critical to schedule Front Of The Box stuff, first, then Back of the Box, and, finally, Side of the Box.
Doesn't matter whether you are Waterfall or Agile. The important thing is to plan on implementing the "killer features," FIRST.
A lot of times, engineers want to get the difficult stuff done first (guilty as charged). This can often result in "bikeshedding" behavior, where a great deal of time is spent on stuff that isn't really relevant to the end-user.
When a project enters a "crunch phase," then it's important to start pruning. This is not popular. We need to remove feature development from the schedule ahead of us.
Since we have already implemented the important stuff, we will be pruning stuff that the end-users of our product don't really care about.
Also, I run what I call "Constant Beta." I get the project to an end-user-runable state, as soon as possible, even if feature incomplete. This gets me valuable feedback, and the important stuff (Front of the Box, first!) gets more testing than anything else in the product, since stakeholders are testing it, from the start.
This often results in pivots during development (as opposed to a janky MVP, destroying your brand).
But I have found many corporations won't do it that way. I had to wait until I was working for myself to do it.
Works a treat.