按照CMMI的框架,QA的职责有二:依据一定的标准对过程进行评价;依据一定的标准对工作产品进行评价。貌似从这两点,让人感觉QA就是在对项目组品头论足,挑毛病,不断的给项目组制造麻烦。有一些问题还会直接报告给高层领导,在领导面前“打小报告”。QA还强迫项目组按照组织的过程做很多开发以外的事情,写很多文档。可能的确存在这样的情况,也有很多研发人员有这样的感觉,我自己也曾经有过这样的感觉。
看了一些书,查了一些资料,慢慢的了解到,质量保证是缺陷预防的一种手段,只有保证开发过程正确的情况下,才能更好的发现缺陷,从而保证产品的质量。QA是项目组的老师、警察和医生。QA首先要对公司的规程、规范了解和熟悉,具有一定的学习和沟通能力,只有自己弄懂了才能培训和项目组成员。在项目组成立之初,就介入项目组,指导和协助项目经理进行过程裁剪,项目估算。在后来的研发过程中,指导每个过程的执行。警察的角色听上去有点严肃的感觉,就是依据公司的规范和标准流程结合项目组的情况进行公平公正的评价。QA还担当了医生的角色,当项目组遇到困难或出现问题时,QA会协助项目组分析问题发生的原因并找到合理的解决办法。所以,QA并不是如前面所说的,QA是项目组很好的合作伙伴和朋友。
举一个QA起作用的例子:有次QA评价项目的设计文档,发现有些内容不够全面和具体,经过QA和项目经理及责任人的沟通,最后决定进一步完善,不然后来的编码工作会受到影响。半个月后,其中的一名程序员张要调走,李来接手,此时张感慨,多亏设计文档完整细致,真有交接才发现节省了不少时间。
我认为真正的QA工作很具有挑战性,要有足够的开发经验,管理