PPQA( Process and Product Quality Assurance)过程与产品质量保证
一、什么是质量
二、什么是软件质量
软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量。
三、质量属性
业界的软件质量属性有很多,如正确性、精确性,健壮性、可靠性、性能、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。 我们可以对质量属性做些分类和整合。质量属性可分为两大类:“功能性”与“非功能性”,后者有时也称为“应变能力”。 I.功能性质量属性:正确性,健壮性,可靠性。 II.非功能性质量属性:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性。
四、什么是软件质量属性 从技术角度讲,对软件整体质量影响最大的那些质量属性才是质量属性。 从商业角度讲,客户最关心的、能成为卖点的质量属性才是质量属性。
五、质量保证与质量控制有什么不同
QA 与 QC(Quality Assurance V.S. Quality Check)
–QA(Quality Assurance)指的是质量保证人员,主要关注过程改进、审计。
–QC(Quality Check)指的是测试人员,主要关注成果检查、缺陷修复。
六、CMMI 过程与产品质量保证PPQA的目的( Process and Product Quality Assurance ) PPQA的目的是客观的监控和审查产品研发的过程及其输出的相关工作产品,并把结果提供给项目成员和管理人员。其目的如下:
–保证研发的过程恰当、合理,并遵循公司的标准和规范;
–对研发过程和产品质量进行审计,客观准确的评价产品各方面的工作,确保交付给客户的产品具有高质量;
–对发现的不符合项及时与当事人进行沟通,在必要时将信息客观反馈给高层领导并争取高层的支持;
–为持续的软件过程改进提供必要的建议 。
PPQA的目的如图所示:
七、PPQA涉及的主要工作
PPQA以独立的视角,客观的为项目组人员和管理者提供项目全生命周期的过程和相关工作产品的实施情况,以支持高质量产品和服务的交付。其主要工作如下:
1、根据公司的标准和规范,制定和明确项目的软件过程、工作产品的质量计划和标准。
2、对研发实施的过程进行监控和审计,实时发布过程的符合度报告;同时比照工作产品的质量目标,发布产品质量进展报告。 3、审计发现并记录过程和产品质量的问题, 并将结果反馈给项目人员和管理者。
4、跟踪和确保质量问题的解决。
5、统计和分析研发过程和产品质量的趋势和规律,完善软件过程和产品质量标准。
八、PPQA的主要内容项目监控与控制这个过程域中,一共包含了2个特定目标(SG)和1个通用目标(GG),只有实现这些目标才有可能达到CMMI的要求。
SG1:客观地评价过程和工作产品
SG2:提供客观而深刻的理解
每一个特定目标(SG)的具体实践可以参照下图:
八、质量保证过程
九、ISO,CMMI,敏捷关系
从本质上讲,CMMI、ISO和Agile都是人们为了解决在软件生产过程中出现的质量低下、进度延迟、预算超支等问题,而产生的标准或过程改进的模型或方法实践,只是它们的关注点有所不同而已。
CMMI和ISO关注为了实现组织软件生产目标,我们应该做什么?但却不关注如何做。敏捷开发作为一个实践性方法,更关注怎么做。它们之间的区别如图所示:
在具体操作过程中,可以通过有效结合,能够使组织更快、更好地实现过程改进目标。