个人成果,妥善保存,请勿传播岐兵Email:qib@epsoft.com.cn项目质量管理:“零缺陷”项目质量的概念软件的质量属性和质量要素项目质量管理软件项目质量管理模型(体系)项目质量保证项目质量控制导入案例1“出师不利”如何识别和满足客户对项目的质量要求?如何保证项目的质量?项目质量管理确定项目的质量标准编制项目质量计划建立项目质量保证体系项目质量控制项目质量的概念对项目而言,一般意义上的成功项目含义是什么?▪能按时,并达到质量和成本方面的要求项目质量如何度量?质量的定义?▪典型的或本质的特征▪事务固有的或区别于其他事务的特征或本质▪优良或出色的程度CMM对质量的定义▪一个系统、组件或过程符合特定需求的程度▪一个系统、组件或过程符合客户或用户要求或期望的程度质量-项目成功的重要标志国家标准GB/T6583-1994(质量管理和质量保证)▪“质量是反映实体满足明确和隐含需要的能力的特征总和”中国质量管理协会▪“企业全体职工及有关部门同心协力,综合运用管理技术、专业技术和科学方法,经济地开发、研制、生产和销售用户满意的产品的管理活动”IT项目的质量评判客户的满意项目质量的概念项目质量的特征▪质量要求可以是明示的,也可以是隐含的或必须履行的需求或期望▪质量具有广义性,它可以是产品质量、过程质量,也可以是体系质量▪质量具有时效性,它随需求和期望的变化而变化▪质量具有相对性,需求不同,质量要求也不同项目质量的含义项目产品质量▪项目所提交的产品和服务是否符合客户的技术性能要求▪项目的产品质量会在项目结束后很长时间会产生影响项目管理过程质量▪项目能否在规定的时间内、在批准的预算内、在规定的范围内完成任务▪项目管理过程的质量会为项目产品质量做出贡献质量和项目生命周期项目的实施过程,也是质量的形成过程项目可行性研究阶段▪满足客户要求和标准,符合业主的意图与投资目标协调项目决策阶段▪明确投资、进度和质量的制约关系项目设计阶段▪高质量的设计保证高质量的工程项目实施阶段▪设计的质量是实施的依据什么样的项目质量是好的项目能满足以下要求,项目的质量就是“好”的▪满足规范要求▪与事先定义的规格相符,满足计划要求▪达到项目目的▪解决问题或满足某种期望,项目达到当时启动项目的目的▪满足用户要求▪满足客户提出的要求▪让客户满意项目质量管理:“零缺陷”项目质量的概念软件的质量属性和质量要素项目质量管理软件项目质量管理模型(体系)项目质量保证项目质量控制理解软件的质量举例说明:“人的健康状况”软件质量是许多软件质量属性的综合体现各种质量属性反映了软件质量的方方面面通过改善软件的各种质量属性,从而提高整体质量软件的质量属性软件的质量属性▪正确性、精确性、健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性软件质量属性的分类运行质量▪正确性▪健壮性▪可靠性▪性能▪易用性修改质量▪可维护性▪可测试性▪灵活性转换质量▪可移植性▪可重用性▪互扩展性质量属性中有些是无关的,互补的和冲突的:无关的:如可用性和可重用性互补的:如灵活性与可维护性冲突的:由于考虑了某一类型的平台可能效率高,但是移植性差软件常见的质量属性正确性▪软件按照需求正确执行的能力,涵盖了“精确性”健壮性▪在异常情况下,软件能够正常运行的能力▪健壮性有两层含义:容错能力、恢复能力可靠性▪软件在一定时间内可以成功运行的概率性能▪软件的“时间-空间”效率易用性▪用户使用软件的容易程度,由用户评价软件常见的质量属性清晰性▪软件相关工作成果易读、易理解性安全性▪软件防止被非法入侵的能力可扩展性▪软件适应“变化”的能力兼容性▪两个软件之间相互交换信息的能力可移植性▪软件不经修改或稍加修改就可以运行于不同软硬件环境之上的能力软件的质量要素技术角度衡量▪对软件整体质量影响最大的那些质量属性才是质量要素商业角度衡量▪客户最关心的、能成为产品卖点的质量属性才是质量要素质量要素和质量保证的关系▪首先判断什么是质量要素▪给出保证质量要素的具体措施▪质量保证要把精力放到对经济效益贡献最大的质量要素上项目质量管理:“零缺陷”项目质量的概念软件的质量属性和质量要素项目质量管理软件项目质量管理模型(体系)项目质量保证项目质量控制项目质量管理指在质量方面指挥和控制项目组织的协调活动▪活动包括:制定质量方针和质量目标以及质量策划、控制、质量保证和质量改进质量管理包含以下活动:▪确定自己的质量方针和质量目标▪确定各个岗位的职责和权限▪建立质量体系,并使之有效运行▪质量体系是实施质量管理的组织结构、程序、过程和资源,包括:质量策划,质量控制,质量保证,质量改进▪质量体系强调以下几个方面:客户满意;预防重于检查;管理职责;质量改进项目的质量管理内容项目质量的主题是“项目”▪项目质量取决于WBS所确定的项目范围各阶段的质量项目质量管理的目的▪确保项目满足它所应满足的要求项目质量管理过程▪编制质量计划▪确认与项目有关的质量标准以及实现方式▪将质量标准纳入项目设计▪质量保证▪对整体项目绩效进行预先的评估▪对项目产品和项目过程进行保证▪质量控制▪监控特定的项目结果,确保遵循相关质量标准项目的质量管理内容概括总结▪对客户质量要求进行识别和确认▪制定满足这些质量要求的方法和步骤▪在项目实施过程中进行检测和测量▪保证项目在规定的时间、批准的预算范围,完成项目预定的工作内容▪使项目交付结果符合客户的质量要求几种项目质量管理的技术E.戴明PDCA循环技术▪“组织应具有坚定的目标,以期达到改进产品和服务的质量和开发可靠的统计方法以度量这些改进的目标”▪质量管理总结为4阶段▪计划(Plan)阶段:制定方针,建立质量体系▪实施(Do)阶段:执行项目▪检查(Check)阶段:评审、审核、检测▪纠正(Action)阶段:纠正和预防措施▪构成循环(戴明环),不断迭代几种项目质量管理的技术关键少数管理法▪着力于解决导致80%的故障的20%的主要问题▪通过关键的少数问题的不断改进,达到质量管理目标石川馨的7种技术工具▪日本川琦制铁公司质量管理专家▪核心思想:“所有员工都要对自己生产的产品质量负责,每个员工都有能力利用7种简单工具解决生产过程的质量问题”▪排列图、因果图(特性要素或鱼刺图)、调查表、直方图、散布图、休哈特环(Schewartcycle)、戴明环几种项目质量管理的技术全面质量管理TQM▪在日本丰田汽车实践基础上总结出的一套质量管理办法▪全面(Total):全员参与和全面投入到持续改进的努力中▪质量(Quality):就是全面的客户满意,是TQM的焦点TQM以满足客户(内部客户和外部客户)的所有期望为中心▪管理(Management):指建立和维护TQM环境,强调管理职责,和管理者对质量的责任几种项目质量管理体系的强调重点客户满意▪理解、管理和引导需求,从而达到或超过客户的需求预防重于检查▪避免错误的成本通常比纠正它的成本低得多管理责任▪质量管理是全体员工的职责,其中管理者应负主要责任质量改进▪质量改进永无止境项目质量管理:“零缺陷”项目质量的概念软件的质量属性和质量要素项目质量管理软件项目质量管理模型(体系)项目质量保证项目质量控制质量体系(QualitySystem)是一种质量管理制度建立质量管理体系确定组织结构,确定岗位的职责和权限投入资源和经费工作程序▪为实现质量方针,达到质量目标,应制订、颁发和保持质量体系各项活动的工作规程,在规程中对影响质量的各项活动的目标和执行作出具体决定。过程▪与质量相关的各个过程环节的具体要求质量管理体系的构成质量手册▪对质量体系作出的全面而充分的阐述,是实施和保持质量体系应长期遵循的文件。程序文件▪质量手册的支持文件。回答what,why,who,when,where和how作业指导书▪特定岗位的具体质量要求质量记录▪客观记载质量体系运行情况的具体资料ISO9000质量标准体系国际标准化组织ISO负责制定的质量管理和质量保证标准▪ISO9000《质量管理和质量保证标准-选择和使用指南》▪ISO9001《质量体系-设计开发、生产、安装和服务的质量保证模式》▪ISO9002《质量体系-生产和安装的质量保证模式》▪ISO9003《质量体系-最终检验和试验的质量保证模式》▪ISO9004《质量管理和质量体系因素-指南》▪2000发布了新版,统称ISO9000:2000版ISO9000质量标准体系的八大质量管理原则以客户为关注焦点领导作用全员参与过程方法管理的系统方法持续改进基于事实的决策方法与供方互利的关系建立ISO9000质量标准体系的八个步骤确定顾客和相关方的需求和期望建立组织的质量方针和质量目标确定实现质量目标必须的过程和职责确定和提供实现质量目标必须的资源规定测量每个过程的有效性和效率方法原因规定的方法确定每个过程的有效性和效率确定防止不合格并消除产生原因的措施建立和应用持续改进质量管理体系的过程CMM标准体系CMM:软件企业能力成熟度模型CMM模型描述和分析了软件过程能力的发展程度,确定了一个软件过程成熟程度的分级标准CMM的结构包括5个成熟级别,每一级都由若干个关键过程方面KPA组成▪第1级:初始级,无过程,无序管理▪第2级:可重复级,基本的过程▪第3级:已定义级,形成标准的过程▪第4级:可管理级,注重过程和产品质量▪第5级:优化级质量体系的质量保证与软件质量CMM对于软件质量保证的描述▪软件质量保证的目的使为管理者提供有关软件过程和产品的适当的可视性。它包括评审和审核软件产品及其活动,以验证其是否遵循既定的规程和标准,并向有关负责人汇报评审和审核结果CMM过程质量与产品质量的因果关系▪“好的过程”产生“好的产品”▪“差的过程”产生“有缺陷的产品”软件项目质量管理模型制定质量计划技术评审软件测试过程检查缺陷跟踪软件过程改进:提高软件技术水平和规范化软件项目软件质量管理人员职责谁对软件项目质量负责?▪全员负责▪任何与软件开发、管理工作相关的人员都对质量产生影响谁对软件项目质量负最大责任?▪谁的权利大,负的责任就越大质量人员的责任▪制定质量计划▪负责过程评审▪参与技术评审▪参与软件测试▪参与过程改进质量管理计划质量管理计划是项目全面质量管理的行动纲领质量管理计划编制的依据▪质量方针▪项目范围说明书▪产品描述(需求规格)▪标准和规则谁制定项目质量管理计划?▪由项目核心成员和质量人员共同协商制定▪质量人员起草,项目经理审批质量管理计划内容质量要素分析▪质量要素、优先级、解释质量目标▪质量要素、目标人员与职责▪人员、质量活动、职责描述过程检查计划▪过程域、主要检查项、时间(频度)、负责人技术评审计划▪待评审的工作成果、评审时间、负责人软件测试计划▪测试活定名称、时间、负责人缺陷跟踪措施审批意见技术评审目的:尽早地发现工作成果中的缺陷,消除缺陷类型:正式技术评审(FTR)、非正式技术评审(ITR)流程:1、主持人宣讲2、作者介绍工作成果3、识别缺陷和答辩4、讨论缺陷解决方案5、会议结束,决议第一步:准备评审第三步:跟踪与审核第二步:举行评审会议软件测试参照软件工程方法▪白盒技术、黑盒技术▪代码测试(单元测试)、系统测试、集成测试、验收测试过程检查缺陷跟踪制定过程检查计划解决问题周期性过程检查项目质量管理:“零缺陷”项目质量的概念软件的质量属性和质量要素项目质量管理软件项目质量管理模型(体系)项目质量保证(软件项目SQA)项目质量控制ISO中有关质量保证的概念质量保证:是质量管理中致力于对确保产品达到质量要求而提供信任的工作▪质量保证≠保证质量▪保证质量是质量控制的任务,质量保证是以保证质量为目标,进一步提供信任▪质