Top Banner
软软软软软软 软软软软软软 软6软 软软软软软软 Kerry Zhu [email protected] http:// blog.csdn.net/Kerryzhu
53

软件项目管理 第 6 章 项目质量管理

Jan 19, 2016

Download

Documents

JEB

软件项目管理 第 6 章 项目质量管理. Kerry Zhu [email protected] http://blog.csdn.net/Kerryzhu. 如何看待的项目的质量?. 实例. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 软件项目管理 第 6 章 项目质量管理

软件项目管理软件项目管理

第 6 章 项目质量管理

Kerry Zhu

[email protected]

http://blog.csdn.net/Kerryzhu

Page 2: 软件项目管理 第 6 章 项目质量管理

如何看待的项目的质量?

Page 3: 软件项目管理 第 6 章 项目质量管理

实例

曾经对一个国际性的软件公司作了一个调查,选择了由质量问题引起的 10项额外工作,即“开发人员修正缺陷、测试人员验证缺陷、返工、设计或代码完成后的需求变化、不清楚或无效的缺陷报告、代码完成后补充的测试用例、由于缺陷修复后所做的回归测试、测试环境设置错误、产品发布后遗漏的缺陷验证、为产品发布后遗漏的缺陷出补丁包等”,统计结果表明,由于质量问题造成的成本(劣质成本)竟高达 45.86%,差不多占开发总成本的一半。

Page 4: 软件项目管理 第 6 章 项目质量管理

冰山一角

Page 5: 软件项目管理 第 6 章 项目质量管理

真理

产品质量是生产出来的,不是检验出来的 。

—— 威廉 · 戴明

Page 6: 软件项目管理 第 6 章 项目质量管理

软件的质量管理贯穿了整个软件开发周期。不仅确保项目最终交付的产品满足质量要求,而

且要保证项目实施过程中阶段性成果的质量。正如 ISO8402 所规定和倡导的:“质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量策划、质量控制、质量保证和质量改进来使其实现的所有管理职能的全部活动。”

质量管理

Page 7: 软件项目管理 第 6 章 项目质量管理

项目质量管理项目质量管理项目质量管理

8.1 质量规划

.1 输入 .1 事业环境因素 .2 组织过程资产 .3 项目范围说明书 .4 项目管理计划

.2 工具和技术 .1 成本效益分析 .2 基准对照 .3 实验设计 .4 质量成本 .5 其他质量计划工具

.3 输出 .1 质量管理计划 .2 质量衡量指标 .3 质量检查表 .4 过程改进计划 .5 质量基准 .6 项目管理计划 ( 更新 )

8.2 执行质量保证

.1 输入 .1 质量管理计划 .2 质量测量指标 .3 过程改进计划 .4 工作绩效信息 .5 批准的变更请求 .6 质量控制度量 .7 实现的变更请求 .8 实现的纠正措施 .9 实现的缺陷修复 .10 实现的预防措施

.2 工具和技术 .1 质量计划工具和技术 .2 质量审计 .3 过程分析 .4 质量控制工具和技术

.3 输出 .1 请求的变更 .2 推荐的纠正措施 .3 组织过程资产 ( 更新 ) .4 项目管理计划 ( 更新 )

8.3 执行质量控制 .1 输入 .1 质量管理计划 .2 质量测量指标 .3 质量检查表 .4 组织过程资产 .5 工作绩效信息 .6 批准的变更请求 .7 可交付成果 .2 工具和技术 .1 因果图 .2 控制图 .3 流程图 .4 直方图 .5 帕雷托图 .6 趋势图 .7 散点图 .8 统计抽样 .9 检查 .10 缺陷修复审查 .3 输出.1 质量控制度量 .2 确认的缺陷修复.3 质量基准 ( 更新 ).4 推荐的纠正措施 .5 推荐的预防措施 .6 请求的变更 .7 推荐的缺陷修复 .8 组织过程资产 ( 更新 ).9 确认的可交付成果 .10 项目管理计划 ( 更新 )

Page 8: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

Page 9: 软件项目管理 第 6 章 项目质量管理

质量管理概论

不同的质量管理方式:

病入膏肓

及早治疗 提前预防

Page 10: 软件项目管理 第 6 章 项目质量管理

6.1 质量管理概述

软件质量控制 (SQC, Software Quality Control) 是科学地测量过程状态的基本的方法。就象汽车表盘上的仪器,可以了解行驶中的转速、速度、油量等。

软件质量保证 (SQA, Software Quality Assurance) 则是过程和程序的参考与指南的集合。就像汽车中的用户手册。

软件质量管理 (SQM, Software Quality Management) 才是操作的誓学,教你如何驾车,建立质量文化和管理思想。

Page 11: 软件项目管理 第 6 章 项目质量管理

质量管理水平

检查,通过检验保证产品的质量,符合规格的软件产品为合格品,不符合规格的产品为次品。相当于“软件测试 / 质量控制” ;

保证,质量目标通过软件开发部门来实现,制定质量计划,保证软件开发流程合理性、流畅性和稳定性。相当于初期的“质量保证” ;

预防,软件质量以预防为主,以过程管理为重,把质量的保证工作重点放在过程管理上、相当于成熟的“质量保证” ;

完美,以客户为中心,贯穿于软件开发生存期过程,全员参与,追求卓越,相当于“全面软件质量管理”。

Page 12: 软件项目管理 第 6 章 项目质量管理

质量管理的支持

质量管理

技术 方法

基础设施

Page 13: 软件项目管理 第 6 章 项目质量管理

基础设施

Page 14: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

Page 15: 软件项目管理 第 6 章 项目质量管理

组织保证

管理层

测试组 SQA组SEPG组项目

Page 16: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

Page 17: 软件项目管理 第 6 章 项目质量管理

6.3 质量计划

6.3.1 质量计划的内容6.3.2 质量计划制定的步骤6.3.3 如何制定有效的质量计划6.3.4 质量计划的实施和控制

Page 18: 软件项目管理 第 6 章 项目质量管理

6.3.1 质量计划的内容

目的和范围参考的文件列表质量目标质量的任务参与质量管理的相关人员及其责任对一些关键文档提出要求。重申适合项目的相关标准评审的流程和标准配置管理要求问题报告和处理系统采用的质量控制工具、技术和方法等质量

Page 19: 软件项目管理 第 6 章 项目质量管理

质量计划模板参照

项目概述 实施策略 项目组织 质量保证对象分析及选择 质量保证任务划分 实施计划 资源计划 记录的收集、维护与保存

Page 20: 软件项目管理 第 6 章 项目质量管理

6.3.2 质量计划制定的步骤

了解项目的基本概况,收集项目有关资料 确定项目的质量目标 确定围绕质量目标的工作任务 明确项目质量管理组织机构 制定项目质量控制程序 项目质量计划的评审

Page 21: 软件项目管理 第 6 章 项目质量管理

6.3.3 如何制定有效的质量计划

利益 / 成本分析。满足质量需求的主要的利益是减少重复性工作,效益与成本之比尽可能的大。

基准,为改进项目实施过程提供思路和可参考的标准。

流程图,包括数据流程图、工作流等 试验设计

Page 22: 软件项目管理 第 6 章 项目质量管理

6.3.4 质量计划的实施和控制

通过设置检查点、验证点,对阶段性成果进行评审或完成质量评估,以确定项目阶段性成果是否达到所设定的质量标准。

项目收尾阶段的质量控制是一个非常重要而又容易忽视的内容

Page 23: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

Page 24: 软件项目管理 第 6 章 项目质量管理

6.4 软件评审方法和过程

6.4.1 软件评审的方法和技术

6.4.2 角色和责任

6.4.3 软件评审过程

6.4.4 如何有效地组织评审

Page 25: 软件项目管理 第 6 章 项目质量管理

软件评审

不管你有没有发现他们,缺陷总是存在,问题只是你最终发现它们时,需要多少纠正成本。评审的投入把质量成本从昂贵的、后期返工转变为早期的缺陷发现。

—— 卡尔 · 威格

Page 26: 软件项目管理 第 6 章 项目质量管理

6.4.1 软件评审的方法和技术

临时评审( Ad hoc review ) 轮查( Passroud ) 走查( Walkthrough ) 审查( Inspection ) 检查表

最不正式 最正式

临时评审 轮查 走查 检查表 审查

Page 27: 软件项目管理 第 6 章 项目质量管理

6.4.2 角色和责任

小组组长读者记录者评审员审核者协调者

主持人

作者

记录员

列席人员

内审员

技术专业人员

Page 28: 软件项目管理 第 6 章 项目质量管理

6.4.3 软件评审过程

Page 29: 软件项目管理 第 6 章 项目质量管理

评审注意事项

明确自己的角色和责任;熟悉评审内容,为评审做好准备,做细做到位;关注问题,针对问题阐述观点,而不是对人;可以分别讨论主要的问题和次要的问题;在会议前或者会议后可以就存在的问题提出自己

的建设性的意见;提高沟通能力,采取适当的、灵活的表述方式;对发现的问题,要跟踪到底。

Page 30: 软件项目管理 第 6 章 项目质量管理

6.4.4 如何有效地组织评审

把握好流程和评审目标 认真、仔细地阅读评审材料,不断思考 善于提问 充分沟通一切围绕用户需求进行

Page 31: 软件项目管理 第 6 章 项目质量管理

评审组织方法

分层评审方法 (高层次、低层次)分类评审方法 (分业务需求、功能需求、非功

能需求、用户操作性需求等 )分阶段评审方法

Page 32: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析6.6 质量度量

6.7 过程质量管理

Page 33: 软件项目管理 第 6 章 项目质量管理

6.5 缺陷预防和跟踪分析

6.5.1 缺陷预防

6.5.2 缺陷分析

6.5.3 鱼骨图

Page 34: 软件项目管理 第 6 章 项目质量管理

6.5.1 缺陷预防

从流程上加强控制• 建立和规范工作流程• 过程改进

采用有效的工作方法• 代码评审• 单元测试

提高个人的技术水平• 自我学习和提高

Page 35: 软件项目管理 第 6 章 项目质量管理

6.5.2 缺陷分析

缺陷趋势分析 (实时、累积)缺陷分布分析 (如缺陷产生的原因、阶段、来源)

Page 36: 软件项目管理 第 6 章 项目质量管理

趋势分析示例

0

20

40

60

80

100

120

140

160

180

5-9

5-11

5-13

5-15

5-17

5-19

5-21

5-23

5-25

5-27

5-29

5-31 6-2

6-4

6-6

6-8

6-10

6-12

6-14

6-16

6-18

6-20

6-22

6-24

6-26

Total l ed NewBug Total l ed Fi xBug Total l ed Cl oseBug

Page 37: 软件项目管理 第 6 章 项目质量管理

分布分析示例

不同模块的缺陷分布图 不同阶段的缺陷分布图

Page 38: 软件项目管理 第 6 章 项目质量管理

分布分析示例 2

P40, 5%

P30, 30%

P20, 50%

P10, 15%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

P40 P30 P20 P10

不同级别的缺陷分布图

Page 39: 软件项目管理 第 6 章 项目质量管理

6.5.3 鱼骨图

可以更全面地探讨各种类别的原因鼓励通过自由讨论发挥大家的创造性 提供问题与各类原因之间关系的直观表示

因果分析图,分析影响事物质量形成的诸要素间因果关系

Page 40: 软件项目管理 第 6 章 项目质量管理

示例

Page 41: 软件项目管理 第 6 章 项目质量管理

工具—— XMind 2008 Pro

Page 42: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量6.7 过程质量管理

Page 43: 软件项目管理 第 6 章 项目质量管理

6.6 质量度量

6.6.1 度量要素

6.6.2 基于缺陷的质量度量

Page 44: 软件项目管理 第 6 章 项目质量管理

质量度量的作用

1. 有效的沟通和改进可见性。 2. 尽早的发现和更正问题。 3. 作出关键的权衡。 4. 跟踪特定的项目目标。 5. 管理风险。 6. 有助于决策。 7. 计划未来的项目。

Page 45: 软件项目管理 第 6 章 项目质量管理

6.6.1 度量要素

项目度量、产品度量和过程度量 数据、图表和模型

Page 46: 软件项目管理 第 6 章 项目质量管理

6.6.2 基于缺陷的质量度量

代码质量 产品质量 测试效率

KCSIFW

%100*)W+( FTP

T

W

W

KCSI

WTP FW+

Page 47: 软件项目管理 第 6 章 项目质量管理

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

Page 48: 软件项目管理 第 6 章 项目质量管理

6.7 过程质量管理

6.7.1 过程质量度量6.7.2 缺陷移除和预防

Page 49: 软件项目管理 第 6 章 项目质量管理

6.7.1 过程质量度量

过程缺陷密度 整体缺陷清除率 阶段性缺陷清除率 缺陷到达模式

DIPF = Dn / Sp

%产品中潜伏的缺陷数开发阶段清除的缺陷数

100

%过程中注入的缺陷数陷数+(该阶段)开发该阶段入口处存在的缺)排除的缺陷数(该阶段

100

Page 50: 软件项目管理 第 6 章 项目质量管理

缺陷到达模式

Page 51: 软件项目管理 第 6 章 项目质量管理

6.7.2 缺陷移除和预防

经常查看缺陷数据并更新缺陷检查表 数据记录和分析 有效的设计 更完善彻底的设计

Page 52: 软件项目管理 第 6 章 项目质量管理

过程质量度量

缺陷发现率 —— bug/KLOCKLOC 是指千行代码,而bug/KLOC 的意思是每千行代码平均产生的缺陷数量 。

CMM1

11.95

CMM2

5.52

CMM3

2.39

CMM4

0.92

CMM5

0.32

Page 53: 软件项目管理 第 6 章 项目质量管理

Q & A

http://blog.csdn.net/Kerryzhu