项目质量保证在项目中具体干啥的

白癜风的中医疗法 http://baidianfeng.39.net/a_yqyy/141122/4522589.html

宋老师研发质量群里,最近有位同学抛出一个问题:SQA(软件质量保证)在项目中具体做些什么,怎么做?

宋老师,快速回复道:过程审计、质量保证策划、引导、培训

这位同学又问到:过程审计些什么?怎么审计?过程审计些什么要点,产品审计些什么要点?

问完后,补充一句:我发现我做了这么多年什么都不会了。

这句话让宋老师也略感诧异,不过也有些理解。

很多公司的所谓SQA工程师,包括,大家心目中的几百亿,上千亿营收的大厂,开展工作的内容就是,拿着一堆检查单,对着查,这文档有没有,符合模板吗?裁剪符合定义要求不。

项目组成员,极度反感,认为,太形式主义了,没实质意义,难道文档模板格式写了,软件质量就会好吗?

重要的流程符合度,90%与80%对结果有啥影响么?恐怕QA人员自己也不好回答。从QA自身也觉得,好像没啥成就感。

宋老师今天就重点谈谈,QA在项目中具体干啥?

—1—

QA与QC的区别

在项目管理中,项目质量管理知识域提出了,管理质量(质量保证)与质量控制的概念。大家总是容易混淆。但如果不理解,就无法正确理解QA的工作。

我们先看PMP中是如何定义的?

质量控制

为了评估绩效,确保项目输出完整、正确,并满足客户期望,而监督和记录质量管理活动执行结果的过程。

质量保证

管理质量是把组织的质量政策用于项目,并将质量管理计划转化为可执行的质量活动的过程。主要作用是提高实现质量目标的可能性,以及识别无效过程和导致质量低劣的原因。使用控制质量过程的数据和结果向相关方展示项目的总体质量状态。

所以,我们可以了解,QC主要是监督输出和执行结果的活动;而QA,是预防,把质量计划,变成具体质量活动,纳入项目计划,通过保证和调整过程达到提高项目质量目标的可能性。

—2—

过程质量保证主要职责

项目过程质量保证在CMMI标准中论述如下:

SG1:客观地评价项目过程:保证客观评价已完成的过程、相关工作产品,以及服务等与组织过程定义、规范的一致性。

主要活动:客观评价过程。

SG2:提供客观的认识:客观地跟踪和沟通非一致性的问题,并且保证问题被解决。

主要活动:沟通不一致的问题,建立质量保证活动记录。

因此其中涉及,主要是,过程审核与产品审核

工作产品审核

工作产品审核是由QA进行的独立审查活动,目的是验证产品开发提交的工作产品与产品开发适用的标准、规程、合同协议或其他准则的符合性。

过程审核

过程审核是一种QA进行的对产品生存周期内各种过程进行的独立检查,目的在于验证产品开发过程及活动与产品开发计划、适用标准、规程或其他准则的符合性。

其实这个也回答了之前有同学问的,项目QA,要不要管,进度的问题。答案是要管。因为,质量是产品伴随属性,产品在项目中是由具体的项目活动来完成的。质量目标要达成,每个活动达到要求,这里包含如何做,也包含在什么时间做。计划的可靠性,间接也决定了质量的可靠性。因为,项目一旦延期,原有的活动和过程,必然会受到影响发生变更,对质量稳定就会有影响俩。

—3—

QA项目中的具体工作内容

我们以一个通用的开发项目生命周期模型来谈谈,QA在各阶段的主要工作内容,记住是主要,不同公司细节可能略有不同。

01

概念阶段

概念阶段,主要是验证市场需求转为市场需求规格,并进行关键技术路线论证,综合DFX形成产品包需求规格的阶段。我们知道需求是质量保证的源头,因此在此阶段,QA的重点工作是,

1、收集与分析信息,包括顾客、相关方需求;公司战略及目标;风险、问题点、难点;过往经验教训;行业、公司的相关质量标准与规范;竞争对手的产品特性分析,必要时安排测试获取具体参数信息。

2、确定质量关键特性(如何确定前面文章已经多次论述,不重复了)

3、概念阶段的过程审计,培训、引导、咨询、参与评审,经验总结;

02

计划阶段

这一阶段主要是,将相关方需求,进行分解和分配,映射到具体的功能、技术需求,并在逻辑上,分解到具体的子系统、软硬件模块,形成整个系统的规格定义。同时完成三级项目计划。

在此阶段QA重点就很明确了:

1、质量特性规格化,确定质量目标。这里的特性和目标要与产品竞争优势保持一致;

2、定义或确定,项目过程,选择合适的标准,确保质量目标的达成;

3、根据规格和过程风险的识别,设计具体的质量活动(包括但不限于此:质量保证计划,主要,过程与工作产品的审计的计划),并配置资源与项目经理沟通,整合到整体项目计划中,并与其他维度保持平衡;

4、建立好度量标准

5、过程审计,培训、引导、咨询、参与评审,经验总结;

03

开发、验证阶段

这2个阶段也是大家比较熟悉的阶段,主要是产品开发实现与验证,QA在此阶段的主要工作主要是

1、过程审计

2、过程度量

3、过程优化

4、培训、引导、咨询、参与评审,经验总结;

5、最佳工程技术实践的导入、过程优化,缺陷预防;

04

发布阶段

发布阶段,主要是,为产品上市做好准备,因此,主要是,完成产品的4P+2S(产品、定价、渠道、促销、供应链、售后服务)的实施准备,并且发布,制造足够多数量的产品验证量产性,并做好销售储备。

此时的QA,主要工作,除了常规工作内容外,还需要做好如下

1、项目总结,过程资产的更新;

2、生命周期管理阶段的质量管理策略与方案;

—4—

正确的理解过程审计

我们回到之前同学问他,什么是过程审计的要点。

这里我们就要首先明确,过程的要素是什么?

开发过程与我们之前,ISO里面定义过程要素略有不同。

所谓过程审计,并不是审核某个文档有没有做,是否符合模板要求,而是要识别,能使得输出达到预期要求的过程要素是否符合。

这里举个例子:

在概念阶段,有个输出,产品包需求规格说明书。

很多QA,制定保证计划,是检查,这个说明书,有没有按计划输出,是否符合相关模板要求。其实这个是不对的,这个顶多算是对工作产品的审核。

我们知道产品包需求规格说明书产生过程:

收集需求-分析需求-编写需求文档-文档评审

此时,我们做审核时,要识别这个过程中的关键成功因素,每个项目和不同项目其实是不同的,举例

收集需求关键点:

人:这个人是否符合任职标准要求,有没有受过相关培训,对需求背景是否了解。

工具方法;需求收集的是否按需求工程,分层的思想;

活动:是否有做提前的规划和计划,在收集需求时,是否有完整找相关干系人做过访谈和调查。

假定我们是把上述关键点,就需要对这些关键点进行检查,但审核方式,包括,与相关人员的面谈,做在旁边观察其工作的内容,都是可行的。

我们过程审核时,必须要满足:过程的三个关键要素,全部符合要求,同时产出的结果或者工作产品符合要求,我们才称为过程符合。

有同学问,如果,我需求评审没问题,但前面几个过程可能不符合要求如何办?

大家记住,就是过程不符合要求。

我们判断一个结果是否符合要求,1个要看是否按好的过程做出来,另一个要看,结果本身是否是符合要求的。

因为,只看结果,一来对结果的审核可能覆盖不全,另一个,不是好的过程,这个结果不具有可重复性,因此,无法让客户产生信心。

所以,过程审核并非是拿着个重复不变的检查单,查查查,而是要根据情况进行识别,然后再进行检查控制,这才能有效。

—5—

缺陷预防

看一个实例,某客户(省公司)要求系统集中部署在省公司,但是系统的使用用户分布在各地市县公司,可能会产生瞬时系统并发量较大的情况,有可能导致系统不能正常运行。

QA:

1、首先对这个并发量性能,是关键风险点;

2、与相关角色,协商和探讨,处置措施:

a.在系统的测试时注重做系统的压力测试;

b.系统的数据库设计不采用序列,防止最终系统做分布式部署

c.和技术部讨论系统分布式部署的解决方案,是ORACLE数据同步还是WebService数据同步,两者方案的优缺点,实现难度

当然还可以从设计规范着手,确定:

a.为省公司开发的系统,数据库设计时不得采用序列式;

b.为省公司开发的系统,数据同步的方式采用XXXX式

通过提前风险识别和现有问题的规避,来预防问题发生,从而确保相关质量计划能顺利的执行。

—结束—

其实,总体而言,QA工作内容,可以做的很少,也可以做的很多。但如果要做到真正有效,必须理解业务,对过程风险的深刻洞察,是必备的技能。而知识面也要求较高,项目管理、审核技能、产品开发的工程方法、引导教练技术、根因分析、度量、业务与行业知识。

当然,入门也非常简单,无需任何训练的文员,拿着检查单,看看文件存在与否也算是在做QA的工作。

所以,有没有价值,并非是这个QA这个岗位决定的,而是具体做这件事的每位具体的QA自己工作标准和目标决定的。

希望,每位QA,都能实现自我价值的实现!!!

-End-




转载请注明:http://www.aierlanlan.com/tzrz/5237.html