A correspondent of mine wrote the following words:
Most users just say they want “this”. They do not want to hear technical stuff as long as they get what they want.
If programming is the activity of translating a non-executable user description of a set of programs into executable descriptions, it is easy to demonstrate that it is impossible to prove that your translation has been accurate.
It is not even possible to ascertain that the translation of one program into another program would be accurate. Determining the equivalence of two programs is an undecidable problem. This can be reduced to the fact that the halting problem is undecidable.
Therefore, “as long as it is what they want”
is fundamentally undecidable, since you could impossibly demonstrate that your mapping would be accurate. All of this assumes that “they know and are capable of expressing what they want”
, which is in itself already an unreasonable requirement. You will just guess and then do your work, and then they will look at it, not to tell you what they want, but what they do not want.
In other words, your approach is unrealistic because it does not take into account the fundamental constraints imposed by computability. Our understanding of the world is at best Turing complete. In that understanding, the Entscheidungsproblem can impossibly be solved.
Your strategy of giving the users what they want, is totally impossible. At best, you can only fix what they do not want. If your sales strategy is based on an impossibility — taking into account the principle of explosion
— you can impossibly achieve any of the goals that you have in mind. All forms of budgeting are totally unsound in such circumstances. You will not be doing what you say you will, because it cannot be done.
Even more fundamentally, progress in our field has never been booked and great projects have never been launched by giving the users what they want. Most users had never seen Google search or Facebook before. Therefore, these projects did not attempt to give the users what they want. The users tried them anyway and then found them surprisingly useful. These projects were truly great not because they gave the users what they wanted, but because they gave the users what they did not know that they wanted.