Copyright©2006袁庆平Allrightsreserved.1产品和过程质量保证ACMMILevel2ProcessAreaCMMI高级咨询顾问袁庆平质量保证基本概念质量保证贯穿项目整个过程,包括指导和改进过程,保证所有规定的准则和流程得到贯彻实施,以及确保问题的及时发现与处理。此项工作带有预防的性质。对项目根据其计划和已定义的过程执行相应活动进行客观的验证质量保证是管理层的“眼睛和耳朵”Copyright©2006袁庆平Allrightsreserved.2PPQA的典型症状我们有规程来避免这种情况发生!为什么会发生?为什么规程没有被执行?那个项目违反了组织方针他们知道组织方针吗?是谁授权他们这样做的?管理层对于产品发布后不能正确工作而感到很惊奇没有人提出产品并没有真正的就绪客户抱怨说软件并不能像宣传中那样使用但是我们已经测试过了!典型的PPQA弱点没有明确的PPQA组织方针PPQA活动没有得到计划过程的一致性没有得到过PPQA的审计PPQA资源不充足、资格不够或未经过培训纠错行为的过程不正式Copyright©2006袁庆平Allrightsreserved.3为什么在实际过程中质量保证管理工作经常陷入困境?就像一个古老的寓言所说的:解决问题的过程可以被人们看到;但是问题的预防却常常不被重视。在中国古代有一家人,他们都是懂医术的,其中一位在当地非常有名,还是一个著名的王侯的专用医师。当这位医士被问到他的家族中谁的医术最高时,他回答说:“当我看到一个病的非常厉害的病人时,我会用各种办法进行治疗,然后成功治愈他们中的一些人,因此很多大官们都知道我。”“但是我的哥哥却在疾病的根源开始出现的时候就进行治疗,当地的村民和邻居们都很信任他。”“我的哥哥他可以感觉病人的精神状态,然后在病根开始发作之前将其清除,但是他在我们家族以外却并不出名。”有效的PPQA特征项目组认同PPQA角色的价值所有不符合的问题都能够被友善的解决高层经理对于组织方针和标准过程得到遵守有很强的信心Copyright©2006袁庆平Allrightsreserved.4PPQA的度量020406080100120140第一季度第三季度计划执行的检查实际执行的检查0102030405060708090第一季度第二季度第三季度第四季度预算成本PPQA和过程改进PPQA是管理层的“眼睛和耳朵”PPQA提供了过程执行情况的洞察力PPQA能够成为过程专家帮助项目组理解和实施不同的过程提供过程培训Copyright©2006袁庆平Allrightsreserved.5PPQA的活动支持项目的工程活动验证过程、产品的符合性管理PPQA活动支持项目的工程活动目标:支持项目的策划活动协助项目组识别缺陷和评价产品的质量支持项目的策划活动促进同行评审分析质量数据Copyright©2006袁庆平Allrightsreserved.6PPQA在项目策划阶段参与PPQA的工作必须在项目初期启动要建立与其他项目组成员良好合作关系的基础PPQA在项目计划期间的中心是与项目组紧密合作,并在需要的时候提供指导和支援。PPQA可能会提供项目组需要的技能PPQA的支持不仅仅有助于确保项目计划和过程是有效的,确保他们和组织的方针、程序保持一致。还为PPQA负责人在准备一份有效的PPQA计划时,提供对项目的了解机会。支持项目的策划活动PPQA的特定活动为裁剪标准过程提供支持和管理;为Delphi估算提供帮助;帮助定义或修改工程过程或过程模型;为工作产品确定验收标准;为项目设置性能目标;参与项目策划的准备;检查计划(如:开发计划、配置管理计划、测试计划)是否完整。支持项目的策划活动Copyright©2006袁庆平Allrightsreserved.7促进同行评审PPQA负责人在以下活动中充当支持或者协调人来识别项目中的缺陷:检查走查技术评审PPQA必须要在一些重要的同行评审中作为协调人,以下面的标准来选择参加:项目的高风险区域产生的产品里程碑阶段的工作产品促进同行评审同行评审同行评审主持人的责任要与被评审产品的作者进行协调确保评审者为评审会议作充分的准备保持评审会议的焦点集中在识别缺陷上(保证会议不跑题)确保所有发现的问题已经文档化,并且在产品被批准前已经得到解决PPQA在同行评审过程中的角色要在项目计划和QA计划中写明在同行评审过程中,PPQA负责人也可以同时检查被评审产品是否与相关的规范、标准相符,这样可以减少单独的PPQA产品审计的工作促进同行评审Copyright©2006袁庆平Allrightsreserved.8产品质量测量如果项目的工程过程产生了可靠的数据,PPQA负责管理和分析项目的产品质量数据。在项目策划期间PPQA负责人要同项目经理和技术负责人一起评审规划的工程过程和项目目标,确定产品质量测量数据是否有益于项目需要稳定的开发和缺陷识别过程使用G-Q-M方法(Goal-Question-Metrics)来确定有效的度量初期应尽量保证数据分析的简单性分析质量数据确定测量数据采集过程的步骤确定需要什么样的质量测量数据从确定项目的质量和过程目标入手制定要提出什么样的问题才能确定目标达到确定要回答这些问题需要采集哪些测量数据开始最好仅关注一个或二个目标识别数据来源一般来说,最好的测量数据是过程产生的数据建立数据存储和采集机制为采集的质量数据准备一个数据仓库对于多数项目电子表格和简单的数据库就可以了开发简单的格式来获取数据,确定收集的频率数据收集过程越简单越好分析质量数据Copyright©2006袁庆平Allrightsreserved.9确定测量数据采集过程的步骤(续)为项目组提供度量过程指南为项目组成员提供简单介绍项目的质量目标准备采集的度量数据如何有助于达到这些目标项目组成员要参与什么工作这样做的结果对项目组成员有什么好处要让大家认识到提供的数据是有价值的不要让大家认为这些数据将用来作绩效考核启动分析和报告收集到一定量的可用数据,应实施已安排的分析把分析结果与有关人员进行沟通分析质量数据验证过程、产品的符合性目标:对于项目组的活动和工作产品是否与计划、过程及标准作客观的评审解决不符合的问题过程评审工作产品审计处理不符合项Copyright©2006袁庆平Allrightsreserved.10过程评审审计项目,以验证项目活动是否遵循适用的过程和项目计划是一个关键的PPQA活动要进行的评审和审计活动在PPQA计划中要得到记录,并且被认同要提前安排评审的时间应提前通报项目经理,双方要就日期和时间达成一致需要准备评审和审计的检查单评审的对象是项目已定义的过程(包括组织的和项目特定的)过程评审过程评审(续)评审和审计活动要以检视工作产品和访谈作为主要信息来源如:评审的核心是项目的估算过程,则应和参加估算的人员进行访谈,讨论他们执行这个过程步骤,并检查文档化的结果在检查单上记录结果对一个已经满意的任务(与定义的过程一致)的检查单项目,用一个“是”就足够了。否则被确认有差异的检查单项目上记录一个“否”每次评审或者审计要编写报告过程评审Copyright©2006袁庆平Allrightsreserved.11PPQA检查单举例(WBS)过程评审WBS是否反映了项目所选择的过程模型?WBS是否识别了要执行的活动和要开发的产品?是否建立了项目的WBS?是否对每个阶段的入口/出口标准、活动进行了文档化?是否为项目定义了工程过程模型?注释是/否/不适用检查项结束过程评审将发现的问题汇总到审计报告中,并与项目经理及与问题有关的项目组成员讨论目的是澄清发现的问题,并就如何解决这个不相符的问题达成一致意见。想尽一切办法要在项目级解决不一致的问题。对于解决一个不符合项,可能的选择办法:改正现在的做法使之与过程一致修改过程使它适应项目基本上接受不一致项,允许特殊情况出现的异常任何达成一致意见的纠正活动,被指派进行纠正活动的人员及完成日期要写入审计报告中,并记录到项目的问题日志中过程评审Copyright©2006袁庆平Allrightsreserved.12工作产品审计在整个项目周期中,PPQA负责人必须定期审计工作产品,以检验他们是否和可用的标准(如:设计文档模板)相符,是否注意格式和内容,以及必须作的质量检查点是否已经完成。典型的需要审计的产品有:项目计划需求规格说明书设计文档源代码测试计划用户手册工作产品审计工作产品审计(续)对于必须经过PPQA批准才能认为相关任务完成的那些工作产品,要同时在PP和PPQAP中指定其他需要审计的产品只要列入PPQAP中即可,指明他们在什么阶段进行审计对于重要的工作产品在至于配置管理之下以前必须经过PPQA的审计(通常在PP和PPQAP中同时指定),其他的工作产品可以由PPQA通过抽查的方式进行审计工作产品审计Copyright©2006袁庆平Allrightsreserved.13完成工作产品审计PPQA应该在产品质量检查点结束后进行审计工作PPQA负责人应监控项目开发活动的进展情况,以便预测在指定的时间实施审计工作如果PPQA负责人要参与产品的质量评审,他在此时就可以做产品审计项目组成员应向PPQA交付产品和产品批准表(PAF),以此表示产品的质量评审已完成。PPQA应召集产品审计会通过检查产品并将重大的偏移记录在问题日志中PPQA要检验该产品的质量评审是否完成PPQA要在PAF中记录审计结果,并对审计结果签字。不论是否通过审计,都应及时将产品及PAF及时反馈给项目组成员对于偏差(如不符合项),应和过程的偏差采取相同的处理方式工作产品审计处理不符合项如果不符合项不能在项目级得到满意的解决,PPQA必须要将这些不符合项上报给负责该项目的高层经理PPQA必须具备判断哪些问题要上报以及如何上报的技巧已经上报给高层经理的不符合项,要记录到问题日志中,要和项目经理定期评审这个问题日志,直到不符合项得到解决。处理不符合项Copyright©2006袁庆平Allrightsreserved.14管理PPQA活动前面3个部分是必须在软件项目中执行的PPQA活动,这部分是管理PPQA过程本身所必需的关键活动目标:按照可重复的、成熟的过程来管理软件质量保证管理PPQA的活动在项目初期开始准备PPQA计划时就开始了,随后进行PPQA培训、跟踪和报告PPQA活动,并且检验PPQA过程和活动。准备PPQA计划提供PPQA培训跟踪PPQA活动验证PPQA实施为PPQA做计划计划PPQA活动必须在项目一开始时就进行,并和整个软件项目的开发计划保持一致。PPQA的WBS,主要的PPQA日程表,与PPQA有关的估算必须在项目计划中体现对于一个工程项目,工作要在合同的约束下实施,PPQA的计划应在接到招标书时开始。在项目投标阶段就要定义项目的质量目标,PPQA必须计划其活动以支持其质量目标,(客户可能会在合同签字后,根据开发活动需要更新该计划)。对于内部项目,PPQAP应超前于项目计划。项目经理应尽早确定要开发的产品,并为开发活动建立时间表,以便PPQA及时地计划其活动。一旦得到了批准,PPQAP应该被管理和控制准备PPQA计划Copyright©2006袁庆平Allrightsreserved.15编制PPQA计划PPQA负责人用模板来准备PPQA计划,模板描述了对计划的格式和内容的要求。任何对标准PPQA过程的裁剪都应在PPQAP中文档化当PPQAP完成时,它要被有关的组和个人评审,例如:项目经理、PPQA经理、项目对应的高层经理、开发组的负责人和其他有关人员,PPQAP和SPP的批准是PPQA执行活动的正式授权准备PPQA计划质量保证计划的内容简介参考文献组织结构和责任支持项目计划