I was in this situation only with internal tools, where our stated goal was to best satisfy any whim of our "customers" in a situation where it was not possible to predict needs in advance. So take my answer with salt.
My opinion is that the decision is often political, and if you are not the head of the company, it may not even be up to you. The cost of unsatisfied customers passing over their heads to your boss can be more damaging.
I really believe in a flexible and continuous assembly of requirements, which is related to how users work with the product and try to meet their needs. Nevertheless, each user has his own individual "pleasant things", and there is no way to satisfy everyone. If you have multiple target users, democracy is a good system - just implement what most users can extract.
If your customers are a cohesive group (for example, you do it for users in a certain department in a particular organization), start the Wiki site or something like SO or other engines where they can list and then possible functions. Make it clear that you give priority (but not guarantee) to higher ratings, and that you probably won’t give priority to things that don’t receive votes from others.
In doing so, you can get customers to apply some kind of collaborative filtering (or peer pressure) on ideas. You will also get some visibility so that people can understand why their desires were not respected. An important side benefit is that the one who requested the function is now interested in formulating the request and justifying it so that they can make others vote for them. This will eliminate some ideas made from half-baked asen.
Of course, the basic assumption about all this is that you planned for some time on “different functions” with the one who pays for the project.
Uri
source share