项目的质量控制与质量保证的区别与联系

项目的质量控制与质量保证存在以下几点区别与联系:

  1、质量计划是质量控制和质量保证的共同依据。

  2、达到质量要求是质量控制和质量保证的共同目的。

  3、质量保证的输出是下一阶段质量控制的输入

  4、一定时间内质量控制的结果也是质量保证的质量审计对象,质量保证的成果又可以指导下一阶段的质量工作,包括质量控制和质量改进

  5、质量保证一般是每隔一定时间如阶段末进行的,主要通过系统的质量审计来保证项目的质量(或质量保证是按质量管理计划正确的去做)

  6、质量控制是实时监控项目的具体结果,以判断他们是否符合项目的相关标准,制定有效方案,以消除产生质量问题的原因(或质量控制检查是否做的正确并进行纠正)

  QA的英文为:Quality Assurance 我们翻译为“质量保证”;

  QC的英文为:Quality Control 我们翻译为“质量控制”

  我们将这两个角色之间进行一下职责划分,以方便我们后续的讨论。

  QA:监控公司质量保证体系的运行状况,审计项目的实际执行情况和公司规范之间的差异,并出具改进建议和统计分析报告,对公司的质量保证体系的质量负责。

  QC:对每一个阶段或者关键点的产出物(工件)进行检测,评估产出物是否符合预计的质量要求,对产出物的质量负责。

  通过上面的职责划分,我们发现,如果我们将软件的生产比喻成一条产品加工生产线的话,那QA只负责生产线本身的质量保证,而不管生产线中单个产品的实际质量情况。QA通过保证生产线的质量来间接保证软件产品的质量。而QC不管生产线本身的质量,而只关注生产线中生产的产品在每一个阶段的质量是否符合预期的要求,如果我们生产的是杯子,那QC只关注:生产的材料是否是预期的,每个杯子瓶口的直径是否符合要求,杯子把手是否符合设计要求等等具体的、可量化的点。

  针对软件企业的软件开发过程而言:

  QA可以进一步明确为SQA,即:软件质量保证,只负责软件开发流程的质量,企业内相对应的角色为:软件质量保证人员,有的企业就直接称之为SQA。

  QC可以进一步明确为SQC,即:软件质量控制,只负责软件开发过程中各个阶段产出的工件的质量,产出的工件可能是相关的文档或者代码等,企业内相对应的角色为:软件测试人员。

  由于各个企业采用的开发流程和测试流程 不一样,在各个阶段SQC的对应人员不一定都为测试人员 ,如在需求阶段,产生的工件为《需求规格说明书》,对该文档的主要质量控制手段为评审,这时候在此阶段担任SQC职责的就是评审小组的成员。

  QA:主要是事先的质量保证类活动,以预防为主,期望降低错误的发生几率。是针对项目实施过程的管理手段(过程)

  QC:主要是事后的质量检验类活动为主,默认错误是允许的,期望发现并选出错误。是针对项目产品的技术手段(结果)

  打个不恰当的比方, QC是警察,QA是法官,QC只要把违反法律的抓起来就可以了,并不能防止别人犯罪和给别人最终定罪,而法官就是制订法律来预防犯罪,依据法律宣判处置结果。

  典型QA的职责:

  1、导师的角色-在项目前期,QA辅导项目经理制定项目计划,根据质量标准过程裁剪得到项目过程,帮助项目进行估算,设定质量目标,对项目成员进行过程和规范的培训以及在过程中进行指导;

  2、警察的角色-在项目过程中,QA有选择地参加项目的技术评审,定期对项目的工作产品和过程进行评审和审计;

  3、医生的角色-在项目过程中,QA可以承担收集、统计、分析度量数据的工作,用于支持管理决策; 

你可能感兴趣的:(质量保证)