When gathering requirements often clients are looking to build feature a,b,c,d,f - z. They get almost too excited about features. They almost become feature hoarders.
They want all those features. But it's hard to elicit from them what is of the greatest importance to them. They often seem to communicate this and this is important to them.
Often, a common mistake of ours is that we discover what's important to them only when the project is near mid-phase.
Are there any exercises one could do or techniques of organization to understand prioritization of their requests? Or what ways do you go about to do this before the project gets started?
I'm looking for an answer that can be either beyond what type of project management method: agile, waterfall, etc.