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

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

  • Upload
    jeb

  • View
    218

  • Download
    0

Embed Size (px)

DESCRIPTION

软件项目管理 第 6 章 项目质量管理. Kerry Zhu [email protected] http://blog.csdn.net/Kerryzhu. 如何看待的项目的质量?. 实例. - PowerPoint PPT Presentation

Citation preview

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

第 6 章 项目质量管理

Kerry Zhu

[email protected]

http://blog.csdn.net/Kerryzhu

如何看待的项目的质量?

实例

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

冰山一角

真理

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

—— 威廉 · 戴明

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

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

质量管理

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

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 项目管理计划 ( 更新 )

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

质量管理概论

不同的质量管理方式:

病入膏肓

及早治疗 提前预防

6.1 质量管理概述

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

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

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

质量管理水平

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

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

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

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

质量管理的支持

质量管理

技术 方法

基础设施

基础设施

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

组织保证

管理层

测试组 SQA组SEPG组项目

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

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

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

6.3 质量计划

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

6.3.1 质量计划的内容

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

质量计划模板参照

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

6.3.2 质量计划制定的步骤

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

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

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

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

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

6.3.4 质量计划的实施和控制

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

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

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

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

6.6 质量度量

6.7 过程质量管理

6.4 软件评审方法和过程

6.4.1 软件评审的方法和技术

6.4.2 角色和责任

6.4.3 软件评审过程

6.4.4 如何有效地组织评审

软件评审

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

—— 卡尔 · 威格

6.4.1 软件评审的方法和技术

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

最不正式 最正式

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

6.4.2 角色和责任

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

主持人

作者

记录员

列席人员

内审员

技术专业人员

6.4.3 软件评审过程

评审注意事项

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

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

6.4.4 如何有效地组织评审

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

评审组织方法

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

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

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

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

6.7 过程质量管理

6.5 缺陷预防和跟踪分析

6.5.1 缺陷预防

6.5.2 缺陷分析

6.5.3 鱼骨图

6.5.1 缺陷预防

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

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

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

6.5.2 缺陷分析

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

趋势分析示例

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

分布分析示例

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

分布分析示例 2

P40, 5%

P30, 30%

P20, 50%

P10, 15%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

P40 P30 P20 P10

不同级别的缺陷分布图

6.5.3 鱼骨图

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

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

示例

工具—— XMind 2008 Pro

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

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

6.6 质量度量

6.6.1 度量要素

6.6.2 基于缺陷的质量度量

质量度量的作用

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

6.6.1 度量要素

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

6.6.2 基于缺陷的质量度量

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

KCSIFW

%100*)W+( FTP

T

W

W

KCSI

WTP FW+

第 6 章 项目质量管理

6.1 质量管理概述

6.2 项目质量的组织保证

6.3 质量计划

6.4 软件评审方法和过程

6.5 缺陷预防和跟踪分析

6.6 质量度量

6.7 过程质量管理

6.7 过程质量管理

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

6.7.1 过程质量度量

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

DIPF = Dn / Sp

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

100

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

100

缺陷到达模式

6.7.2 缺陷移除和预防

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

过程质量度量

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

CMM1

11.95

CMM2

5.52

CMM3

2.39

CMM4

0.92

CMM5

0.32

Q & A

http://blog.csdn.net/Kerryzhu