高效率的软件项目质量管理
主办单位:汉捷研发管理咨询有限公司
举办时间:2011年12月23-24日(杭州)
课程收益
速度和质量越来越成为软件开发制胜的关键,然而管理人员和开发人员长期为以下问题所困扰,通过本课程的学习,将发现问题产生的根源以及行之有效的解决措施。
①. 项目延期最本质的原因是什么?
项目进度紧张,开发人员常常没日没夜地加班,然而项目进度总是一延再延期。
②. 如何有限的工期交付高质量的产品?
客户对软件产品质量要求高,而开发工期却很短,很多项目在面临这种情况,往往采用“先做完再说”的策略,其代价是客户对质量的抱怨和大量的研发人力陷于救火之中。那么正确的策略又是什么呢?
③. 如何做好需求分析并写出高质量的需求文档?
软件需求规格的质量极大程度上影响了最终软件产品的质量和项目开发效率,然而国内的工程师很少掌握需求分析方法,更不会写需求文档。
④. 设计文档该写什么?怎样写?
开发人员通常也不知设计文档该写什么,分不清哪些内容属于需求哪些内容属于设计,设计文档细化到什么程度?良好的设计文档提升开发效率,劣质的设计文档浪费开发时间。
⑤. 如何有效开展评审?
评审是提升文档和代码质量的有效手段,然而为何评审效果总是不佳呢?没人愿意参加评审,评审发现的往往是文字错误这样肤浅的问题,评审活动流于形式。
⑥. 如何有效测试?
某些项目要求做单元测试,结果花费不少精力,可是没有发现多少问题。问题出在哪里?单元测试到底值不值得做?测试工作给测试人员带来的挑战是如何在有限的时间内尽可能多的发现软件缺陷,如何面对这样的挑战?
⑦. 进度非常紧张的项目应该走流程吗?
某些企业有完善的流程体系,可是很多项目都不愿意按照流程做,最有说服力的理由是流程降低了开发效率。流程的本质到底是什么?进度非常紧张的项目到底该不该走流程?
⑧. 如何解决QA和项目经理的冲突问题?
QA总是抱怨项目经理不走流程,项目经理总是抱怨QA不为项目做实事,反倒常常“骚扰”。有没有方法扭转这样的局面?
⑨. ……
培训特色
p 思想性:凝聚质量管理大师的思想,结合软件工程实践方法,揭示软件开发规律,透过案例分析深刻地理解效率与质量相统一的质量管理理念。
p 实践性:本课程累计了十年来业界知名公司的大量成功案例、失败教训开发出来的,完全不同于通常的教科书或培训所传授的很难操作的理论,具有非常强的实践性和可操作性。
p 针对性:针对国内项目经理和开发工程师的特点,针对国内软件项目开发过程普遍存在的问题,有重点地进行剖析问题的本质,并给出经过实践验证的、行之有效的措施。
讲师资历
周志龙:资深讲师,资深咨询顾问
· 原QAI资深咨询顾问
· 中国软件行业协会授予的十大咨询师
· 台湾晨星半导体特聘顾问
p 专业背景:哈尔滨工业大学工学硕士,具备13年产品研发、研发管理、质量管理及研发过程改进咨询经验。曾在华为公司北研所和华为3COM公司任职7年,历任研发工程师、研发经理、质量总监等职位,对IPD和CMMI有深入的研究和丰富的实践,是华为最早按照研发流程体系成功完成项目的首批项目经理;参与了华为和华为3COM研发流程体系建设、推行和改进工作;在华为3COM主导的软件开发过程的变革获得巨大成功,使得华为3COM软件开发远远领先于业界。
p 咨询背景:有5年的咨询经验,曾在全球著名的咨询公司QAI任资深咨询师,为数十家高科技企业做过咨询服务,涉及领域包括金融、邮电、电力、汽车、电子政务、税务、手机等,包括世界500强企业、上市公司。主要咨询客户有:台湾晨星半导体,长春一汽,北京伟创力(中国),埃斯顿自动化,北京软脑软件,北京华胜天成,北京天碁科技(T3G),中星电子,北京中科恒业,奥德思电器,江苏大唐,航天信息,公众信息,中科院西北星,中兴通讯,成都天府软件园,山东农信社等等。专业、敬业的咨询作风深受客户赞扬,应得非常好的口碑,被中国软件行业协会授予十大咨询师。
p 培训背景:在华为公司和华为3COM公司,为研发人员提供大量培训,就多次被评为公司优秀讲师。在咨询服务过程中,为客户提供研发管理、质量管理、项目管理、软件工程等培训,此外,还为广东核电站、上海中科深江、珠海高凌信息、深圳市文鼎创数据科技、奥维通信、深圳市科陆电子、理邦精密仪器、南京科远、广利核、横河电机、冶自欧博、中星电子等公司提供培训服务,在北京、上海、深圳、大连、成都、南京等地举办过公开课。
参加对象
项目经理、研发骨干、产品经理、质量经理、测试经理、QA等
课程大纲
1. 软件质量管理的概述
本单元学习目标:掌握质量管理的一些重要的理念和主要概念,认识到通过有效的质量管理才能获得开发的高效率
1.1. 质量管理发展里程
1.1.1. 研讨:质量与效率关系
通过研讨,让学员体会到:效率和质量是孪生兄弟,是一体的两面,遵循软件开发规律和质量管理规律,在项目前期注入质量要素,才可能获得项目开发整体上的高效率
1.1.2. 介绍质量管理发展历程
——质量靠个人保证
——质量靠测试保证
——质量靠设计保证
——质量靠流程保证
1.1.3. 案例分析:质量管理对日本工业和印度软件业发展所起到的推动作用
实例来说明质量管理给企业带来的是高效率,而不是效率的阻碍
1.2. 从质量成本要效率、要质量
1.2.1. 质量成本的定义
1.2.2. 质量成本分类:预防成本、评估成本和失效成本
1.2.3. 加强预防成本的投入,可从过程重用和技术重用两方面提升效率和质量,变失效成本为利润
1.2.4. 从救火文化到预防文化的转变
1.2.5. “一次把事情做对”的对提升开发效率的重要作用
1.2.6. 十乘十乘十法则介绍,说明缺陷预防和把缺陷消灭在前期才能使项目获得高效率
1.2.7. 从软件开发的缺陷分布来说明需求分析的质量如何影响整体开发效率的
1.2.8. 案例分析:A公司有一个紧急项目,应该怎样做?
面对紧急项目,多数管理者都会自乱阵脚,需求还没有讨论清楚,开发人员匆匆编码,结果是返工、不断地大量返工,项目进度被大大拖延了。
2. 高质量的软件需求挖掘、分析和文档化
本单元学习目标:掌握需求分析方法和需求文档的写作方法,从源头上把控好项目的质量,减少返工,提高效率
2.1. 需求的重要性
2.1.1. 需求对项目的进度和质量影响
2.1.2. 需求对测试活动和其它相关组的影响
2.2. 需求开发典型问题
2.3. 案例分析:请分析某项目的需求文档有什么问题,如何改进
通过案例,说明什么是好的需求文档,进一步体会需求问题为项目带来的后果。
2.4. 造成需求开发典型问题的原因
2.5. 软件需求过程介绍,需求开发介绍,包括需求挖掘、分析、文档化、评审确认等
2.6. 软件需求挖掘和分析过程
2.6.1. 需求层次:needs,feature和requirement
2.6.2. 需求来源和获取方法,如客户访谈、竞争对手产品分析等
2.6.3. 需求分析方法和工具,如用例图
2.7. 高质量需求文档的标准
2.7.1. 好的需求文档特点
2.7.2. 需求文档中避免出现的一些词汇
2.7.3. 演练:写出一功能需求的输出部分
2.8. 总结:如何制定出高质量的需求文档
3. 高效率的软件设计
本单元学习目标:剖析软件设计常犯的错误,如何避免这些错误,写出高质量的设计文档
3.1. 研讨:我们做设计时,都常犯哪些错误
3.2. 设计过程
3.3. 设计基本原理和基本概念
3.3.1. 基本分解问题、简化问题的原理
3.3.2. 抽象概念
3.3.3. 层次化概念
3.3.4. 模块化概念
3.3.5. 信息隐蔽概念
3.4. 模块分解
3.4.1. 从开发总成本看模块分解
3.4.2. 模块数据的合适数量
3.4.3. 模块分解的基本原则
3.5. 概要设计要点
3.6. 详细设计要点
3.7. 问题1:需求和设计界限不清
3.7.1. 什么是需求,什么是设计,二者区别在哪里
3.7.2. 接口描述在需求中还是在设计中
3.7.3. 设计中数据描述和需求中数据描述有何不同
3.8. 问题2:设计的层次和详细程度问题
3.8.1. 需要几个层次的设计文档合适
3.8.2. 设计文档的内容结构和不同层次文档的内容衔接
3.8.3. 详细设计要详细到什么程度
3.8.4. 设计的层级和颗粒度的原则:使得开发效率最大化并满足维护需要
3.8.5. 示例:展示某嵌入式软件概要设计文档和详细设计文档,说明好的设计文档是如何提高开发效率的
3.9. 问题3:设计文档的内容冗余问题
3.9.1. 使用的数据设计工具时,文档中的数据设计部分怎样写
3.9.2. 使用设计建模工具时,设计文档又怎样写
3.10. 设计要考虑的其它因素
3.10.1. 设计方案要进行重用和购买分析
3.10.2. 设计要遵循高内聚、低耦合原则
4. 有效评审
本单元学习目标:技术评审是质量控制非常高效的手段,通过本单元学习掌握技术评审有效过程和方法
4.1. 评审的意义
4.1.1. 尽早发现产品缺陷,减少返工代价
4.1.2. 通过评审熟悉整个系统
4.1.3. 促进参与人员之间的技术交流和相互学习
4.1.4. 增进团队交流,增加团队凝聚力
4.1.5. 使作者能高质量地完成工作产品
4.2. 案例分析:剖析某项目的技术评审
4.2.1. 案例中的评审过程存在哪些问题
4.2.2. 在贵公司中,技术评审又存在哪些问题
4.2.3. 对评审存在的问题有什么解决方法
4.3. 评审的过程
4.3.1. 计划评审活动,正确地选择评审专家
4.3.2. 介绍会议,为有效评审做好准备
4.3.3. 预评审是发现问题的关键阶段
4.3.4. 评审会议的目的确认问题而不是做技术交流
4.3.5. 评审问题解决跟踪确保问题全部得到正确解决
4.3.6. 评审结果分析
4.4. 技术评审FAQ
4.4.1. 作者不愿意别人提出问题,评审人员为了顾及面子不愿意提出问题怎么办?
4.4.2. 评审人员把评审当成额外的工作,不愿意参加评审怎么?
4.4.3. 评审人员的技能不足怎么办?
——交叉工作模式介绍
——简介敏捷开发的结对编程方法
4.4.4. 评审人员只与评审对象部分内容部分相关,对他的评审又什么要求?
4.4.5. 评审对象充满了低级错误,或者有些技术问题作者还没有考虑清楚,如何面对这种情况?
4.4.6. 如何使评审检查表效能最大化?什么时机使用?
5. 有效测试
本单元学习目标:软件测试工作在许多企业中都比较薄弱,存在众多问题,通过本单元学习掌握克服这些问题方法,有效开展测试活动
5.1. 研讨:阻碍项目进行有效测试有哪些因素?
5.2. 测试概述
5.2.1. 测试的常见误区
5.2.2. 测试的心理学问题:测试的目的为了发现问题,不是为了证明程序是对的
5.2.3. 测试的经济学问题:如何在有限的时间尽可能发现更多的缺陷
5.3. 测试分类
5.3.1. 静态测试 vs 动态测试
5.3.2. 黑盒测试 vs 白盒测试
5.3.3. 手工测试 vs 自动化测试
5.3.4. 按阶段分类:UT/IT/ST/Alpha测试/AT/Beta测试
5.4. 测试过程
5.4.1. 测试过程介绍,包括制定测试策划和计划、设计测试用例和测试环境准备、测试执行、测试分析
5.4.2. 测试活动在开发活动中的位置
5.4.3. 如何制定测试策略
5.4.4. 演练:分别为两个项目制定测试策略
5.5. 测试用例设计方法
5.5.1. 什么是测试用例,用例的输入和输出通常有哪些
5.5.2. 什么是黑盒方法
5.5.3. 介绍等价类划分方法
5.5.4. 演练:用等价类划分方法设计测试用例
5.5.5. 介绍边界值分析方法
5.5.6. 演练:用边界值分析方法设计测试用例
5.5.7. 介绍判定表方法
5.5.8. 介绍因果图方法
5.5.9. 介绍正交阵列方法
5.5.10. 什么是白盒方法
5.5.11. 介绍各逻辑覆盖,如语句覆盖、分支覆盖、条件覆盖、路径覆盖等
5.6. 单元测试和集成测试
5.6.1. 什么是单元测试
5.6.2. 单元测试的投入产出比高吗?剖析是否值得做单元测试
5.6.3. 演练:如何针对给定的函数进行单元测试
5.6.4. 单元测试基本概念(桩、驱动)介绍
5.6.5. 高效单元测试过程
——用例如何写
——怎样打桩
——怎样利用单元测试工具
——有效单元有哪些原则和注意事项
5.6.6. 集成测试介绍
5.7. 系统测试
5.7.1. 功能测试介绍
5.7.2. 性能测试介绍
5.7.3. 安全性测试介绍
5.7.4. 可恢复性测试介绍
5.7.5. 兼容性测试介绍
5.7.6. 界面测试介绍
5.7.7. 演练:如何对测震仪产品进行测试
5.8. 测试自动化
5.8.1. 为何要自动化测试,自动化测试能带来哪些价值
5.8.2. 三种不同级别的自动化
——静态脚本录制
——哑猴测试,随机的自动化测试
——智能测试自动化,通过建模动态生成测试用例
5.8.3. 测试自动化工作建设的一些建议
5.9. 测试工具介绍
5.9.1. 白盒测试工具介绍,包括静态白盒工具和动态白盒工具
5.9.2. 黑盒测试工具介绍
5.9.3. 性能测试工具介绍
5.9.4. 测试管理工具介绍
5.10. 有效测试管理
5.10.1. 测试人员技能规划
5.10.2. 测试人员职业发展规划
5.10.3. 测试过程资产库和测试用例库建设
6. 缺陷管理和质量度量
本单元学习目标:掌握软件缺陷管理过程和方法,通过缺陷管理、质量的度量评估和和改进项目开发过程
6.1. 缺陷管理
6.1.1. 缺陷管理的三个层次
——单个缺陷的生命周期管理
——项目级缺陷管理
——组织级缺陷管理
6.1.2. 缺陷管理意义
——确保每个缺陷被有效解决
——从缺陷数据来看,如何改进开发和测试过程
——利用缺陷库有效地预防缺陷和解决缺陷
6.2. 缺陷度量和分析工具
6.2.1. ODC分类法介绍
——ODC背景介绍
——ODC分类简介
——举例说明如何用ODC缺陷分类分析改进开发和测试工作
6.2.2. 缺陷密度介绍
——缺陷密度的定义
——如何用缺陷密度评估质量控制效果和交付产品交的质量
——如何用缺陷密度改进开发过程
6.2.3. 缺陷剔除率介绍
——缺陷剔除率的定义
——如何用缺陷剔除率评估质量控制效果,并改善高质量控制方法
——如何用缺陷剔除率改进开发和测试过程
6.2.4. 缺陷分析工具:柏拉图、控制图
——使用柏拉图找重要问题
——使用控制图找异因,从过程着手做改进
6.2.5. 缺陷动态预测模型:Rayleigh曲线
7. 质量保证和过程质量
本单元学习目标:了解过程的重要性,剖析流程不被执行的原因,如何通过QA保证流程有效在项目中实施
7.1. 质量保质和质量控制
7.1.1. 区分质量保证和质量控制
——质量控制关注产品,被动的,去发现缺陷
——质量保证关注过程,主动的,去预防缺陷
7.1.2. 从质量铁三角看过程的重要性,仅仅是牛人和工具是无法保证项目成功的
7.1.3. 流程本质是什么
——流程是最佳实践的固化,不应是降低效率的官僚体系
——关注过程的项目和不关注过程的项目效率对比
7.2. 产品质量和过程质量
7.2.1. 软件产品质量的定义
——开发者的质量观:满足规格
——客户的质量观:适用
7.2.2. McCall软件质量模型,从三个方面对软件质量进行系统全面地分类说明
——产品运行方面:正确性、可靠性、可使用性、效率、完整性
——产品修正方面:可维护性、测试性、灵活性
——产品转移方面:互联性、可移植性、复用性
7.2.3. 什么是过程质量,从三个方面说明
——组织级流程定义质量
研讨:从“不拉马的士兵”看到什么?
剖析为何许多项目不愿意走流程,或者走了流程效率反而会下降。
CMMI模型和敏捷方法的介绍与对比。
——项目级流程裁剪质量
——过程执行的质量
7.2.4. 过程质量定义以及过程质量和产品质量的关系
——好的过程体现了产品质量要求
——过程质量决定了产品质量
7.2.5. 演练:如何在项目计划中体现质量要素
7.3. QA的角色和职责
7.3.1. 研讨:在项目中,QA的目标和项目经理的目标是否相同?
——剖析QA和项目经理常常发生冲突的根源
——国内QA普遍的角色错位
7.3.2. QA的律师角色
7.3.3. QA的教练角色
7.3.4. QA的医生角色
7.3.5. QA的警察角色
7.3.6. QA的牧师角色
7.4. 过程引导
7.4.1. 过程引导的必要性:仅有培训不足以让流程执行者具备执行流程的能力
7.4.2. QA进行过程引导的方法
7.4.3. 演练:针对项目的某些场景如何进行流程的引导
7.5. 审计工作
7.5.1. 过程审计的必要性:发现过程问题,及时纠正
7.5.2. 几种错误的审计方式介绍
7.5.3. 正确的审计方式和过程
7.5.4. 如何正确地写审计报告
8. 研讨与总结
8.1. 学员提出有针对性的问题,进行研讨
8.2. 学员对课程的收获进行总结
8.3. 讲师对课程做总结
时间安排
2011年12月23-24日 (周五、周六) 杭州
费用:3800元/人(含资料、中餐、证书)
——汉捷咨询近期公开课安排:
l 成功的产品经理
时间—2011年12月2-3日,地点—厦门,讲师—杨平
l 集成产品开发IPD
时间—2011年12月16-17日,地点—北京,讲师—胡红卫
l 研发绩效管理
时间—2011年12月16-17日,地点—深圳,讲师—牛清菲
l 市场管理及产品规划
时间—2011年12月23-24日,地点—深圳,讲师—胡红卫
l 研发项目管理
时间—2011年12月23-24日,地点—上海,讲师—郭富才
l 研发绩效管理
时间—2011年12月16-17日,地点—深圳,讲师—牛清菲
汉捷部分培训客户
通信类企业:Nokia、Siemens、Motorola、Samsung、康佳移动、神州数码网络集团、海信通信、步步高通信、TCL移动通信、星网锐捷、江苏富士通、鑫诺通讯、京信通信、伟创力、同洲电子、广东普泰、TCL网络、冠日通讯、飞通光电、东进通讯、PBI国际、索贝数码、国腾通讯、迈普通信、恒宝通光电子、先创电子、清华华环、威盛通信、高阳圣思园、亿阳集团、网通研究院、广东宏达信、中国航空技术出口总公司、四创电子、北京交通华讯、亦海丰电子、大显通信、广州高科、广州邮通、格林威尔、武汉电信器件公司、力讯智能、优能通讯、达迪通信、长征宇通、展信智能、同维电子 、迪威视讯、公达数码、摩比天线、海天天线、宇阳科技等
软件及系统集成:NEC软件、用友软件、金蝶软件、亚信科技、科银京成、福瑞博德、格尔软件、东软软件、中软国际、神州数码软件集团、远光软件、广州新太、金证科技、海格通信、工行软件开发中心、卓望科技、黎明网络、新粤交通投资、中太数据、奥尊信息、北大青鸟、科皓信息、创我科技、厦门巨龙软件、上海宝信软件、大丰科技、润汇科技、华友世纪、今朝科技、联友科技、深圳市电子金融结算中心、利博赛社保信息技术、中创信测、西安交大博通资讯、灵图软件、超图信息、复旦金仕达、杭州虹软等
消费电器:海尔集团、康佳集团、格力电器、惠州三星、美的制冷、美的生活电器、荣事达、小天鹅、TCL王牌、海信集团、长虹电器、彩虹集团、三花集团、步步高、万家乐电器、苏泊尔、达实智能、卓力电器、澳柯玛、厦华电子、万宝冰箱、德赛视听、中山龙的、三洋电器、华阳多媒体、侨兴集团、诺亚舟、松日集团、亿龙集团、奥克斯空调等
电源/光源:山特电子、艾默生网络能源、比亚迪、雄韬电源、海洋王、皇源电子、伊博电源、核达中远通、斯比泰、珠海金电电源、泰坦科技、华德电子、福建科华、信瑞电子、湖南瑞翔、亚明、海洋王、镭士照明、阳光电源等
计算机:联想集团、清华同方、华硕电脑、方正科技、TCL电脑、记忆科技、华旗资讯、研祥智能、国微电子、升腾资讯、普瑞尔电子、长城电脑、穗彩科技、冠捷电子、南京富士通计算机、三诺电子、多彩科技、伟创力、顶星数码、顶星科技、大将科技、清华比威、太极计算机、华旗资讯、新蓝科技、商科集团、旭丽电子、讯强电子、精成电子、今博数码、凤凰光学等
医疗器械:迈瑞医疗、安科高技术、和佳医疗、宝莱特医用科技、金科威电子、三瑞医疗、广州白云蓝天科技、理邦仪器、邦健电子、万东医疗、泰杰磁电研究所、蓝韵实业等
电力设备:南瑞集团、四方继保、许继集团、科陆电子、优特电力、上海海得、爱邦电气、华力特设备、上海思源、国电南自、泰豪科技、汇港科技、金智科技、申瑞电力、如高高压、浪拜迪等
办公设备:上海理光、佳能、朗科、爱普生、华映裕美、恒泰实达、步步高等
汽车:北汽福田、一汽轿车、黄海汽车、柳州五菱、北京奔驰、上汽通用泛亚研发中心、上海通用、上汽通用五菱、长城汽车、中兴汽车、一汽解放、一汽夏利、长安汽车等
专用交通工具:南车集团、北车集团、中集集团、徐工集团、中联重工、成都飞机制造厂、三一重工、西子OTIS等
基础电子零部件:杭州士兰、重邮信科、歌尔电子、共济科技、信利电子、晶石集团、兴森快捷、华大电子、上海华虹、天碁科技、上海展讯、珠海炬力、凯明、上海贝岭、复旦微电子、北方微电子、威睿电通等
机电设备:京城控股、新杰克、北京机床、玉柴股份、北人股份、吉阳自动化、中山大洋、振华港机、松冈机电、三洋机电等
军工产品:长征火箭、航天科工、723所、29所、30所、10所、7所、618所等
仪器仪表:万讯自控、聚光科技、大族激光、中科科仪、浙大中控、恒力电子、普析通用、研详智能、安捷伦等
材料/制品/工具:金发科技、南玻集团、三鑫玻璃集团、俊尔新材料、新三思、长园新材、保时得、南海建泰等
医药/化工:先声药业、康缘药业、汇仁集团、华南药业、双鹤药业、威高集团、三九医药、太太药业、浙江现代中药与天然药研究所、默锐化学、石药集团、广州蓝月亮、立白集团、山东胜利油田等
运营商:中国网通、中国电信北京研究院/广州研究院、北京移动、广东移动、深圳移动、吉林移动、上海电信、武汉电信、广东联通、深圳联通、深大电话、天威视讯等
食品/饮料/烟酒: 中粮集团、新烟集团、河南中烟、深圳卷烟厂、罗莱家纺、广东太古可口可乐、青岛啤酒、健力宝集团、湖南亚华南山乳业、太阳神集团、箭牌公司、金丝猴、劲酒等
其他:好家庭、广东核电物业、深圳市邮政局等