1、软件项目质量管理Quality Management 目录 质量的概念,思想和意识 质量管理的标准化 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程:质量计划 质量管理过程:质量保证 质量管理过程:质量控制 质量管理工具问题 什么是质量? 有多少个质量学家就有多少个质量的定义 学习质量管理的关键是:质量意识的接纳质量概念的演化 日本在质量管理上的贡献 尽管软件与其他产品不同:生产线是机器密集型,重复性的;软件是人力密集型的,智力性的,但质量原理是适用的ISO:质量的基本概念 质量(广义质量概念):反映实体(产品,过程或活动等)满足明确的或隐含
2、的需要的能力特性总和(The totality of characteristics of an entity that bear on its ability to satisfy stated or implied needs )ISO:质量的基本概念 含义一:实体,承载质量属性的具体事物。 产品:提供各种享用功能的有形实物 过程:带来某种享受服务 活动:在生产产品或提供服务中所开展的工作 含义二:满足用户需求的能力特性总和,表明质量高低并不取决于“实体”的各种能力特性是否最好,而只要满足需求(明确的和隐含的)即可 含义三:不同实体,质量实质内容不一样 产品:指产品能够满足用户使用要求所具
3、备的功能特性 服务:指服务满足顾客期望的程度 活动:由工作结果来衡量符合性质量概念 符合标准就是合格的质量,符合程度反映了产品的一致性 符合性包括产品和过程两个方面 标准有合理与不合理之分,不合理的标准即使百分之百的满足也不能认为质量就好 标准往往不能将客户的各种需求和期望都规定出来,特别是隐含的需求与期望 软件项目开发中需求管理的例子适用性质量概念 产品在使用时能够成功地满足用户需求的程度 从使用要求和满足程度两方面去定义质量 镀金(Golden Plating)质量理念的发展:符合性质量 符合性质量,20世纪40年代,以符合现行标准的程度作为衡量依据,“符合标准”就是合格的产品质量,符合的
4、程度反映了产品质量的水平。质量理念的发展:适应性质量 适用性质量,20世纪60年代,适合顾客需要的程度作为衡量的依据,从使用的角度定义产品质量 从“符合性”到“适用性”,反映了人们在对质量的认识过程中,已经开始把顾客需求放在首要位置 质量理念的发展:满意性质量 满意性质量,20世纪80年代,质量管理进入到TQM阶段,将质量定义为“一组固有特性满足要求的程度”。它不仅包括符合标准的要求,而且以顾客及其他相关方满意为衡量依据,体现“以顾客为关注焦点”的原则。质量理念的发展 质量理念的发展变化实质:人们对质量目标认识的转变。在今天,质量目标本质已经超越了其他因素而甚至成为商业成功的中心话题质量管理的
5、基本概念 质量管理:决定质量政策、目标和责任的全面管理职能的所有活动,以及通过诸如质量系统中的质量计划编制、质量保证、质量控制和质量提高等手段对这些活动的实施。( All activities of the overall management function that determine the quality policy, objectives, and responsibilities and implements them by means such as quality planning, quality assurance, quality control, and quali
6、ty improvement, within quality system.)Kaoru Ishikawa 质量工作的6个特征: 全范围的质量控制 高层管理者质量控制审计 业界的教育与培训 质量小组活动 使用统计方法 全范围的质量控制促进活动 鱼骨图(Fish Bone)Joji Akao 质量功能部署(Quality Function Deployment,QFD),是一种方法:客户的要求转换成相应的技术要求,帮助企业的研究小组系统化地达成共识 用户用语言表达的需求(正常需求) 用户认为必然有的隐含需求(期望的需求) 开发人员预计的用户感兴趣的需求(感兴趣需求) QFD在设计阶段就对产品的适
7、用性实施保证,并对后续作业中的存在问题提前予以揭示,采取相应对策 侧重于“用户满意度”,不仅在减少负质量,还要增加正质量。客户角度:不出错的软件并不是最好的Demings Thought 将统计方法用于质量控制 Deming提出的质量方法:从管理出发的持续性改进质量 认为,提高劳动生产率和降低成本的唯一途经是提高质量Deming: PDCA Cycle 计划 Plan,分析现状;找出存在问题的原因;分析产生问题的原因;找出其中主要原因;拟订措施计划 执行 Do,执行技术组织措施计划 检查 Check, 把执行的结果与预定目标对比 处理 Act,巩固成绩,把成功的经验尽可能纳入标准,进行标准化D
8、eming: 14 Principles1.树立提高产品和服务质量的目标2.采纳新的哲学3.停止依靠检查来获得质量4.关注总成本5.持续改进产品和服务6.制度化培训7.设立领导职责8.驱除恐惧9.打破部门间的界限10.消除口号,训词和定额目标11.取消工作标准及数量化的定额12.消除那些剥夺职业精神的障碍13.建立严谨的教育及培训计划14.创造一个每天都推动以上13项的高层管理结构Grigrich对Deming核心原则总结1. 客户,而不是官员决定价值2. 生产者创造价值3. 要改进将来结果,必须先改进过程4. 人有做好工作的本能5. 人,过程和系统是一个大系统的有机组成部分6. 不断学习是持
9、续改进的基础Renewing American Civilication 美国文明的历史经验教训 个人力量 自由的企业 发明与探索的精神 Deming所定义的质量Richard Zultner 将Deming的思想用于软件开发,形成: 管理14点 7个致命问题 质量障碍软件管理者14点1. 确定坚定的改进系统和服务质量的目标,瞄准最佳工作、满足用户要求2. 我们处于软件工程和项目管理的新时代,软件经理必须面对挑战,承担责任,并领导变革3. 停止靠大规模审查(尤其是)测试来提高质量,要把质量建立到产品中4. 结束紧靠价格决定业务的方法,降低总成本5. 持续改进系统开发过程从而提高质量和劳动生产率
10、,进而降低系统的成本。提高质量不是一朝一夕的事软件管理者14点6. 建立工作培训7. 建立领导地位。经理的工作是让员工和系统更好地工作8. 去除恐惧,让员工有效的工作。管理层对组织和环境的错误负责9. 清除领域之间的障碍。人们必须具有团队精神10. 不要以标语口号等形式要求零缺陷和提高劳动生产率软件管理者14点11.不要使用量化的目标和责任分解12.建立工艺的尊严。项目经理的责任是把关注进度转向关注质量13.为所有人建立起教育和自我提高的机制。要建立对软件经理和员工培训的承诺14.改革是工作的一部分,每个人都要为改进做出贡献软件质量的7个致命问题1.缺少对系统满足用户要求进行计划的坚定目标,对
11、软件开发人员采用命令式管理2.关注短期进度,这会扼杀质量3.绩效考核,年度评审。这种方式毁坏员工,进而扼杀质量4.软件专业人员和经理的流动性,员工流动对制定目标和建立组织知识体系很有害5.单纯依赖可见的数字管理6.过高的人力成本。由于低效的开发过程和高人员流动率,软件开发的人员成本非常高7.过高的维护成本。由于设计不好,开发中的缺陷以及维护工作差使得整个生命周期的成本居高不下软件质量的障碍1. 希望有一个速效解决方案,真正的解决方案是知识,并辅以决心和勤奋2. 相信新的硬件会改变软件开发。质量是靠人制造的,而不是靠神奇的设备和程序3. 没有独特的或不同寻常的软件质量问题4. 落后的教育。仅仅关
12、注技术,而不是质量5. 糟糕的统计方法教育。没有好的针对软件质量和项目管理的教育方法软件质量的障碍6.“已经够好了,没时间做得更好”。但实际上剩下的时间是修改系统的错误。在第一时间把正确的事做正确是最快的7.“质量控制人员解决所有质量问题”。质量是管理者的责任8.“所有问题都是程序员的错”。其实是管理者雇佣、培训和管理程序员9.质量改进的错误出发点。急性子的经理不会明白改进质量是一项长期工作,所以很快失去了对质量的兴趣10. “我们曾建立了质量控制”。质量工作是管理的日常工作软件质量的障碍11. 使用CASE工具但忽视了软件工程的知识基础12. 相信只有满足规格是必要的。仅仅满足规格是不够的,
13、应该持续改进并缩短开发周期13. 零缺陷误区,持续改进的结果不是零缺陷,仅仅没有缺陷也不能够确保用户满意14. 测试原型不足。测试原型的主要目的是学习,然后用来强化系统15. 软件经理对于系统和开发只要知道他们必须知道的,但不是如何改进系统Jurans thought 强调:制造商和顾客对质量看法的不同。制造商经常关注对规范的坚持,但顾客关注适用性。有关质量适用性的概念,都强调满足明确的或隐含的需求的重要性 确立了质量是一个连续的(Continuous improvement process),需要管理者积极推动已达到确定的改进目标。 将20/80规则引进到质量管理中来,认为80%的问题来自2
14、0%的困难,因此管理者的责任是努力识别找出并解决此20%困难点 Jurans thought 推动共同参与管理风格,Juran指出只有将所有雇员都包括在参与不断改进过程中,才能生产出高质量的产品 质量经济性管理的基本思路。质量成本(COQ)=符合要求的代价(POC)+不符合要求的代价(PNOC)。其中,符合要求的代价是指第一次把事情做对所花费的成本,而不符合要求的代价却使管理层意识到成本的存在。这就是为什么当发生返工时,我们才发现成本开始增加了。Genichi Taguchi 离线质量控制 把软件开发过程置于控制系数之下,控制系数包括:人,软件工具,方法,工作区和工作台布局等 但是即使有了最佳
15、产品条件,还存在以下问题:过程漂移,运行的不确定性,度量错误,人的错误等离线质量控制 在线质量控制技术:测量和处理,预测和纠正,分析和调整 对每一个产品进行测量;根据度量可以预测后面的产品质量;如果偏离目标,就要采取纠正;在规定的间隔内对过程进行诊断;如果出现异常就进行调整离线质量控制 如果把在线质量控制用到软件开发上,那么软件公司就必须有一个定义好的、可重复的过程。在这样的过程中才能进行度量、预测和诊断。事实上,在线质量控制可以指导进行持续性的过程改进Shigeo Shingo Zero Quality Control: Source Inspection and the Poka-yoke
16、 System 零缺陷软件质量方法的核心:软件开发过程图,相关活动检查单,审查,错误预防方法,内部、外部客户概念 错误预防和检测技术是零缺陷软件的基础Crosbys thought 质量运动的发起人,传统的观点认为,质量管理的目的是把错误减至最少,这本身就是一个错误把错误减少到最少是不够的! 创立了“零缺陷”的概念,被称之“质量革命”的概念; 基础是预防,他的“第一次就把事情做对”的商业哲学,也就是达到“零缺陷”的质量管理理念改变了美国人做人做事的方式; 出版了质量是免费的(Quality in free)一书。质量管理的成熟度级别度量一级:不确定级管理层的理解和态度管理层的理解和态度 不知道
17、质量是管理工具,出现不知道质量是管理工具,出现质量问题责怪质量部门质量问题责怪质量部门质量组织情况质量组织情况质量隐含在生产和工程审查中质量隐含在生产和工程审查中牧师公司的一部分工作,注重牧师公司的一部分工作,注重鉴定和筛选鉴定和筛选问题处理问题处理问题出现后争论不休问题出现后争论不休质量成本比重质量成本比重20%质量改进运动质量改进运动没有没有公司总的质量态度公司总的质量态度我们不知道我们为什么有质量我们不知道我们为什么有质量问题问题质量管理的成熟度级别度量二级:觉醒管理层的理解和态度管理层的理解和态度 意识到质量管理可能产生价值,意识到质量管理可能产生价值,但不愿意提供资金和时间但不愿意提
18、供资金和时间质量组织情况质量组织情况有一个强有力的领导人,但重有一个强有力的领导人,但重点是鉴定点是鉴定问题处理问题处理建立了一个解决重大问题的小建立了一个解决重大问题的小组,但没有长期解决方案组,但没有长期解决方案质量成本比重质量成本比重报告值:报告值:3%;实际值:;实际值:18%质量改进运动质量改进运动尝试短期的努力尝试短期的努力公司总的质量态度公司总的质量态度绝对没有必要把问题和质量联绝对没有必要把问题和质量联系起来系起来质量管理的成熟度级别度量三级:启蒙管理层的理解和态度管理层的理解和态度 对质量能够提供支持和帮助对质量能够提供支持和帮助质量组织情况质量组织情况质量部门向高层汇报,有
19、管理质量部门向高层汇报,有管理定位定位问题处理问题处理建立了纠正措施和沟通机制,建立了纠正措施和沟通机制,问题能够正确面对并有效解决问题能够正确面对并有效解决质量成本比重质量成本比重报告值:报告值:8%;实际值:;实际值:12%质量改进运动质量改进运动建立行动计划建立行动计划公司总的质量态度公司总的质量态度通过管理承诺和质量改进,能通过管理承诺和质量改进,能够识别并解决问题够识别并解决问题质量管理的成熟度级别度量四级:智慧管理层的理解和态度管理层的理解和态度 参与质量管理,并且对它理解参与质量管理,并且对它理解非常深刻,知道他们在持续改非常深刻,知道他们在持续改进中的作用进中的作用质量组织情况
20、质量组织情况质量经理是公司重要官员,进质量经理是公司重要官员,进行状态报告和预防;参与用户行状态报告和预防;参与用户事务事务问题处理问题处理问题在开发早期发现,所有职问题在开发早期发现,所有职能都可以改进能都可以改进质量成本比重质量成本比重报告值:报告值:6.5%;实际值:;实际值:8%质量改进运动质量改进运动持续进行改进计划并进行确认持续进行改进计划并进行确认活动活动质量管理的成熟度级别度量五级:确定管理层的理解和态度管理层的理解和态度 质量管理是整个公司的核心组质量管理是整个公司的核心组成部分成部分质量组织情况质量组织情况质量经理是管理一员,预防是质量经理是管理一员,预防是主要工作,质量是
21、第一位主要工作,质量是第一位问题处理问题处理除了极个别情况,问题都得到除了极个别情况,问题都得到了预防了预防质量成本比重质量成本比重报告值:报告值:2.5%;实际值:;实际值:2.5%质量改进运动质量改进运动质量改进是一个日常的、持续质量改进是一个日常的、持续不断的活动不断的活动质量管理:TQM 全面质量管理,Total Quality Management (TQM),是一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的一种质量管理模式 含义一:整个组织以质量为核心,OPF 含义二:每个员工积极参与 含义三:组织长期成功TQM核心思想TO
22、MTOM核心思想核心思想全员性全员性(全员参与质量管理)(全员参与质量管理)全过程性全过程性(管理好质量形成的全过程)(管理好质量形成的全过程)全面性全面性(管理好质量所涉及的各个要素)(管理好质量所涉及的各个要素)TQM的核心观念 质量是由客户定义的 质量是干出来的,不是检验出来的 质量管理是全体员工的责任 质量管理的关键是要不断地改进和提高讨论 经过了若干质量概念的理解,请大家头脑风暴来体会和以前对质量理解的不同 质量的概念和意义已经超越了它服务的工作和生产的领域,讨论如何用质量的概念和意识提升人生的价值作业 以“质量人生”为题(或其他自选题目)写一篇如何将质量意识贯穿到日常生活或工作中的
23、论文 文体不限,可以是议论文,自编小说,散文,打油诗,PPT,Flash均可 鼓励有创意,不拘一格,不要说教和仅仅讲道理 写实,写小;不要写虚,写空,写大质量管理的标准化 将标准应用于软件开发,即通过独立的评价来控制和规范软件开发过程正方与反方标准在改进软件质量的作用 有许多改进软件产品质量标准的例子,如航天飞机 没有发现任何证据表明可以通过标准很经济地提高产品质量正方与反方标准在改进软件质量的作用 许多标准得以成功应用,尽管以前的实现和质量保证由于没有标准而显得不够充分。一旦一个组织下决心建立质量管理体系,就应该开发出一个计划并需要一个标准 软件标准化过于强调过程;许多软件标准不是标准;没法
24、度量软件以确定其与标准的符合性;许多软件标准推荐或强制使用那些没有得到客观验证的技术;许多软件标准过于冗长实施标准化的目标 第一,建立或采纳可用的标准 第二,让用户和开发者信服标准是有用的没有唯一的 越来越多的实践认识到,或许没有一个标准可以应用于所有特殊概念;反而,或许有几个适用的标准。最好的方式是根据任务特征评审所有标准,从中选出“最好的”标准名称标题最新版时间IEEE-STD-730IEEE软件质量保证计划标准1989IEEE-STD-1074IEEE开发软件生命周期过程标准1996ISO/IEEE 12207信息技术-软件生命周期过程1996目录 质量及质量管理的思想和原则 质量管理的
25、基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具质量控制(Quality Control) 按一定的过程构造产品也不一定能保证产品质量,出现缺陷是不可避免的。质量控制就是属于构造过程中的消除“缺陷”的工程化活动,也就是制造过程中的检查、检验手段质量控制:验证 验证就是检查完成产品的规格符合度,每一次检查遵循的标准是上一阶段的产出 产品规格? 设计文档? 单元代码? 最终产品? 考虑传递的有效性?取决于客户需要转化为规范和要求的程度质量控制:验证和确认 (V & V) 验证:正确的构造了产品 Verification: Build the p
26、roduct right 确认:构造了正确的产品 Validation: Build the right productV&V进一步理解 质量的适用性使得我们必须关注那部分没有显性的转化成规范和要求的客户期望,质量控制中的确认活动就是满足客户隐含需求的重要一环V&V进一步理解 我们是否只有在产品完成之后才能检测产品的质量?如何实施V & V? V&V的活动是整个生命周期中的必要组成部分目录 质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具质量保证的概念 质量保证的概念是一个抽象而极容易混淆的概念,一个获
27、得深刻理解的方法是360度的考察人们对它所下的定义什么是质量保证 ISO8402. 3.4:为了提供足够的信任表明实体能够满足质量要求,而在质量体系中实施并根据需要进行证实的全部有计划和有系统的活动 IEEE:质量保证是有计划和系统性的活动,它对部件或产品满足确定的技术需求提供足够的信心 在质量体系内所有执行的计划或系统的活动为项目满足相关标准增强信心 质量保证是一个活动,它向所有有关的人提供证据已确立质量功能正在按需求运行的信心讨论目录 质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:质量度量 质量管理过程 质量管理工具为什么度量?
28、 What you measured, what you controlled 客观的了解当前的状态度量 通过各种不同的量度(metric)对项目生命周期中的各个元素进行度量(Measure),它能够为项目管理者提供有关项目的各种重要信息,同时也是进行大多评估活动的基础 软件质量度量 软件质量度量的目标是在整个软件生命周期过程中评估软件的质量需求是否得到了满足 使用度量能为在软件质量方面进行决策提供量化基础,从而减少评估的主观性,但不能取代在软件评价中人的判断作用度量的有效性 内部有效性:直接反映某种软件质量属性的数字特征。某个Metric具有内部有效性时,被称为直接度量 外部有效性:是某种软
29、件质量属性的重要成分或预测器。某个Metric具有外部有效性时,被称为预测性度量关于度量的前提假设 我们无法控制我们不能测量的东西 我们无法预测我们不能测量的东西 特别注意,在软件中存在大量的有关“度量的外部有效性”的认识。在没有定义标准和测量手段的情况下,利用历史缺陷、变更、成本等数据判断外部有效性时需要非常小心讨论 根据自己的直觉来设计“实施度量的过程”度量是一种系统方法 IEEEStandard for a Software Quality Metrics Methodology 建立软件质量需求 识别软件质量度量 实施软件质量度量 分析软件度量结果建立软件质量需求 确定软件系统的质量需
30、求, 根据重要性对列出的质量需求进行排序软件质量要素正确性满足规约和用户的程度可靠性以要求的精度完成预期的程度效率执行一项功能所需的资源完整性对未授权的人进行控制的程度可用性学习,操作,准备输入和解释输出的工作量可维护性发现并修改一个缺陷的工作量可测试性测试程序所需的工作量灵活性修改所需要的工作量可移植性移植到另一个平台所需的工作量可复用性可以被应用到另一个应用程度互操作性和另一个系统结合所需要的工作量识别软件质量度量 对每一个需求要素建立一个直接度量(而不是预测性度量),及一个量化需求的目标值 分解要素,建立各个子要素,子要素是面向技术的概念 子要素被分解成用于在开发生命周期中测量系统产品和
31、过程的度量实施软件质量度量 确定收集的数据 确定收集数据的方法,例如随机抽取,主观/客观的度量 采集数据分析软件度量结果 在开发过程中使用确认过的度量来预测直接度量的值,比较直接度量的预测值和目标值,已决定是否进行更详细的分析目录 质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理的基本概念:质量成本 质量管理过程 质量管理工具质量有成本吗? 没有人相信软件质量不需要成本,但为什么说“质量无价”呢?质量实际是一个投资问题 质量的成本必须从“投资”的角度去理解,必须认识到软件质量投资的净价值在于减少成本。质量投资的获利足够多
32、时,净结果为正值质量成本定义 Juran:企业为保证和提高产品质量而支出的一切费用,以及因未达到既定质量水平而造成的一切损失之和(生产合格产品的费用不属于质量成本,而属于生产成本) ISO:为了确保和保证满意的质量而发生的费用以及没有达到满意的质量所造成的损失 PMBOK:达到产品或服务质量所支出的总成本,包括为使所生产的产品或服务符合要求的所有工作及返工的工作质量成本构成 一致成本(Cost of Conformance) 不一致成本(Cost of Non-Conformance)质量成本构成一致成本不一致成本PlanningScrapTrainingReworkProcess Contr
33、olField serviceField TestingWarranty servicesDesign validationComplaint handlingProcess validationProduct corrective actionsTest and evaluationQuality AuditsMaintainance质量成本模型预防成本 P 成本,为实现无缺陷需求的产品而支出的前期成本评价成本 A 成本,评价产品或过程是否达到要求,检验、测试、事中检验、内部/外部设计评审失效成本 内部失效成本 在产品交付之前过程失效,不能交付客户可接受的产品 内部失效的更正活动 外部失效成
34、本 客户认为没有满足需求的修正活动练习 列出常见的质量预防活动,评估活动,内部失效活动,外部实效活动质量成本分类预防评估失效培训培训审查审查废品废品计划计划测试测试返工返工过程研究和改过程研究和改进进审计审计修复修复供应商调查供应商调查监控监控Regression Test咨询咨询度量度量缺陷分析缺陷分析获得资格获得资格验证验证服务服务分析分析退货退货确认确认投诉处理和解决投诉处理和解决理解质量成本的目的 软件产品的质量成本,也就是软件质量的投资,根源于保证开发产品符合已确认的需求 进行软件质量成本分析的目的不是为了降低软件质量的成本或投资,而是为了保证所花费的成本是正确的,而且从投资中获得了
35、最大收益 质量成本更多的关注于预防和评价,而不仅仅是失效,由此可以获得可观的质量投资回报,及质量投资回报率(Quality Return on Investment,QROI)目录 质量及质量管理的思想和原则 质量管理的基本概念:质量控制 质量管理的基本概念:质量保证 质量管理的基本概念:度量 质量管理过程 质量管理工具质量管理过程 质量计划,Quality Planning 质量保证,Quality Assurance 质量控制,Quality Control质量计划 项目质量计划是指确定项目应该达到的质量标准和如何达到这些质量标准的工作计划与安排 关键输出:质量管理计划(Quality M
36、anagement Plan),解决“怎样产生”的问题 关键输出:度量(Metrics),解决“如何证实”的问题质量计划的编制依据 质量方针和政策:项目组织和项目高级管理层规定的项目管理的大政方针 项目范围说明书 产品说明书 标准和规定质量计划:质量政策 由企业的最高层颁布的质量工作的总方向,代表组织的质量观点,最高层对质量方针贯彻负最终责任 通常情况下,质量政策与组织整体政策相一致 在组织所有的项目中保持一致 项目团队应负责让项目的参与各方都充分理解该政策 做什么的原则(而不是如何做)质量计划编制的方法和技术 质量费效比分析 质量标杆法 流程图法 实验设计法质量的效费比分析 费效比分析,也叫
37、经济质量法,必须考虑质量收益超过质量成本 满足质量要求主要的回报是更少的返工,而返工的减少意味着生产率提高、费用降低、客户满意度的提高。 质量管理方面的费用则主要与项目质量管理活动相关 质量管理观点是回报大于投入,投资性问题质量,成本和进度质量经济性 项目的质量要求会产生更多的活动和任务,包括:质量标杆法 又称Benchmarking,对照其他项目实际或计划的项目质量管理结果或计划,作为新项目的质量比照目标,通过对照比较制定出新项目质量计划的方法质量标杆法 寻找行业最佳组织 与最佳组织比较数据分析数据收集数据收集1 标杆内容WHAT?2 WHO/WHAT is Best3 HOW do we
38、do it4 HOW do they do itOutput, Results, Successful FactorsProcess, Practice, Method我们他们质量标杆法 标杆法包括两个重要的方面: 一方面制订计划,不断地寻找和树立国内、国际先进水平的标杆,通过对比和综合思考发现自已产品的差距 另一方面不断地采取设计、工艺和质量管理的改进措施,取人之长、补已之短,不断提高产品的技术和质量水平,超过所有的竞争对手,达到和保持世界先进水平 采用标杆法不是单纯地模仿,而是创造性地借鉴。通过深入的思考、研究,集众家之长,开展技术创新,实现产品性能的突破 质量流程图法 表达项目的工作过程
39、和项目不同部分之间相互关系,用于分析和确定项目的质量形成过程实验设计法 一种计划安排的分析计划,有助于识别在多种变量中,何种变量对项目成果的影响最大,从而找出项目质量的关键因素软件质量管理计划 SQP是一个全面的管理软件产品质量的计划,它包含: 建立软件产品质量的需求 建立开发、运行和维护软件产品的方法学、过程和规程并加以实施和推行 建立评估软件产品质量、和影响产品质量的相关活动的方法学、过程和规程并加以实施和推行SQP的要素SQP的要素SQP的要素质量管理计划的要点 质量需求目标是“源” 方法和过程的建立是保证目标可以实现 产品和过程的评价是保证实施的过程和结果的符合性 确定每个项目的质量标
40、准,把质量规划到项目的产品和管理项目所涉及的过程之中,建立评价使得实施过程符合预测质量需求目标 功能性 交互性 性能 可靠性 可扩展性 可维护性建立方法和过程 建立产品工程的过程化方法 过程 输入 完成目标的一系列工作步骤 支持每一个步骤的方法 人员角色和职责 输出,工作交付结果 对工作结果的验证和确认活动建立评价 检查表 度量检查表 通常使用检查表来验证过程与工作产品 被检查者与检查者使用相同的检查表 目的是保证产品和过程的质量范例:检查表度量If you do not know where you are, a map wont help WATTS S. HUMPHREY度量 关注于项目
41、本身,而不是产品本身 IT项目度量可以从其他传统行业中得到什么样的借鉴? 量化管理的方法 统计分析的方法 过程改进的方法 IT项目本身的特点 IT项目所采用的过程主要集中于脑力活动,可视性很低并且不易量化 数据的积累相对困难度量度量 数据度量不是目的,度量结果的应用才是目的 如果只搜集数据而不做分析,那么数据搜集只是在浪费时间和精力 统计数据表明,花在数据分析与应用方面的工作量至少是数据搜集工作量的三倍以上 提供度量数据的个人或组织必须了解这些数据如何使用,他们提供这些数据将为组织或个人带来什么样的好处质量保证 为项目满足所有项目干系人的要求提供信心质量保证的要点 质量保证的目的是提供信任,获
42、信任的对象有两个方面: 内部的信任,主要对象是组织的领导 外部的信任,主要对象是客户质量保证的要点 质量保证有内部和外部两种目的: 内部质量保证:在组织内部,质量保证向管理者提供信任。 外部质量保证:在合同或其他情况下,质量保证向顾客或其他方提供信任。 质量控制和质量保证的某些活动互相关联的 只有质量要求全面反映用户的要求,质量保证才能提供足够的信任。质量保证的要点 产品的质量要求(产品要求:过程要求、体系要求),必须反映顾客的要求才能给顾客以足够的信任 信任来源于质量体系的建立和运行(包括技术、管理、人员等方面的因素均处于受控状态),建立减少、消除、预防质量缺陷的机制,只有这样的体系才能说具
43、有质量保证能力实施过程中的质量保证 质量保证活动,包含: 正规的质量评价(质量审计),通常在项目执行的过程中进行 总结性质量评价(质量改进),通常在项目结束时进行 通常有质量保证部门来履行质量保证的责任 在ISO规定以前,质量计划与质量保证统称为质量保证质量审计 采用结构化的方式对质量管理的系统进行评价,目的是为本项目或同组织内其他项目提供经验和教训,改进现在或将来项目的执行 AUDIT DEFINITION,Systematic, independent and documented process for obtaining audit evidence and evaluating it
44、 objectively to determine the extent to which agreed criteria are fulfilled质量审计 质量审计可以是预定的或随意的,并由经过培训的内部审计人员或第三方来执行质量审计的结构 质量审计要确定质量系统的结构和合理性 质量审计要检查实施过程和所定义的质量系统之间的符合性 根据以上结果评价其目标和实施过程质量系统的文档结构手册程 序指导书图纸、规格、清单、检验报告、测试报告等质量政策、质量政策、质量目标质量目标ISO 9000要求做什么怎么做文档记录质量控制的目的 对产品的直接检验 对产品构造过程的直接检测质量保证vs质量控制 质
45、量保证是一种预防性、提高性和保证性的质量管理活动; 质量控制是一种过程性、纠偏性和把关性的质量管理活动质量控制 质量控制包括事前控制,事中控制和事后控制 事前控制主要是对于影响项目质量因素的控制,而不是从质量保证的角度开展的对于项目各方面要素所开展的保证活动质量控制的意义需求分析需求分析正确的用户需正确的用户需求求正确的需求正确的需求错误的需求正确的正确的设计设计错误的设计基于错误需求的设计正确的程序正确的程序错误的程序基于错误设计的程序基于错误需求和程序正确的功能正确的功能可定位的错误无法定位的错误隐藏的缺陷实现实现设计设计测试测试检验手段 评审 测试评审 包括:走查(Walk throug
46、h)、正规技术评审(Formal Technical Review),审查(Inspection)等概念和方法 同行评审 一组在要评审的软件工作产品领域方面有经验的同行,确认工作产品是否正确 是软件开发、维护过程的重要组成部分 将注意力集中到尽可能在缺陷的引入阶段发现缺陷,不要将缺陷遗留到下一阶段 同行评审无法发现所有的缺陷,但是目的是尽可能发现更多的缺陷 尽早地和高效率地从软件工作产品中消除缺陷测试的目的 验证需求 寻找错误 预测可靠性测试的方法 黑盒法 白盒法 在不同的测试层次中如何应用测试的层次 单元测试,关键点? 集成测试,关键点? 系统测试,关键点?系统测试 静态功能测试 动态功能测
47、试 配置和性能测试 可靠性测试质量控制工具 统计分析法 柏拉图 直方图 散列图 因果图 时序图 控制图统计分析法 收集与显示数据 收集具体过程的数据确定活动的发生频率 排序并进行分析需求设计编码测试严重10157638一般2445567132建议111322551总计45738518221缺陷类型缺陷总计柏拉图 1897年由意大利经济学家Vilfred Pareto所提出,Duran 将其发展为一般的帕雷托原则:80-20原则 帕雷托图中数据的重要性以下降的顺序排列 按优先顺序表示数据,并将注意力集中在关键数据上,一般来说,关注在前两到三个因素就可以解决绝大部分的问题柏拉图帕雷托分析图0102
48、030405060123456020406080100120缺陷数目百分比柏拉图 Pareto发现“关键的少数(vital-few),和次要的多数(trivial-many)之间的关系” 在资本主义社会中,少数人占有大量财富,而多数人仅拥有少量财富 20%股票持有者拥有80%的所有权 80%的营业额由20%的客户产生 80%的缺陷由20%的模块产生 等散列图 用于描述两个变量之间的依赖关系 分析变量之间的关系,并用相关系数描述 对于多变量之间的关系分析,可以采用多元线性回归等计算方式散列图散布图051015202530350246810Y直方图 表示数据变化情况的一种工具。制作直方图时,首先要
49、对数据进行分组,对组内数据进行数据频率分布的示意 快速理解数据之间的相对频率直方图05101520ABCDEFGH直方图频数时序图 时序图是对一个变量随时间变化的趋势做出判断和预测时序图010203040506070123456789因果分析图 日本质量管理学者石川馨首先提出,又称鱼骨图(Fishbone),石川图 它把影响产品质量诸因素之间的关系以树状图的方式表示出来,使人一目了然,便于分析原因并采取相应的措施 以结果作为特性,以原因为因素,在它们之间用箭头联系表示因果关系 最后细分出来的原因应是具体的,便于采取实际措施 在细分原因时,应集思广益,力求分析结果准确而无遗漏,充分发动项目成员头脑风暴练习 一般来说,现在软件项目的质量差强人意,以你过去的一个项目为蓝本,利用鱼骨图方法找出可能的原因统计过程控制图 Control Chart,它是一种有控制界限的图,用来区分引起质量波动的原因是偶然的还是系统的,可以提供系统原因存在的信息,从而判断工作过程是否处于受控状态统计过程控制图Cause 共同原因Common Cause和个别原因Special Cause