5.1.2 软件质量保证人员的素质和责任
软件质量保证的工作涉及软件工程的各个方面,软件质量保证人员要与不同角色的人进行沟通,因此软件质量保证人员除了要具有较高的智商和情商外,还要具备以下素质和能力:
① 首先要有控制软件质量的能力。也就是说要熟练掌握公司的各种流程、标准和规范,做好第三方独立审计的工作并及时发现、纠正问题,在必要时可以利用向高层经理直接汇报的权力来“威慑”相关人员,以确保软件质量向好的方向发展。在控制软件质量发展方向的同时要学会控制自己的情绪,因为软件质量保证人员是专业的质量专家,但公司内其他人员却不一定都很了解软件质量保证的工作以及如何从根本上去提高软件的质量,软件质量保证人员在工作中往往有种“秀才遇到兵,有理讲不清”的感觉,这时就更加需要控制自己的情绪和言语,找到合适的方式进行沟通,使问题最终得以解决。
② 软件研发流程和软件产品中很多出现的问题和不符合项通常会有相似的地方,这也就需要软件质量保证人员具有对问题根源识别和归纳的能力,也就是透过现象看本质的能力。例如:某软件公司的很多项目计划都不够准确,通常项目计划在项目刚刚开始前两个月还具有指导性的意义,两个月以后就算没有其他原因,项目计划本身也需要进行变更。那么软件质量保证人员就会对多份项目计划进行检查,结果发现所有项目计划中都没有开周会的任务,这种周期性的多人参与的任务工作量其实是惊人的,这就是导致项目计划在两个月以后不准确的原因之一。对问题的归纳能力有点像软件测试技术中的“等价类比法”,要将所关注的内容进行归类,这样才能减少软件质量保证人员的工作量。
③ 软件质量保证人员要有举一反三的能力,很多问题和风险的起因都是相同或相近的,如果可以举一反三,那么对于未发生的风险和问题来说将起到预防的作用,对于已经发生的风险和问题来说就可以尽早对它进行识别,从而降低它的负面影响。
④ 软件质量保证人员要有很强的沟通能力。
⑤ 很多软件质量保证人员由于工作年限短,而且又缺乏软件开发的技术实力,在与项目经理沟通时往往处于弱势,因此软件质量保证人员应该对自己有信心,要保持适当的强势。
⑥ 要熟悉软件工程的理论和知识,这样才能更好理解公司制订的各种流程、标准和规范。也只有掌握了这些知识,软件质量保证人员才能向过程改进小组(EPG)提出过程改进的建议。
⑦ 一个软件质量保证人员通常要审计多个软件项目,因此软件质量保证人员本身要有很强的计划性和条理性,否则自己的工作都无法做好,就更谈不上审计、监督他人的工作了。
⑧ 软件质量保证人员要有一个客观的、对事不对人的职业素养。因为软件质量保证人员有权力直接向公司高层领导反映情况,这个权力是把双刃剑,它既可以帮助QA人员解决项目组发现的问题,也可能让人感觉有打小报告的嫌疑。因此具有一颗客观、公正的心是必不可少的。