It is common knowledge that the biggest reason for IT project failure is poor requirements. If the requirements that the developers are working from are wrong, incomplete or otherwise inadequate, that project is doomed to join the 70% of IT projects that fail every year.
So why not simply gather good (SMART) requirements? Ask any business analyst and they will tell you that the biggest problem they face is getting users to tell them what they really want out of a new system or process. Why? The reasons are varied. Sometimes it appears that users simply won’t communicate what they really want. Sometimes it appears that the business analyst is asking all the wrong questions. Sometimes it appears that the users change their minds all the time.