需求实践中的种种不足会给项目的成功带来很多风险。
如用户参与不足:客户常常不能理解为什么必须下这么大力气去收集需求和保证需求质量。开发人员往往也不重视用户的参与,原因是自己以为已经知道了用户想要什么,这就是用户心中所想与开发人员心中所想产生偏差,从而影响项目的成功。
用户需求拓展:由于开发过程中需求的不断发展与增加,项目往往会落后于计划的进度并超出预算。出现这种情况是因为没有依据对需求的规模和复杂度的实际评估来制定计划,而不断修改需求来是情况变得更糟。问题的责任部分在于用户不断提出修改需求的要求,部分在于开发人员处理这种要求的方式。
有歧义的需求:歧义是需求规约的大忌。歧义表现为同一读者对同一项需求声明作出多种解释,或者不同的读者对同一需求产生不同的理解。
过于抽象的需求:营销人员或者经理经常喜欢只给出一个粗略的说明,他们希望开发人员在开发过程中充实他,这种方式对研究性项目或需求特别灵活的项目也许管用,但是需要紧密合作的团队,而且紧限于开发小型系统。大多数情况下,这种做法的结果是使开发人员受挫,让客户失望。
忽略某类用户:用户所使用的产品特性,产品的使用频率以及用户自身的经验水平不尽相同。因此,多数产品都拥有不同的用户群。如果一开始没能找出产品的所有重要用户群,就会有某些用户需求得不到满足。确定所有用户群后,还要保证获得各类用户的需求。