任何一个项目,算是的开发组长,团结的开发团队,也不能保证开发过程一定能按计划完全顺利进行,更别说放任计划随意进行的开发了(实际上这样进行开发的项目很多)。这根源到底是什么呢?我想说的是可控性,如何实现可控性,是项目计划工具?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实时通知缺陷任务
有了先进的缺陷管理理念和一套好的缺陷管理系统,相信项目组长,开发组长,都可以很轻松的控制整个开发的进度,时刻了解开发的进度,保证开发的质量,交出满意的工作清单。