研发质量管理 主讲:刘铭 Ø 课程背景 在产品开发过程中,企业或者项目经理/管理人员通常面临以下问题,希望通过本课程的学习,为项目管理人员提供具体的解决思路和应对措施。 1、 质量管理就是质量部人员的事情,与研发人员关系不大,与采购、生产、市场关系更小。所以质量部的工作抓好了,产品质量就上来了。真的是这样的吗? 2、 一说到产品的质量,各级员工们都认为很重要。但是一具体到某个项目,大家就会有因为时间紧、人员不够、试验环境不健全等诸多理由有意无意的放弃了对产品质量的要求,侥幸的认为应该不会出问题。该如何在产品开发的过程中,既能确保产品质量,又能满足时间和成本的要求呢? 3、 一线开发人员还会说“没关系,只要你们测试出来问题,我很快就可以改好的”。好像他们只管开发,不管开发出来好不好。应该如何让开发人员认识到产品质量是开发出来的不是测试出来的呢? 4、 我们公司也对产品进行测试,但是为什么每次开发出来的产品交付到市场后都有那么多的问题。每次产品发布后三个月内,研发团队都还不能解散去开发别的产品,因为这个阶段产品出的问题太多了。怎样才能做到尽早发现产品中的问题,减少后期修复问题的成本,提升客户满意度呢? 5、 公司也成立质量保证小组来加强产品开发过程中的监控。但是我们却发现,开发人员根本不理会质量人员,觉得他们什么都不懂还在这里指手画脚,开发人员会说“你能告诉不做技术评审会怎样?我们以前也不做技术评审,产品不也做出来了吗?”质量保证人员在这时,你应该如何做呢?如何才能让公司管理层和开发人员认识到这个岗位的重要性呢? 6、 公司也通过了ISO9000/TS16949/CMMI L3的认证,也建立自己的质量管理体系,但促进公司产品的质量仍然感觉不受控。这是为什么呢?如何才能让这些管理体系真正发挥作用呢? 7、 为了提高产品的质量,公司也要求各个项目组组织产品技术评审。但是感觉每次技术评审都是走形式,没有真正能够发现问题,很多问题还是遗留到了测试阶段甚至用户手中。该如何提高产品技术评审的有效性? 8、 公司一直以来都重视测试,测试人员也不少,但是我们发现测试总是不彻底,有些问题也发现不了。测试用例的设计缺乏方法,也不知道该测还是不该测。到底在产品开发的过程中测试工作应该如何开展呢? Ø 课程收益 1、 总体目标: l 建立全面、全员质量管理的意识、从产品开发的各个环节提升产品质量 l 通过构建有效的研发质量管理体系来提升新产品的质量,减少质量返工降低成本,最终提升客户满意度 2、 具体收益: l 正确认识产品质量:质量与需求、流程、组织层级、研发团队、开发周期、开发成本的关系; l 掌握质量相关的基本概念:质量、质量等级、质量成本、过程质量、产品质量、质量计划、质量保证、质量控制、质量改进等; l 了解产品质量与产品开发过程的关系、与项目管理过程的关系 l 了解产品质量、研发质量管理的基本概念 l 理解产品质量与产品开发过程、项目管理过程的关系 l 掌握制定产品开发质量计划的关键内容及其制定方法 l 掌握质量控制的重要方法——技术评审的方法和工具 l 掌握质量控制的重要方法——产品测试的方法和工具 l 掌握质量保证的组织建设、主要工作、关注要点、与开发团队的有效合作方式等 Ø 授课对象 公司管理者代表、CMMI MSG成员、研发中心、技术中心、研发部部门负责人、ISO9000质量代表、CMMI EPG成员、流程优化小组成员、过程改善小组成员、项目管理部经理、质量部部门经理、QA、QE、QC、MA等质量专员、产品经理、项目经理及研发骨干人员、跨部门负责人(市场、采购、制造、客服等)及其骨干成员。 Ø 课程时长 2天(12小时) Ø 授课方式 理论授课、实战演练、案例分析 Ø 课程大纲 一、序言 1、 通过开场让课程的参与者(该项目的相关干系人)相互熟悉,建立融洽的团队氛围,为课程后续顺利开展奠定基础。 2、 什么是管理,什么是产品开发。它们有什么特点?让学员理解产品开发与其关系,认识到高质量的产品不仅与质量管理人员有关,也与大家密切相关。 3、 学员演练——组建学习小组,识别后续演练用产品开发项目 1) 目的:建立课程中的学习小组,让学员学会如何建立产品开发的团队 2) 各小组识别实际的产品开发项目,以便后续课程中结合讲师的讲解,现场学以致用 3) 为上述项目界定项目范围/需求,讲师评述什么是高质量的产品 4) 了解学员关于本课程的关注点 4、 界定本课程主要内容,明确课程目标 二、研发质量管理概述 1、 什么是产品质量?产品不出问题就是产品质量好吗? 2、 质量等级,其与客户需求的关系 3、 过程质量与交付件质量 4、 对质量的理解误区 5、 质量管理概念 6、 全面质量管理 7、 质量管理活动:质量计划、质量保证、质量控制、质量改进 8、 质量管理的四个等级 9、 产品开发流程、项目管理、质量管理三者之间的关系 10、 案例:触目惊心的质量事故分析 11、 什么是质量成本:预防成本、鉴定成本、失效成本 12、 质量成本曲线 13、 质量成本在产品开发过程中的指导意义 14、 缺陷修复成本曲线表明越早发现问题修复成本越低 15、 理解错误、缺陷、失效、Bug、问题的关系 三、过程质量保证:产品开发过程及项目管理 1、 产品开发的工程过程 1) 产品型开发 2) 项目型开发 3) 产品型开发与项目型开发的相同与不同 4) 产品开发流程缺乏结构化的危害、示例 5) 结构化产品开发流程的思路:划分阶段、划分层次 6) 结构化产品开发流程的层次结构 7) 产品开发主流程及阶段流程 8) 产品开发流程各阶段介绍 9) 概念阶段流程(目标、关注、交付、活动)、示例 10)计划阶段流程(目标、关注、交付、活动)、示例 11)开发阶段流程(目标、关注、交付、活动)、示例 12)发布阶段流程(目标、关注、交付、活动)、示例 13)验证阶段流程(目标、关注、交付、活动)、示例 14)生命周期阶段流程(目标、关注、交付、活动)、示例 15)阶段流程交付件形式(阶段性流程图、角色和职责、活动描述、项目计划、模板) 2、 如何在产品质量、流程规范、开发效率之间取得平衡 1) 产品开发的流程裁剪:不同的开发类型建立适当的流程 2) 针对不同类型的产品开发项目进行裁剪 3) 流程裁剪的其他原因:规范与效率的平衡、质量与成本的平衡 4) 流程裁剪的原则和方法 5) 案例分析:针对不同类型产品的流程裁剪方法 6) 研讨:贵公司应如何进行产品开发流程裁剪? 7) IPD与CMMI的关系 3、 如何处理产品质量、时间、成本、客户需求之间取得平衡 1) 理解项目管理 2) 项目管理的精髓——平衡,如何平衡? 3) 三个三角形,9个纬度 4) 学员讨论:采用哪些手段有助于项目Deadline目标的达成? 5) 案例分析:H公司2002年3月如何用2个月时间完成中国联通的项目,保证国际电信日产品能够上线运营? 6) 目的:如何用三个三角形解决进度压力的问题 4、 产品开发过程中的质量活动 1) 质量策划 2) 质量控制 3) 评审与测试 4) 质量保证 5) 质量改进 5、 案例分析:产品过程管理 6、 目的:理解产品开发的基本原则,发掘其中的改进点,并提出解决方案。并由此映射到学员现实项目。 四、如何制定产品开发的质量计划 1、 产品质量计划的目的和内容 2、 产品总体质量策略 3、 用什么来标示产品质量目标 1) 介绍度量的概念 2) 度量在产品质量计划中的意义 3) 过程度量 4) 交付件度量 5) 产品开发项目的四个基本度量项:Q、C、T、S 6) 什么是指标,什么是目标 7) 如何确定产品的度量指标作为质量目标和非质量目标 8) 度量指标的分解原则 9) 常见的过程度量项 10)常见的交付件度量项 11)项目级的度量分析 12)组织级的度量分析 13)组织能力基线 14)开发能力与成熟度 4、 如何确定产品质量目标 5、 如何识别质量管理活动来确保达成产品质量目标 6、 质量保证和质量控制活动是达到质量目标的根本保证 7、 演示讲解:产品质量计划 8、 学员演练:基于小组识别的产品开发项目,根据质量目标和质量计划制定的方法,制定质量计划 五、如何进行有效的产品技术评审 1、 评审目的:不是为了解决问题,是为了发现问题。不能本末倒置 2、 评审的分层分级 走读、正规检视、技术评审、管理评审、审计 3、 结构化的评审流程 4、 文档在产品质量中的意义 5、 走读 6、 正规检视 7、 技术评审 8、 管理评审 1) 里程碑评审 2) 业务决策评审 9、 审计(在质量保证中详解) 10、 评审组织及其评价 11、 评审工具——建立CheckList 12、 需求评审 1) 关键点 2) 常见问题及解决方法 13、 设计评审 1) 关键点 2) 常见问题及解决方法 14、 代码评审 1) 关键点 2) 常见问题及解决方法 15、 对评审的有效管理 1) 项目经理如何管理 2) PPQA如何监控 3) 项目组成员如何实施 16、 案例分析 通过实际案例,学员讨论公司的评审流程、选择评审方法、建立评审检查表 六、测试方法及用例设计 1、 测试、缺陷、质量的关系 2、 测试的认识误区 3、 测试的目的 4、 测试的原则:木桶原理、20/80原则、Good-Enough原则 5、 为什么要尽早测试? 6、 测试成本分析 7、 测试、调试、测试与调试的关系和区别 8、 验证与确认 9、 广义的测试和狭义的测试 10、 测试类型(单元、集成、系统、验收) 11、 测试的任务、必要性、局限性 12、 测试生命周期模型、测试和开发的并发性 13、 缺陷成本的阶段性增长 14、 缺陷引入的阶段性分布 15、 测试重心 16、 测试投入 17、 测试结束准则 18、 测试方法: 1) 白盒测试、黑盒测试、灰盒测试 2) 动态测试、静态测试 3) 手工测试、自动测试 19、 测试策略:渐增测试、大爆炸测试 20、 基于测试目的分类:单元测试、集成测试、系统测试、ALPHA测试、BETA测试、验收测试、回归测试 21、 百盒测试用例设计 1) 测试覆盖度 2) 插桩——软件探针 3) 基本路径测试——圈复杂度(学员演练) 4) 规格导出法 5) 等价类分析法 6) 边界值分析法 7) 学员演练 8) 状态转移分析法 9) 数据流分析法 10)错误猜测法 22、 黑盒测试用例设计 1) 等价类分析法 2) 边界值分析法 3) 因果图法 4) 学员演练 七、测试工程过程 1、 测试过程 1) V测试模型 2) 测试计划 ·测试设计 ·测试开发 3) 测试执行 ·测试评估 ·测试报告 4) 缺陷跟踪 ·三级CCB体系 ·NASA测试经验汇总 5) 测试领域的风险分析与跟踪 2、 单元测试过程 1) 单元测试的意义、过程、交付 2) 单元测试计划及评审 ·单元测试准备 3) 单元测试成败关键因素分析 4) 演示讲解:测试计划、测试规程、测试用例、测试方案、测试报告、测试指导、需求跟踪表、 5) 测试计划和用例评审查检表、测试记录、缺陷报告 3、 集成测试过程 1) 集成测试的意义、过程、交付 2) 集成测试准备 ·集成测试执行 ·缺陷跟踪 3) 集成测试过程报告 4) 集成测试质量目标 ·集成测试报告 ·典型集成测试平台构造 5) 集成测试策略的确定时机 ·集成测试工作开展的制约因素 6) 演示讲解:集成测试方案模板 7) 集成测试成败关键因素分析 4、 系统测试过程 1) 系统测试基本概念(定义、对象、依据) 2) 系统测试过程 ·系统测试输入、输出 3) 系统测试计划 ·系统测试准备 ·系统测试执行 4) 预测试 ·测试环境的规划和管理 5) 系统测试报告 ·转测试操作流程和角色定义 6) 问题跟踪反馈 ·回归测试 ·基于产品平台的测试策略 7) 系统测试成败关键因素分析 5、 验收测试过程 八、研发质量保证 1、 QA的定义 2、 评审和测试的关系 3、 审计和评审的区别 4、 二维审计方法 5、 QA在质量体系中的位置 6、 产品质量保证的原则与方法 1) 流程为什么得不到有效执行? 2) 质量保证和CMM/CMMI 3) 质量保证的基本手段 4) 学习曲线在质量保证中的体现 5) 审计的基本方法和原理 6) 水平审计 7) 垂直审计 8) 审计访谈的心理因素 9) 产品审计 10)过程引导与培训 11)管理层在质量保证中的作用 7、 质量保证过程 1) 过程审计过程 l 审计计划 l 审计活动的协调 l 证据收集和人员访谈 l 审计报告和审计总结及趋势分析 l 问题纠正和跟踪技巧 l 管理层决策遗留问题 l 激励体制和质量保证 l 项目的审计和公司层面的审计 2) 质量保证与产品研发 l 过程引导与支撑 l hand in hand培训 l 经验与教训 3) 产品审计 l 产品审计方法 l 产品审计和评审及测试 l 需求跟踪矩阵 4) 配置审计 8、 质量保证的组织保障 1) QA与EPG 2) 公司级别QA 3) 项目组QA/流程引导者/流程制定者/流程执行者 4) QA与测试部 5) 什么人适合任QA 6) QA人员为什么缺少成就感? 7) 如何提高QA人员的成就感
|