AuthorVersionLastUpdated软件项目管理QualityManagementVersion1.0by李涛RevisionHistoryVersion0.1,August4,2003Version1.0,Oct4,2003目录质量的概念,思想和意识质量管理的标准化质量管理的基本概念:质量控制质量管理的基本概念:质量保证质量管理的基本概念:度量质量管理过程:质量计划质量管理过程:质量保证质量管理过程:质量控制质量管理工具问题什么是质量?有多少个质量学家就有多少个质量的定义学习质量管理的关键是:质量意识的接纳质量概念的演化日本在质量管理上的贡献尽管软件与其他产品不同:生产线是机器密集型,重复性的;软件是人力密集型的,智力性的,但质量原理是适用的ISO:质量的基本概念质量(广义质量概念):反映实体(产品,过程或活动等)满足明确的或隐含的需要的能力特性总和(Thetotalityofcharacteristicsofanentitythatbearonitsabilitytosatisfystatedorimpliedneeds)ISO:质量的基本概念含义一:实体,承载质量属性的具体事物。产品:提供各种享用功能的有形实物过程:带来某种享受服务活动:在生产产品或提供服务中所开展的工作含义二:满足用户需求的能力特性总和,表明质量高低并不取决于“实体”的各种能力特性是否最好,而只要满足需求(明确的和隐含的)即可含义三:不同实体,质量实质内容不一样产品:指产品能够满足用户使用要求所具备的功能特性服务:指服务满足顾客期望的程度活动:由工作结果来衡量符合性质量概念符合标准就是合格的质量,符合程度反映了产品的一致性符合性包括产品和过程两个方面标准有合理与不合理之分,不合理的标准即使百分之百的满足也不能认为质量就好标准往往不能将客户的各种需求和期望都规定出来,特别是隐含的需求与期望软件项目开发中需求管理的例子适用性质量概念产品在使用时能够成功地满足用户需求的程度从使用要求和满足程度两方面去定义质量镀金(GoldenPlating)质量理念的发展:符合性质量符合性质量,20世纪40年代,以符合现行标准的程度作为衡量依据,“符合标准”就是合格的产品质量,符合的程度反映了产品质量的水平。质量理念的发展:适应性质量适用性质量,20世纪60年代,适合顾客需要的程度作为衡量的依据,从使用的角度定义产品质量从“符合性”到“适用性”,反映了人们在对质量的认识过程中,已经开始把顾客需求放在首要位置质量理念的发展:满意性质量满意性质量,20世纪80年代,质量管理进入到TQM阶段,将质量定义为“一组固有特性满足要求的程度”。它不仅包括符合标准的要求,而且以顾客及其他相关方满意为衡量依据,体现“以顾客为关注焦点”的原则。质量理念的发展质量理念的发展变化实质:人们对质量目标认识的转变。在今天,质量目标本质已经超越了其他因素而甚至成为商业成功的中心话题质量管理的基本概念质量管理:决定质量政策、目标和责任的全面管理职能的所有活动,以及通过诸如质量系统中的质量计划编制、质量保证、质量控制和质量提高等手段对这些活动的实施。(Allactivitiesoftheoverallmanagementfunctionthatdeterminethequalitypolicy,objectives,andresponsibilitiesandimplementsthembymeanssuchasqualityplanning,qualityassurance,qualitycontrol,andqualityimprovement,withinqualitysystem.)KaoruIshikawa质量工作的6个特征:全范围的质量控制高层管理者质量控制审计业界的教育与培训质量小组活动使用统计方法全范围的质量控制促进活动鱼骨图(FishBone)JojiAkao质量功能部署(QualityFunctionDeployment,QFD),是一种方法:客户的要求转换成相应的技术要求,帮助企业的研究小组系统化地达成共识用户用语言表达的需求(正常需求)用户认为必然有的隐含需求(期望的需求)开发人员预计的用户感兴趣的需求(感兴趣需求)QFD在设计阶段就对产品的适用性实施保证,并对后续作业中的存在问题提前予以揭示,采取相应对策侧重于“用户满意度”,不仅在减少负质量,还要增加正质量。客户角度:不出错的软件并不是最好的Deming’sThought将统计方法用于质量控制Deming提出的质量方法:从管理出发的持续性改进质量认为,提高劳动生产率和降低成本的唯一途经是提高质量Deming:PDCACycle计划Plan,分析现状;找出存在问题的原因;分析产生问题的原因;找出其中主要原因;拟订措施计划执行Do,执行技术组织措施计划检查Check,把执行的结果与预定目标对比处理Act,巩固成绩,把成功的经验尽可能纳入标准,进行标准化Deming:14Principles1.树立提高产品和服务质量的目标2.采纳新的哲学3.停止依靠检查来获得质量4.关注总成本5.持续改进产品和服务6.制度化培训7.设立领导职责8.驱除恐惧9.打破部门间的界限10.消除口号,训词和定额目标11.取消工作标准及数量化的定额12.消除那些剥夺职业精神的障碍13.建立严谨的教育及培训计划14.创造一个每天都推动以上13项的高层管理结构Grigrich对Deming核心原则总结1.客户,而不是官员决定价值2.生产者创造价值3.要改进将来结果,必须先改进过程4.人有做好工作的本能5.人,过程和系统是一个大系统的有机组成部分6.不断学习是持续改进的基础RenewingAmericanCivilication美国文明的历史经验教训个人力量自由的企业发明与探索的精神Deming所定义的质量RichardZultner将Deming的思想用于软件开发,形成:管理14点7个致命问题质量障碍软件管理者14点1.确定坚定的改进系统和服务质量的目标,瞄准最佳工作、满足用户要求2.我们处于软件工程和项目管理的新时代,软件经理必须面对挑战,承担责任,并领导变革3.停止靠大规模审查(尤其是)测试来提高质量,要把质量建立到产品中4.结束紧靠价格决定业务的方法,降低总成本5.持续改进系统开发过程从而提高质量和劳动生产率,进而降低系统的成本。提高质量不是一朝一夕的事软件管理者14点6.建立工作培训7.建立领导地位。经理的工作是让员工和系统更好地工作8.去除恐惧,让员工有效的工作。管理层对组织和环境的错误负责9.清除领域之间的障碍。人们必须具有团队精神10.不要以标语口号等形式要求零缺陷和提高劳动生产率软件管理者14点11.不要使用量化的目标和责任分解12.建立工艺的尊严。项目经理的责任是把关注进度转向关注质量13.为所有人建立起教育和自我提高的机制。要建立对软件经理和员工培训的承诺14.改革是工作的一部分,每个人都要为改进做出贡献软件质量的7个致命问题1.缺少对系统满足用户要求进行计划的坚定目标,对软件开发人员采用命令式管理2.关注短期进度,这会扼杀质量3.绩效考核,年度评审。这种方式毁坏员工,进而扼杀质量4.软件专业人员和经理的流动性,员工流动对制定目标和建立组织知识体系很有害5.单纯依赖可见的数字管理6.过高的人力成本。由于低效的开发过程和高人员流动率,软件开发的人员成本非常高7.过高的维护成本。由于设计不好,开发中的缺陷以及维护工作差使得整个生命周期的成本居高不下软件质量的障碍1.希望有一个速效解决方案,真正的解决方案是知识,并辅以决心和勤奋2.相信新的硬件会改变软件开发。质量是靠人制造的,而不是靠神奇的设备和程序3.没有独特的或不同寻常的软件质量问题4.落后的教育。仅仅关注技术,而不是质量5.糟糕的统计方法教育。没有好的针对软件质量和项目管理的教育方法软件质量的障碍6.“已经够好了,没时间做得更好”。但实际上剩下的时间是修改系统的错误。在第一时间把正确的事做正确是最快的7.“质量控制人员解决所有质量问题”。质量是管理者的责任8.“所有问题都是程序员的错”。其实是管理者雇佣、培训和管理程序员9.质量改进的错误出发点。急性子的经理不会明白改进质量是一项长期工作,所以很快失去了对质量的兴趣10.“我们曾建立了质量控制”。质量工作是管理的日常工作软件质量的障碍11.使用CASE工具但忽视了软件工程的知识基础12.相信只有满足规格是必要的。仅仅满足规格是不够的,应该持续改进并缩短开发周期13.零缺陷误区,持续改进的结果不是零缺陷,仅仅没有缺陷也不能够确保用户满意14.测试原型不足。测试原型的主要目的是学习,然后用来强化系统15.软件经理对于系统和开发只要知道他们必须知道的,但不是如何改进系统Juran’sthought强调:制造商和顾客对质量看法的不同。制造商经常关注对规范的坚持,但顾客关注适用性。有关质量适用性的概念,都强调满足明确的或隐含的需求的重要性确立了质量是一个连续的(Continuousimprovementprocess),需要管理者积极推动已达到确定的改进目标。将20/80规则引进到质量管理中来,认为80%的问题来自20%的困难,因此管理者的责任是努力识别找出并解决此20%困难点Juran’sthought推动共同参与管理风格,Juran指出只有将所有雇员都包括在参与不断改进过程中,才能生产出高质量的产品质量经济性管理的基本思路。质量成本(COQ)=符合要求的代价(POC)+不符合要求的代价(PNOC)。其中,符合要求的代价是指第一次把事情做对所花费的成本,而不符合要求的代价却使管理层意识到成本的存在。这就是为什么当发生返工时,我们才发现成本开始增加了。GenichiTaguchi离线质量控制把软件开发过程置于控制系数之下,控制系数包括:人,软件工具,方法,工作区和工作台布局等但是即使有了最佳产品条件,还存在以下问题:过程漂移,运行的不确定性,度量错误,人的错误等离线质量控制在线质量控制技术:测量和处理,预测和纠正,分析和调整对每一个产品进行测量;根据度量可以预测后面的产品质量;如果偏离目标,就要采取纠正;在规定的间隔内对过程进行诊断;如果出现异常就进行调整离线质量控制如果把在线质量控制用到软件开发上,那么软件公司就必须有一个定义好的、可重复的过程。在这样的过程中才能进行度量、预测和诊断。事实上,在线质量控制可以指导进行持续性的过程改进ShigeoShingo《ZeroQualityControl:SourceInspectionandthePoka-yokeSystem》零缺陷软件质量方法的核心:软件开发过程图,相关活动检查单,审查,错误预防方法,内部、外部客户概念错误预防和检测技术是零缺陷软件的基础Crosby’sthought质量运动的发起人,传统的观点认为,质量管理的目的是把错误减至最少,这本身就是一个错误——把错误减少到最少是不够的!创立了“零缺陷”的概念,被称之“质量革命”的概念;基础是预防,他的“第一次就把事情做对”的商业哲学,也就是达到“零缺陷”的质量管理理念改变了美国人做人做事的方式;出版了《质量是免费的》(Qualityinfree)一书。质量管理的成熟度级别度量一级:不确定级管理层的理解和态度不知道质量是管理工具,出现质量问题责怪质量部门质量组织情况质量隐含在生产和工程审查中牧师公司的一部分工作,注重鉴定和筛选问题处理问题出现后争论不休质量成本比重20%质量改进运动没有公司总的质量态度我们不知道我们为什么有质量问题质量管理的成熟度级别度量二级:觉醒管理层的理解和态度意识到质量管理可能产生价值,但不愿意提供资金和时间质量组织情况有一个强有力的领导人,但重点是鉴定问题处理建立了一个解决重大问题的小组,但没有长期解决方案质量成本比重报告值:3%;实际值:18%质量改进运动尝试短