Problem 1: Customers don't (really) know what they want
Possibly the most common problem in the requirements analysis phase is that
customers have only a vague idea of what they need, and it's up to you to ask
the right questions and perform the analysis necessary to turn this amorphous
vision into a formally-documented software requirements specification that can,
in turn, be used as the basis for both a project plan and an engineering
architecture.
To solve this problem, you should:
Ensure that you spend sufficient time at the start of the project on
understanding the objectives, deliverables and scope of the project.
Make visible any assumptions that the customer is using, and critically
evaluate both the likely end-user benefits and risks of the project.
Attempt to write a concrete vision statement for the project, which
encompasses both the specific functions or user benefits it provides and the
overall business problem it is expected to solve.
Get your customer to read, think about and sign off on the completed
software requirements specification, to align expectations and ensure that
both parties have a clear understanding of the deliverable.