享受生活,享受学习

导航

看得见的开发管理方法—缺陷管理(转)

摘要:如果一个项目的每个步骤实实在在的眼皮底下进行,而且随时可以翻阅,那么这个项目的成功一定不会远了。开发过程的管理也是这样,控制每一个细节,水到渠成。

 最近陪家人逛了几集电视连续剧《情迷天使》和《玉观音》,《玉观音》算是重播了,只是以前也没注意,现在看了几集,真是看不下去了,其中给我最大的感受就是一群人,一时的冲动,种下恶果,然后前方百计的企图改变或是掩盖这个结果,苦苦挣扎着。既然希望有个严肃的结果,行为就一定要严谨。那么是否行为严谨就一定能有严肃的结果。

 由此我一直在想着,行为决定结果的问题,也想着这其中和软件开发管理之间存在的紧密关系。任何一个项目,就算是最资深的开发组长,最团结优秀的开发团队,也不能保证开发过程一定能按计划完全顺利进行,更别说放任计划随意进行的开发了(实际上这样进行开发的项目很多)。这根源到底是什么呢?我想说的就是可控性,如何实现可控性,是项目计划工具—Microsoft Project 2002,是软件开发管理工具—美国Intersolv 公司的PVCS,是软件配置管理工具—ClearCase, 是画出优美项目周期的Viso,不,都不是,各位别见笑,我并没有看轻它们的意思,这些都是举世之作,不是我狂妄的地方。之所以说不是,是因为这完全是两码子事,它们进行的是宏观的调控,不够细分,控制不到细节。结果是由每个细节的过程来决定的,要控制项目就要控制到每个开发的细节,所以今天要说的是微软的开发管理理念之一—BMS 缺陷管理理念(这里说的是广义的缺陷管理) 好好了解如何运用这个理念和工具真正掌控细节,从而实现开发的最优路径。

(一)BMS 缺陷管理的作用

保持进度、保证质量

 我们都知道,管理的目标是争取让每个事情都能按时完成并保证质量,使“客户满意、公司获利”,其实还有一个当然就是“员工受益”,通过软件开发管理提高,提高软件质量,创造效益,最终达到大家满意。
(二)BMS 缺陷管理如何运作

1、如何保持进度



缺陷管理理念讲究的是将工作细分成小模块甚至是最小的单元,列出要完成的模块,每个模块工作安排具体还细分到要完成的每个步骤,具体分配到人。比如软件项目中的一个小模块就可以分成:需求(或bug)、指派、开发、测试、构造、验收、发布。项目主管可以把每个小模块分配到开发组长,开发组长可以继续指派到每个开发人员手中,开发中的每个人都有他对应的位置,每个人都可以轻松看到他在每个模块中的任务内容及时间安排。主管也很容易了解到每个人完成的情况,从而可以随时修正方向,及时调整工作安排,保持项目不偏不离继续按计划进行。这也就是缺陷管理真正的精髓:将原来隐含的关系变成清晰的、易于管理的关系,使项目开发更有计划和有效地运行。

2、如何保证质量

 既然要让工作具有质量,那么就要极力预防错误的发生,就算发生了,也要能及早发现,及时修正。缺陷管理的理念就是每个环节都有相对应的人员在进行稽核,一直循环,直到达到要求为止,每个开发人员分别完成自己的功能,针对要修改的任务进行修改,每个测试人员针对可测试的功能进行测试,测试不合格,再重新返回修改。把bug扼杀在交给客户使用之前。我们知道开发过程中,bug越迟清除,时间花得越多,立刻除虫,时间是节省最多的(既然有时间还不如听听音乐,侃侃大山),也不用到后面弄得浑身乏术,筋疲力尽,连对开发软件的兴趣都没了。甚至还被客户投诉,连奖金都没了。

3、管理文档

 开发中还经常出现的就是项目组把工作进度报告看成是一种很重的负担,要么写不出来,要么要花很多时间去写,为什么要特别说很重的,因为负担都是有的,但还是要写,没办法,可是如果每天要花3~4个小时写报告,正常的开发工作却不得不加班做,那么就要想想办法了,毕竟我们是做项目的,不是写报告的。缺陷管理的理念就是清楚的纪录每个问题的过程状态,中间产生的文档可以通过系统随时记录在案,最高效率产生文档,一目了然,完成哪些模块,更正哪些问题,基本上报告也就写完了。文档的管理还有另一个好处就是容易翻阅历史资料,减少内耗和误差,这点大家体会应该也很深,因为很多细节的部分,是不会记录在案的,当时为什么要这样做,那样改,由谁改,全凭脑袋记忆,无从查证,运用BMS缺陷管理,可以轻松解决这一点困扰。

(三)如何选用工具进行缺陷管理

 开发管理过程不是操作复杂,就说明管理就是好;也不是稿纸写一写,会议开一开,就可以。最关键的是适合,看得见,管得着(不是管人哦,注意是管事)。如何跟踪,自然靠的就是软件,那么就稍微介绍一下国外已经非常流行、国内刚开始的缺陷管理工具。现在网上可以查得到的缺陷管理软件大部分是英文版的,也有 2~3个是中文版的,有要收费的,有免费提供的。但无论如何,比较好的缺陷管理系统应该具备下列的优点

1、 安装简易,操作简易



2、 支持开发、构建、测试、验收多重迭代

3、 支持项目经理全程追踪督促

4、 支持开发组长、测试组长多级指派

5、 完整的追踪信息展现

6、 支持发布版本的缺陷关联

7、 Mail实时通知缺陷任务

  有了先进的缺陷管理理念和一套好的缺陷管理系统,相信项目组长,开发组长,都可以很轻松的控制整个开发的进度,时刻了解开发的进度,保证开发的质量,交出满意的工作清单。

(三)如何选用工具进行缺陷管理

常见免费缺陷管理工具:
Buggit
http://www.pb-sys.com/
Buggit 是一个十分小巧的C/S结构的Access应用软件,仅限于intranet,十分钟就可以配置完成,使用十分简单,查询简便,能满足基本的缺陷跟踪功能,还有十个用户定制域,有十二种报表输出。
数据库要求:MS Access97/2000

Mantis
http://mantisbt.sourceforge.net/
工具描述:
Mantis是一款基于WEB的软件缺陷管理工具,配置和使用都很简单,适合中小型软件开发团队,关于Mantis的介绍文章参见51testing软件测试网顾问蔡琰的文章 《使用开源软件 Mantis 实施缺陷跟踪的成功实践》
用环境: MySQL, PHP

Bugzilla
http://www.mozilla.org/projects/bugzilla/
工具描述: 一款不错的软件缺陷管理工具。
Buzilla是一个BUG管理工具。作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,包括报告Bug、查询Bug记录并产生报表、处理解决、管理员系统初始化和设置四部分。并具有如下特点:
  1。基于Web方式,安装简单、运行方便快捷、管理安全。
  2。有利于缺陷的清楚传达。本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的Bug报告。提供大量的分析选项和强大的查询匹配能力,能根据各种条件组合进行Bug统计。当错误在它的生命周期中变化时,开发人员、测试人员、及管理人员将及时获得动态的变化信息,允许你获取历史纪录,并在检查错误的状态时参考这一记录。
  3。系统灵活,强大的可配置能力。Buzilla工具可以对软件产品设定不同的模块,并针对不同的模块设定制定的开发人员和测试人员;这样可以实现提交报告时自动发给指定的责任人;并可设定不同的小组,权限也可划分。设定不同的用户对Bug记录的操作权限不同,可有效控制进行管理。允许设定不同的严重程度和优先级可以在错误的生命其中管理错误,从最初的报告到最后的解决,确保了错误不会被忽略,同时可以使注意力集中在优先级和严重程度高的错误上。
  4。自动发送Email,通知相关人员。根据设定的不同责任人,自动发送最新的动态信息,有效的帮助测试人员和开发人员进行沟通。

付费缺陷管理工具:
Rational ClearQuest
http://www-900.ibm.com/cn/software/...multisite.shtml
提供基于活动的变更和缺陷跟踪。
以灵活的工作流管理所有类型的变更要求,包括缺陷、改进、问题和文档变更。 能够方便地定制缺陷和变更请求的字段、流程、用户界面、查询、图表和报告。开箱即用特性提供了预定义的配置和自动电子邮件通知和提交。 与 Rational ClearCase 一起提供完整的 SCM 解决方案。

Testdirector
http://www.mercury.com/cn/products/...r/testdirector/
Mercury TestDirector 使您可以快速有效地部署高质量的应用程序,其方法是为收集要求、计划和安排测试、分析结果并管理缺陷和故障提供一个持续、可重复的流程。 TestDirector 是一个用于测试管理所有重要方面的基于 Web 的单个应用程序 - 需求管理、测试计划、测试实验室和缺陷管理。您可以将这些核心模块作为独立的解决方案或在全局 Quality Center of Excellence 环境中集成。

SilkCentral Issue Manager
http://www.segue.com.cn/product_testmgt_scim.htm
自动化跟踪流程,快速可靠地解决缺陷.
促成灵活多变的工作流,能够很好地与业务流程配合,将问题自动引导向下一阶段,从而优化了缺陷跟踪流程。基于 Web 的用户接口便于对中央储存器上的缺陷信息进行 24x7x365 的访问,大大方便了分散在不同地点的工作团队的使用,促进不同部门之间的协作。同时,富有见地的报告帮助用户确定项目的进展情况。

Compuware TrackRecord
http://www.compuware.com/products/trackrecord.htm
一个高级的需求变更和缺陷管理工具,可以帮助组织建立一个系统方法来协调软件开发、调试、测试和实现。TrackRecord支持并加速各种开发过程,并具有针对开发、测试和管理需求而设计的灵活、开放的体系结构。TrackRecord可以与康博软件其它的开发、测试和支持产品以及第三方产品集成,从而进行自动化缺陷跟踪、项目管理和整个企业应用的可靠性保证。


posted on 2007-07-12 10:22  徘徊中的海鸟  阅读(254)  评论(0)    收藏  举报