But he elaborates; it's not the elicitation of the requirements, it's the communication of them to the developers, and the dev team's understanding of them that is where the problem is occurring.
It's no surprise when you consider the long liked communications process that often occurs, especially in large organisations. It's even more obvious when you consider outsourced development houses that don't have much business or even industry domain knowledge. How does a fresh develop with no history with the client organisation fill in the gaps in the communicated requirements?
Avoid requirements failure by doing these things;
- Have developers feed back their interpretation of requirements to the stakeholders and clients. Do it early and often. Use workshops, wireframes, prototypes, or documents, but do it.
- Bring the subject matter experts and requirements owners into the same room as the developers. Get them talking to each other. If you can't be in the same room, arrange regular meetings. Don't rely on written communication.
- Make sure your BAs are trained and highly skilled at requirements management (ie not just elicitation, but the whole shebang.)
Business Analysts are the main key to successful projects. Pay them more and pat them on the back when they do a good job.