在审查需求规范(包括功能性,非功能性要求,约束等)时,无论规模大小,都是作者提出的"致命罪"是什么?
请列出不超过7个最基本的东西(按严重程度降低的顺序),在要求规范中完成(或未完成)会对软件产品的质量产生不利影响.少于7是完全可以的.
好的,这超过7,但良好的要求具有以下属性:
独特.还有其他相似的要求吗?
可识别,是否可以唯一标识要求?可以在整个开发过程中跟踪它吗?
完成.遗失或遗忘了什么?它彻底吗?它是否包括使其独立所需的一切?
准确.这是对的吗?它是否正确定义了目标?有什么错误吗?
毫不含糊.描述是否准确而不含糊?有单一解释吗?它易于阅读和理解吗?
一致.是否编写了该功能的描述,以使其不与规范中的其他项冲突?
相关.该功能需要声明吗?这是否应该遗漏的额外信息?它是否可追溯到原始客户需求?
可行.是否可以使用指定预算和时间表内的可用人员,工具和资源来实施?
无代码.规范是否坚持定义产品而不是底层软件设计,架构和代码?
可测试的.可以测试吗?是否提供了足够的信息,测试人员可以创建测试来验证满足要求?
优先考虑.它比其他要求更重要还是更重要?
使用活动语音.规范是否使用主动语音?被动语态并不总是指定执行操作的人员或执行者.
分类.该要求是否在逻辑上与类似要求分组?可能的类别包括:行为,绩效,接口,数据结构/元素,实施,合规/质量,运营(可靠性,安全性,安全性),衍生/工程.
一个不错的需求跟踪工具可以自动执行/执行上述某些功能,例如可识别,优先级,分类,但只有团队的审核才能检查其余部分.关键在于培训您的团队了解这些属性,通过阅读需求的好的和坏的示例来实践他们,并建立一个有效的审核流程,在生命周期中尽早检查需求,从而对下游活动产生影响.