张现锋网站_张现锋博客

张现锋 认证讲师
研发管理实战派讲师、研发创新管理资深顾问
http://www.jiangshi.org/536810收藏讲师购买讲师服务

张现锋:研发项目的缺陷分析和缺陷管理

关键词:[战略管理] 浏览:11470 发布日期:2016-01-20 网页收藏

  • 作者:张现锋  研发管理资深顾问

    关键字:缺陷管理、个性化配置、RDM、青铜器软件

     

    在以前的一个咨询项目中,客户的研发总监向我们诉说他们产品开发缺陷管理的现状:人世间最痛苦的事莫过于——我们的项目开发正陷于混乱不堪的缺陷之中。因为缺乏一套缺陷管理的信息化管理系统,使产品的缺陷无法回溯,无法跟踪,解决没解决不清楚,一片乱麻。  

    由于没有得到足够的重视,软件缺陷管理处于失控状态。软件测试人员报告的缺陷常常被遗忘掉;或没有人知道在新的软件版本里究竟纠正了哪些缺陷,还有哪些缺陷未被纠正。更重要的是纠正过程是否引入了新的缺陷也没有人知道,再或者就是缺陷报告书写不规范,使得开发人员不得不一次次找到测试人员来面谈,还有许多无效的文档使缺陷状态混乱,相关人员无法及时获得有关的变更信息。

     

    造成企业中缺陷管理混乱的根本原因

    结合业界研发管理最佳实践和深入分析,出现问题的根本原因主要有以下几点:

                             第一、  企业中没有一套规范的缺陷管理流程,缺陷跟踪混乱;

                             第二、  没有清晰缺陷分类,缺陷责任人定义不明确,导致团队内部互相推诿;

                             第三、  企业没有使用一套规范的缺陷管理IT工具,无法对发现的每个缺陷的解决过程进行完整跟踪、分析;也无法在公司分享以前犯的错误、走的弯路,导致同样的问题在不同项目中重复的出现。

    什么是缺陷管理?

    缺陷(Defect或BUG)是产品开发过程中的“副产品”。通常,缺陷会导致产品在某种程度上不能满足用户的需要。每一个产品开发团队都必须知道如何妥善处理产品中的缺陷,这关系到产品生存、发展的质量根本。

           (1)缺陷管理的目标

    一般而言,缺陷的跟踪和管理需要达到以下两个目标:一是确保每个被发现的缺陷都能够被解决,二是收集缺陷数据并根据缺陷趋势曲线识别和预防缺陷的频繁发生。  

    (2)缺陷管理重在预防缺陷

    正如我们所知,缺陷应该尽早地在开发过程中被发现。修正处于开发阶段的缺陷的成本远远低于修正处于验收阶段的缺陷,而相对与修正已经发布给客户的产品缺陷的成本更是可以忽略不计。因此,越晚修正缺陷,修改涉及的面更广,成本更高。  

    缺陷管理的核心:缺陷分析

    缺陷预防的着眼点在于缺陷的共性原因(CommonCause)。通过寻找、分析和处理缺陷的共性原因,实现缺陷预防。缺陷预防并不是一个不切实际的目标,但是不能期望它在一夜之间发生。我们在开发过程中应该积极为开发小组提供缺陷分析,使缺陷逐渐改善。因此,缺陷管理的最终目标是预防缺陷,不断提高整个开发团队的技能和实践经验,而不只是修正它们。  

     

    如何高效地进行缺陷管理

    1)      建立缺陷处理流程,减少无效运作

    建立缺陷处理流程,定义缺陷处理过程的职责和权限,用明确的流程去指导如何对缺陷进行日常管理,提高运作效率。

    2)      清晰缺陷分类,明确处理责任

    首先要改变以前那种凡是缺陷就是由开发人员负责的观念。跟据缺陷内容可分为需求缺陷与程序缺陷。对于程序缺陷是由相关开发人员进行处理,需求缺陷则要交由需求人员进行处理,对于这种分法的好处就是明确了缺陷处理的责任人。

    3)      实施缺陷管理IT工具,实现缺陷全过程的跟踪管理

    为了跟踪和控制测试质量,便于管理测试发现的缺陷,我们需要引入专业的缺陷管理IT系统,以便报告、查询、分类、跟踪、处理和验证缺陷。

    青铜器RDM研发管理信息系统解决方案

           青铜器RDM缺陷管理模块,实现了从缺陷提交、解决、回归测试、关闭完整的流程,对产品开发过程中发现的缺陷进行完整的跟踪和管理。通过RDM,明确缺陷责任人,确保缺陷能够及时、彻底的得到解决;同时纳入缺陷库,供其他开发人员分享经验教训。

    图1 缺陷管理流程

     

           青铜器RDM缺陷管理的特色功能:

    1)      业界最佳缺陷管理流程电子化

    2)      缺陷全过程管理

    3)      缺陷流程的个性化配置

    4)      缺陷查询按需配置

    5)      缺陷统计视图按需配置

    6)      缺陷统计及报表生成

    青铜器RDM缺陷管理的主要过程:

    (1)缺陷提交

    第一步是提交发现的缺陷,产品开发和测试人员,及时将发现的缺陷在RDM系统中提交,由SE或项目经理根据具体实际情况制定责任人进行根源分析、定位和解决。

    图2 缺陷提交页面

    (2)利用缺陷统计分析功能,掌握产品开发质量状况和质量趋势

    在谈到缺陷管理时,一般人都会只想到如何修正缺陷,而对根据缺陷分析进行有效预防缺陷却很容易忽视。其实,在一个运行良好的项目开发中,缺陷数据的收集和分析是很重要的,从缺陷数据中可以得到很多与软件质量相关的数据。例如通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。常见的的缺陷数据统计图表包括缺陷发现趋势图、缺陷严重性分布图、缺陷关闭趋势图等。

    缺陷预防分析是整个缺陷分析过程的核心。这一阶段总结出的实践可以在更广泛的范围内预防潜在的缺陷。缺陷分析提供了两个非常重要的参数,一个是缺陷数量的趋势,另一个是缺陷修复的趋势。

    图3 缺陷统计

    图4 缺陷统计示例:缺陷发现趋势图

     

     

    (3)发布缺陷分析经验,提高团队成员能力

    分析得出来的缺陷实践经验应该被记录并发布,这样其他的开发人员就可以通过学习这些经验避免类似的错误。一个发布经验最好的办法就是知识库,这将使得新的知识在项目内流动并被相关的开发人员所学习。通过总结,帮助产生缺陷的开发人员总结经验,并使他在将来避免类似的缺陷。

    图5 查询历史缺陷,共享经验

    青铜器RDM缺陷管理工具方便了项目经理获取正确、足够的信息,简化了信息共享流程,最大限度减少重复工作。项目经理通过对缺陷按照多个维度进行统计分析,确保项目开发健康开展;同时,通过分析预测项目测试缺陷趋于零的时间,以制定产品质量验收和发布的时间。  

企业会员在线交易流程