优秀需求的标准包括完整性、正确性、无歧义性、必要性、有优先次序、可行性、可验证性。
完整性
完整性就是没有遗漏,避免因为加入“新需求”导致的需求变更。
虽然用户是验证需求完整性的合适人选,但大多数时候,用户需求都提不全。要保障需求的完整性,就必须从业务角度来组织各种需求项;让用户验证需求规格说明书中罗列的主题域、业务事件、业务活动、业务步骤、困难与障碍点是否完整,更具操作性。
需求是有层次的,由于不同人员所了解和掌握的信息是不一样的,因此在验证需求完整性时需要采用分层评审的方式,不同层次的人员只负责评审与自己相关的那层。就是需要先理清宏观部分(主题域的划分),并让高层对其进行验证,看标识出来的主题域是否达到目标所需涉及的范围;然后再针对每个主题域进行分析,找到它的脉络(流程、实体),再让中层对其进行验证;最后走向操作层,对细节进行描述与验证。
不失真
需求的正确性和无歧义性是一组相关的要求,也是不失真的两个解释角度。
正确性:
要使需求确保正确,就要找到正确的人来进行验证。这包含两层意思,一方面是不同层次的用户所能验证的需求层次是不相同的,应该按宏观、脉络、细节分而治之;另一方面则是应该找到直接相关的人员来进行验证。还有一点值得说明,有时还需要注意避免需求的片面性,具体的方法就通过用户调查来补充。
无歧义性:
歧义主要是不同背景的人在传递时加入不同理解而导致的,因此光靠文档来传递需求是不充分的,文档是无法代替沟通的,因此还需要加入一些验证活动才能够尽可能缓解歧义问题。
总地来说,要确保需求不失真,加强需求的验证是关键手段;但在做需求验证时首先要认识到“验证是质量关”,尽可能多地暴露出问题才是关键。
有优先级
想要更好地对项目进行管理,就需要有效地区分出优先级。在优秀需求的7大标准中,就明确地指出了有优先次序,而必要性则是对优先级的一种补充。
需要引导用户对需求的优先级进行划分,因为业务角度的优先级划分是最为关键的。此外,还有技术开发角度和项目管理两个角度。
在讨论优先级时,很容易只从充分性的角度来考虑,这样就会导致忽略了需求的必要性,也就是很可能导致需求蔓延和镀金需求的增多。那么如何有效地评价需求的必要性呢?“满意/不满意模型”就是一种很有效的方法。
● 满意度:当这个需求项被实现时,用户满意程度的量化值,它体现了需求的充分性。
● 不满意度:指当这个需求项没有实现时,用户不满意程度的量化值,它体现了需求的必要性。
而将这两个量化值乘在一起,就可以得到一个更有参考价值的权重,从而得出更合适的优先级评价。
有技术早期介入
需求规格说明书的读者是技术团队,因此,与技术团队交流,探讨需求规格说明书在哪些方面存在不足、缺少什么信息,是改进需求规格说明书的有效方法。
7大标准中有两条是和它相关的:可行性就是指需要让开发团队早期介入,对需求中描述的解决方案进行评价;可验证性则是说明需求规格说明书应该能够指导测试活动,也提供了验证所需的信息。
节选自《软件需求最佳实践》第三章
领取专属 10元无门槛券
私享最新 技术干货