在实际的评审过程中,经常由于各种原因,评审终无法达到预期目的,从而导致评审在软件开发生命周期中的作用大大减弱,甚至在有的组织和项目中,评审活动只是流于形式。下面是导致评审失败的几个常见的原因。

  √ 参加评审的人员没有时间,或者不具备必需的资格或技术能力。对于主持人来说,除了技术技能,他们必须具备更多的心理上的技能。技能的缺乏可以通过培训或者使用咨询公司有资质的人员来解决。

  √ 管理层在项目计划中的不准确估算可能导致评审的时间压力较大,进而导致令人不满意的评审结果。有时候一个较低成本的评审类型能够缓解这个问题。

  √ 评审由于评审人员在准备阶段准备不足导致失败。这种情况大部分是因为选择了不合适的评审人员造成的。如果评审人员没有认识到评审的重要性以及对质量改进的巨大影响,并且评审因此而失败,那么有必要通过实例的演示等方式说明评审是如何提高生产率和改进产品质量的。

  √ 评审也可能因为没有文档或者文档准备不足而失败。评审之前,必须检查所有需要的文档已经存在,并且已经描述充分(例如:采取严格的评审入口准则)。

  √ 如果没有管理层的支持,评审过程是无法成功的,因为无法获得必需的资源,且评审的结果也不会用于过程改进。不幸的是,评审经常会出现这种情况。

  √ 成功运用评审的一个重要方面是不断从评审过程中学习经验教训,从而持续不断地改进评审过程。

  有许多因素可以帮助开展成功的评审。实施评审并不难,但是如果未充分考虑以下这些因素,评审可能会以各种方式走入歧途。

  1)技术因素

  √ 保证正确遵循针对评审类型所定义的过程,特别是针对正式的评审,例如:审查。

  √ 记录评审所花费的成本(例如:时间成本)和所获得的收益。

  √ 对早期的草稿或者部分文档进行评审,以提前识别其中的各种缺陷类型,防止它们被引入整个文档。

  √ 在启动一项评审过程之前,通过定义评审的入口准则确保文档或部分文档已为评审准备绪。

  √ 运用组织特有的缺陷检查表提高评审的效率和有效性。

  √ 根据不同的目标(例如:技术改进、信息转移或进度管理),运用多种类型的评审。

  √ 对于影响重大决策的文档应该进行评审或审查,例如:在决定是否批准项目主要开支之前,需要认真审查相关的建议、合同或高级需求。

  √ 抽样调查某一限定的文件子集以达到评估的目的。

  √ 鼓励发现重要的缺陷,注重内容而非形式。

  √ 持续改进评审过程。