软件质量保证和软件控制都是得罪人的工作,并不是太好的做。经常是费力不讨好,最后人得罪了不少,力气费了不少,成效不大。而很多质量保证人员也不得不离开所在的单位。很多著名的公司为了搞好质量工作,采用国外先进的管理方法进行质量保证,但也往往遇到水土不服的问题,因为这个问题下岗的高级管理人员也不是一个两个了。为什么在国外很好的质量保证手段在中国就水土不服?为什么质量保证人员总是打一枪换一个地方(很多质量保证人员在一个地方工作的时间往往是2年左右)。如果我们一味强调客观因素,而不是从我们自身找问题,是没有办法真正找到解决这个的方法的。下边就我说说我自己的一些感受。
1 质量保证工作,重流程,轻实施是我们的一个问题。
现在的质量保证人员一般手里都不乏这样或那样的证书,拿我们软件质量保证人员来说,最基本的是ISO9000的证书,然后是CMM/CMMI,似乎没有这些证书就不适合搞质量保证工作。如果让他们规范单位开发流程,他们在几天之内就可以给你拿出一大堆流程文件来,而且可以保证这些问题是符合质量的要求。但一旦到了实施阶段,就会发现这些流程不能适应公司的具体要求,不是太繁琐,就是开发人员搞不明白,和技术人员矛盾不断涌现,如果你的对手只是普通的技术人员那算你走运,你还可以挺几年,但如果是和公司几个核心的开发人员产生矛盾,那你准备卷铺盖走人吧。一个公司没有质量保证人员不会死,但核心技术人员如果走了,公司就会面临倒闭的问题,再傻的老板到这个时候都会挥泪斩马谡的。所以,想真正实施好公司的质量保证一定要重流程,更重实施。
2 质量保证工作,重知识,轻经验。
我这里说的知识是指质量保证知识,经验是指实际工作经验,拿我们做SQA的来说就是你的开发经验,我遇到了很多SQA只有1-2年的开发经验,或者干脆就没有开发经验。想一下,没有调研经验的人去给一帮参加过7,8个大项目调研的人将如何调研,一个没有编写过设计文档的人,在给一群架构师讲解如何设计软件,一个没有代码编程经验的人给一帮代码量超过20万行的程序员讲代码规范,你说是不是一个可笑的事情,开发人员都是很实在的人(甚至有时候可以说比较傻的人),他们长期的工作经验使他们只信服那些实力比他们强的人,如果你有充足的实际工作经验(软件开发经验),说的问题到位,能够将质量保证理论和实际开发结合,可以帮助他们解决实际问题,他们很快就会接受你,否则他们会对你不屑一顾。而你的质量保证根本无法实施。
3 质量保证人员不要抢功劳。
一个公司就象一个盘子,盘子里的蛋糕就这么大。你进来了需要从别人的蛋糕里切一块,别人自然会有反弹,作为质量保证人员在这个时候最好的方法就是退后一步,将功劳让给开发人员。质量保证工作会涉及到公司的各个部门,各项工作,会影响公司几乎所有的工作人员,如果在这个时候,你想把所有的功劳都抢到自己手里,会树敌无数,一旦这种情况出现,一个是你的工作无法推行(基本没有人支持你),另外一个就是你不得不离开这个公司了。但如果你是聪明人,你帮助开发人员不断的改善他们的工作,他们可以很好的完成自己的开发工作,加班时间大大减少,产品质量不断提高,不断获得客户和领导的表扬,而且加了工资,你想在这种情况下,他们怎么会不配合你的工作?所以说,好的质量保证人员永远是站在成功者背后的那个人,他默默地做着自己的工作,为别人做绿叶。一个良好的心态才能真正搞好质量保证工作。在这里再多说一句,任何人的功劳都会得到回报。当公司的整体质量提升了,公司的效益提高了,你觉得老板会不明白这是谁的功劳吗?
4 质量保证工作,不能一开始就全面开花,而要由点到线,由线到面。
上边说了质量保证工作会涉及到单位工作的各个方面,在你刚进入到公司的时候,立刻会发现很多问题,但如何着手,需要一个谋划,一般来说比较容易见效果的,投入不大的方面是你首先要考虑的(有时候还不是公司最主要的质量问题)。如果你能在短时间让别人看到你的工作效果,见到成果,认可你的实力,才可能和他们达成一定的协作关系,为以后的质量保证工作铺平道路。另外需要说的,质量保证需要不断的投入人力和物力,而这些东西在你刚进入公司的时候往往是不具备的,分清事情的轻重缓急,难易程度,逐步实施质量保证。可以保证你的工作的顺利实施。
5 做质量保证工作,最重要的是做人的工作,这里分两个问题来说明,一个是你要有自己可信赖的人员。
打铁先要自身硬,做质量保证工作,不但你最好有技术背景,精通软件开发,遵守公司的规章制度,你还要有一支可培养,可信赖的质量保证队伍,一个人的精力和能力毕竟是有限的,而一旦你形成了一个良好的质量保证队伍就可以保证你的工作越做越有成效。另外一个就是善于借力打力。上边说过,绝大多数开发人员都渴望成功,他们缺少的只是经验,将你的经验和知识和他们分享,让他们成为的朋友,成为工作的伙伴,成为你的编外质量人员,这对那些质量保证人员编制比较少的质量保证部门格外重要。
6 质量保证工作,遇到问题,先解决问题,找出原因,进行改进,而不要一味地追查责任。
质量保证人员的责任是改进质量工作,提高整个公司的工作效率,而不是老板,去追查这是谁的责任。当一个问题发生的时候,所有的人员都在往后躲。怕承担责任,作为质量人员如果在这个时候,首先去追查责任,那你就大错特错了,首先我们要解决问题,看有什么补救的方法,先想办法将事情办好,然后仔细分析问题产生的原因,找到如何避免这个问题再次发生,至于责任在哪个责任人,自有具体的管理人员负责,这不是我们的责任,说简单一点,我们的责任就是协助一切工作人员做好他们的工作,而不是给人员裹乱。