项目开发团队中的SQA
过程问题处理
对于SQA在过程中发现的问题,要即时分析问题的出现对产品的影响,即时提出修改和改进建议。将问题解决在出现问题的萌芽阶段。
SQA同开发小组的交互
在实际开发过程中开发人员总是感觉到SQA不亲自进行开发,编写代码,却对自己做的东西指手划脚,心中有很强的抵触情绪。
这种想法有明显的误会,SQA人员本身并不进行具体的开发工作,但SQA却了解高质量的产品如何产生的过程,SQA要对设计开发过程的质量进行控制或监督,检查工作是否在合理的控制和预定的过程中进行的,SQA必须保证开发的过程是高质的,从而加强开发设计的整体质量。这是由SQA本身所担负的职责的决定的。在处理这些关系的过程中要注意的是:
一个产品最终的质量,是由多方面来最终决定的,过程控制是其中重要的一环。
日常进行的工作
阶段输出检查
协助开发团检查工作中的遗漏,比如在某一阶段是否对文档进行了更新,是否进行某种必要的更改,防止出现捡了芝麻,丢了西瓜的事情。
质量体系培训
开发人员在学校中可以说全部学习了《软件工程》这本书,但现在又有多少人真正了解“软件工程”,SQA的一个职能就是对新的团体人员进行必要的软件的过程培训,理论和实际相结合,而不只是用于纸上谈兵。
过程审计
在阶段设计过程中,SQA有责任进行审计,便于提前发现问题,并于阶段中就将问题直接提交,减少返工。
在同时,这个过程是开发人员和SQA人员冲突尤为严重的地方:项目经理在催进度;SQA却说质量不行必须重来或要求大片量的细节修改,这时越是接近扫尾就越是急于进度,有些开发人员就开始以牺牲质量为代价追赶进度,无异于饮鸠止渴。这是明显的拔苗助长式的错误。项目经理所要求的进度,是以保证稳定的质量为前提来提高进度的,不然到阶段审核时,将要面对的是SQA人员或其他人员审计发现的质量问题,而开发人员面对的就是返工的问题,一味为进度而放忽视质量付出的代价才是巨大的。
阶段和过程分析
在这个阶段所要做的就是定期(每周/每阶段)分析当前情况,提供项目进展监控报告给项目经理及需要了解质量情况的人员。
SQA工作的问题
要良好的开展SQA工作,必须进行以下前提进行保障。
1.存档已经明确的文档,规范化和制度化,做到有据可查,有据可依
2.SQA必须是经过认真筛选的,SQA必须要掌握质量体系和一定的统计学的知识并要有多年的实际的运作经验,SQA人员必须能抓住问题的重点和本质,概念清楚,目的明确,不能在工作当中同被审计人员进入无休止的讨论,而阻碍正常工作的开展。
3.全员质量管理体系思想明确,明确质量管理的重要性,严格把关,不能变为上有政策下有对策的局面,质量管理流于形式。要有全员品质管理的意识,保证每一阶段的质量,不能把不合格的中间问题产品带到下一阶段去。
4.明确SQA同开发人员的共同目的是为了提高产品质量,早日完成项目的开发,人员的关系相当于录入和复核的协作关系,而不是对抗关系(没事找事者、挑刺者)。保证质量不光是SQA的负责,也是开发人员本身的责任,不能由于SQA的出现,放松自身的质量意识。
5.SQA人员的工作与软件开发工作是紧密结合的,需要与项目人员沟通。因此SQA人员与项目人员的合作态度是完成软件质量保证目标的关键,如果合作态度是敌意的或者是挑剔的,则软件质量保证的目标就难以顺利实现。
(参考了《软件工程》/何晓源 王慧文:如何实施SQA)