需求验证
1) 未经验证的需求审查相当篇幅的S R S是有些令人沮丧,正如要在开发过程早期编写测试用例一样。但如果在构造设计开始之前通过验证基于需求的测试计划和原型测试来验证需求的正确性及其质量,就能大大减少项目后期的返工现象。在项目计划中应为这些保证质量的活动预留时间并提供资源。从客户代表方获得参与需求评审的赞同(承诺),并尽早且以尽可能低的成本通过非正式的评审逐渐到正式评审来找出其存在的问题。
2) 审查的有效性如果评审人员不懂得怎样正确地评审需求文档和怎样做到有效评审,那么很可能会遗留一些严重的问题。故要对参与需求文档评审的所有团队成员进行培训,请组织内部有经验的评审专家或外界的咨询顾问来讲课、授教以使评审工作更加有效。
需求管理
1) 变更需求将项目视图与范围文档作为变更的参照可以减少项目范围的延伸。用户积极参与的具有良好合作精神的需求获取过程可把需求变更减少近一半( Jones 1996a)。能在早期发现需求错误的质量控制方法可以减少以后发生变更的可能。而为了减少需求变更的影响,将那些易于变更的需求用多种方案实现,并在设计时更要注重其可修改性。
2) 需求变更过程需求变更的风险来源于未曾明确的变更过程或采用的变动机制无效或不按计划的过程来做出变更。应当在开发的各阶层都建立变更管理的纪律和氛围,当然这需要时间。需求变更过程包括对变更的影响评估,提供决策的变更控制委员会,以及支持确定重要起点步骤的工具。
3) 未实现的需求需求跟踪能力矩阵有助于避免在设计、结构建立及测试期间遗漏的任何需求。也有助于确保不会因为交流不充分而导致多个开发人员都未实现某项需求。
4) 扩充项目范围如果开始未很好定义需求,那么很可能隔段时间就要扩充项目的范围。产品未说明白的地方将耗费比预料中更多的工作量,而且按最初需求所分配好的项目资源也可能不按实际更改后用户的需求而调整。为减少这些风险,要对阶段递增式的生存期制定计划,在早期版本中实现核心功能,并在以后的阶段中逐步增加实现需求。