Part of the problem is that users frequently fail to explain their real need or problem, and instead they request what they think is the solution.
To avoid this problem, we ask as much questions as necessary, to make sure we fully understand the real needs or problems of our users. Typically, we ask many “why”s (why are you asking for this? why is this a problem? etc) and many “what if”s (what happens if we do this instead? what if we change this process? etc).
Then, when we think we have completely understood our users’ needs, we write a requirements document that they have to read and accept. Our requirements document usually includes a lot of “must”s, and almost never includes the word “should”.
Words are very important, because they can remove or add ambiguity.]]>