SQA工作的详细做法及流程1目标:遵循《软件质量保证计划》进行软件质量保证活动客观地验证软件开发过程和软件产品是否遵守可用的标准、规程和要求确保将软件质量保证的活动和结果通知受影响的项目组和人员高层管理者关注在软件项目中不能解决的偏差事件和不合格项2SQA活动的策略当SQA刚切入项目组时,SQA首先就要掌握项目组的一些基本情况,主要包括项目经理的能力,项目的规模,项目工期,客户对进度、质量的要求,项目组成员情况,项目组织架构情况.其中最关键的是要看项目经理的能力情况。1)、PM能力欠佳,则SQA的工作就是全程跟踪项目,审计是重中之重。2)、项目经理的能力强,则SQA的主要工作可以划分为两部分,一部分是对一些重点的过程和产品进行审计,另一部分是优化我们的过程,流程,对我们的发现的一些问题或缺陷进行分析,改进我们的过程。3具体活动:3.1SQA参与制定计划SQA参与制定计划包括SDP和阶段计划,在SDP活动中,SQA主要是参与到软件过程的剪裁、复审估算、参与评估风险等。然后,SQA参与复审SDP,其目的,除了熟悉项目的计划外,还需要复审看是否SDP与纳入项目的客户的需求一致,计划能否满足客户的需求的,在SDP修正中,涉及到上述内容的,也需要SQA参与。然后,SQA也会参与阶段计划的制定,主要是复审阶段计划是否满足阶段的目标。3.2SQA参与复审纳入项目的需求此时SQA主要是作为复审者的角色,复审纳入的需求描述是否清晰、一致、需求的可行性等。3.3SQA制定SQA审计计划在制定计划的同时,SQA也需要制定SQA审计计划,在制定SDP的时候,SQA制高层的审计计划,主要是计划有那些内容需要SQA审计的。然后,在制定阶段计划的时候,SQA需要制定具体的审计计划,包括每次审计的时间,审计的对象等。3.4SQA参与进度复审或里程碑复审活动SQA在参与进度复审或里程碑复审活动中,主要是一方面了解项目的进度,另一方面,复审项目在进度复审中采取的一些修正行动的时候,是否满足客户的需求,是否可行等,而在里程碑复审中,则复审项目当前的状态是否满足里程碑的标准(CriteriaofMilestone),是否达到里程碑的目标。3.5SQA审计另外,SQA的主要活动是按照制定的SQA审计计划对项目进行审计,审计的内容包括过程审计和工作产品审计。过程审计主要是审计项目开展的软件活动是否和计划、与OSSP一致,工作产品审计主要是审计工作产品是否满足标准和约束条件。3.6SQA阶段总结由于公司很多项目都是采用迭代模式的开发,项目开发周期较长,所以有必要在项目某个阶段结束的时候,对SQA在这个阶段的活动进行一个总结,主要是对一些经验教训进行分析,找出这些问题背后的原因,提出一些可行性的解决方案,目的是为了提高质量保证的水平.3.7跟踪问题处理SQA应跟踪问题处理过程,直到问题解决。跟踪的问题包括日常发现的产品问题、过程问题、项目风险、评审发现的问题、测试发现的问题等。如果不能和项目组就解决方案达成一致,可向公司高层反映.3.8度量和报告SQA应善于根据过程规范和经验发现项目运行中的问题,并做到紧急问题、重要问题随时汇报,其它问题周期性汇报。SQA需要随时收集数据并保障数据的有效性、真实性。定期汇总数据、统计分析并产生度量报告。SQA应协助项目组和SEPG针对不良趋势和问题采取纠正或预防措施。3.9质量推进质量推进主要包括提高全员的质量意识和推进、解释过程的执行两个方面。这项工作需要在日常工作中一点一点地、坚持不懈地实施,这样做的目的是为了营造公司的一种质量文化氛围,理解和支持SQA的工作.3.10过程制定如果项目或组织需要制定过程规范,SQA应组织相关人员来完成过程制定工作。一般情况下,过程制定应由遵守和执行该过程的人员负责。所有制定的过程都必须经过评审,并由SQA检查执行情况。3.11过程改进过程改进是一项长期的任务。SQA应注意随时发现、听取过程执行中问题和改进工作的方法,并进行阶段性的总结(比如质量报告等),以不断改进过程,提高过程能力。3.12学习和研究SQA要不断学习和研究,尽量保持与领域最新的知识、方法同步,找出提高产品质量和工作效率的方法与过程。学习的内容主要包括管理领域和开发领域。管理领域包括质量管理(TQM、ISO9000、CMM、RUP、MSF、XP等)、软件度量(PSM、GQM、SPC、SixSigma)、项目管理、配置管理等。开发领域包括需求工程、设计、编码、测试等各阶段的开发和管理方法。3.13质量培训项目或组织需要时,SQA需要向相关人员进行质量管理方面的培训或咨询4SQA审计工作指南:SQA工作的很重要一项就是审计,SQA审计工作的目标是验证项目组实际执行是否与项目计划相符合,执行的步骤是否与公司规定相符合,及时发现项目存在的问题,并提交问题报告,跟踪直至问题得到解决。4.1SQA审计工作的各个阶段:可以将SQA审计划分为各个阶段:1、审计任务计划阶段:审计任务的计划是SQA计划中的一部分,应该根据每个项目的特点进行不同的考虑,以安排审计任务。主要的依据有几点:根据项目的风险安排审计任务的重点,根据项目计划的进度安排组织审计任务的时间,根据审计对象的不同考虑审计方法;2、审计任务执行阶段:审计任务应该按照SQA计划来执行,并根据审计对象的不同采取对应的审计方法;因为实际的审计的执行需要兼顾项目的实际情况(包括人员、进度),因此要做好SQA审计状态的记录,及时跟踪审计任务的执行情况,出现审计任务与SQA计划的出入时,应该进行计划变更;3、审计问题的提出阶段:在审计中发现问题时,应该首先与项目相关的工作人员沟通,明确问题,同时记录SQA问题清单,并知会项目PM;问题应该得到项目组的认同,问题说明应该清晰,当问题不能够明确时(不能认同、确定),需要报请SEPG或者高层经理确认。发现的问题一般应该得到及时的处理,当问题不能及时解决时,应该提交SQA的问题报告,问题报告中需要明确问题的责任人,以及计划解决时间;4、审计问题跟踪阶段:对SQA提交的问题,需要对其状态进行跟踪,保证问题能够得到解决,对于解决时间超出计划时间的问题,应该在每周的报告中提交给高层经理。4.2SQA审计方法:审计方法根据审计对象的不同,可以分为:项目活动审计,和项目产品审计。1.项目活动审计是根据项目计划,到达对应的项目活动执行时,SQA人员切入到项目中,通过与项目组沟通,了解项目活动的执行情况。具体的了解方式可以有多种,如:与项目组直接的沟通、通过活动的记录文档了解活动的进展、直接参与项目组的活动等;方法的选择取决于活动的类型以及项目的具体情况,采用什么方式以达到了解项目活动实际情况为目标。2.项目产品审计,主要是对项目的工作产品进行审计,项目的工作产品是否合格包括两个方面:1、满足客户以及公司对产品的要求,一般要求符合工作产品的模板、标准,其中客户的要求一般都会明确在项目纳入的需求和相关的计划中;2、项目产品的合格也是由流程来保证的,产品的开发过程应该按照计划得到了必要的复审和评审。审计产品的时机一般是在产品提交后进行,但是SQA也应该根据工作产品的特点,注意安排产品制定、开发当中的审计,以期及早发现问题。5报告机制5.1.1周报把一周来SQA活动发现的问题进行汇总并加以简要的分析,发送高层、项目组有关负责人、质量部负责人、SEPG5.1.2上报项目经理对一些比较紧急的问题应立即报告给PM,如果能达到一致的情况下,要求落实问题的解决,5.1.3上报高层如果发现了问题,不能与pm达到一致的话,上报高层6参与的其它活动了解项目成员每天的工作情况促进项目关系人员之间的沟通参与风险的识别,跟踪管理量化工作7SQA工作流程图参与项目制定项目计划划准备检查表预约审计开展SQA活动编制审计报告是否有不符合性问题是否月底SQA工作提交配置管理人员是否项目结束END通知单完成的工作追踪不符合性问题编写SQA月状态报告制作修改SQA计划YesYesYesYesNoNoNo