微软专家蔡培谈BUG管理

狭义地讲,BUG是写程序过程中造成的错误,广义地讲,BUG是影响客户正常使用的任何问题,就是说,BUG不仅仅是编程中出现的问题,还包括了客户功能规范等方面的问题。
  BUG在我们的工作中具有五大危害:降低产品质量;无法预计和控制产品发布日期;损害团队的积极性;损害未来的产品版本;降低工作效率。
  BUG的来源是多方面的,主要来自于:项目期限的压力;产品的复杂度;沟通不良;开发人员的疲劳、压力和受到干扰;缺乏足够的知识、技能和经验;不了解客户的需求;缺乏动力。
  怎样减少BUG?开发中要为质量工作留足时间;程序越简单越好;改善团队内部、团队和客户的沟通;重视和避免开发人员的疲劳、压力和受到干扰;增加知识、技能和经验;对客户深入了解;把项目质量和个人利益挂钩,任务的目标包括完成任务的期限和保证的BUG下限;树立正确的BUG观。在微软,开发与测试平行进行,开发人员不完全依赖测试人员,单元测试(Unit Test)要程序员自己做,程序员一定要保证程序的所有路径自己都走一遍。程序设计要遵循一定的规范和原则,如函数和变量的命名规则,函数和算法追求简单,不为一点点效率的提高而牺牲程序的易读性。为程序员提供一个安静的开发环境,不把程序员推到客户面前,避免受到外界干扰,与客户的交流和沟通由专门的程序经理(Program Manager)来完成。
  开发过程中使用一套BUG管理软件也非常必要,目前微软还没有向市场提供这样的软件,但可以找到第三方的产品,软件公司也可以自己开发一套简单的系统供自己使用,微软也是这样做的。这个软件其实很简单。测试人员或者开发人员发现一个BUG,就向系统登记,记录使用的测试试例,发现的问题,能解决这个问题的开发者等等,这个开发者就会收到一个邮件,通知他这些信息,如果的确属于他的问题,那么他答应解决,解决后再测试,再把处理结果和原因登录到系统中,如果不是他的问题,那就要把他认为能解决问题的人再填上去,如果解决不了就要把球传给程序经理或者项目经理,任何时候,每个人都可以看到自己必须要解决的BUG,程序经理和项目经理都可以看到自己团队里存在的BUG和解决情况,整个开发过程就是BUG数从少到多,再到少的过程,从BUG数量的变化,也可以推断软件产品的成熟性,推断产品的发布期。
蔡培小传:
  在微软总部工作6年,先在OFFICE团队参加EXCEL97的开发,后来进入MSN负责社区项目,负责中间层到数据库的设计,2001年8月回国在微软中国工作。
作者小传:
  马映冰,男,34岁,计算机本科,经济学研究生。1989年起参与中大型软件的开发、推广和组织,参与过的项目涉及管理类、工控类、通讯类和CAD。1997年通过系统分析员考试。经历包括大学教师、分团委书记,IT公司的技术部经理、市场部经理、对外合作部经理、总经理助理、总经理。
posted @ 2005-02-18 09:47  行进中开火  阅读(556)  评论(1编辑  收藏  举报