|
内 容 简 介
本书为两类人而写:认为软件不可度量的人;已开始度量软件,又不知如何利用数据的人。书中描述软件度量,并给出许多运用数据的例子,强调运用统计过程控制方法来理解过程行为,以促进软件过程的稳定性、可预见性。本书从提供一个度量和分析过程行为为框架开始,逐步介绍度量理由、度量计划和数据采集,然后处理数据分析和已有的数据分析方法,接着讨论如何运用这些数据来改进软件过程。最后一章尤为有用,回答了许多在开始应用统计过程控制方法和技术时很可能出现的问题。
本书可供软件开发人员及其过程管理人员使用,也可作为高校软件学院的教学参考书。
前 言
对于遇到麻烦的人们来说,最有效的解决问题的指导思想是:身在困境时,先别急于求成,而是好好想想究竟是怎么一回事,并努力去了解清楚造成麻烦的原因。要知道,软件产业很久以来就存在着严重的问题,这些问题是不会自动解决的。然而,通常有效的方法是运行一些改进的程序,可是这样的程序很快又在细节上陷入困境,要么是专注于出错的问题,要么就是困在同一个解法上徘徊不前。此时,正是需要用一种客观的方法来观察问题,需要数据的时候。 本书为两类人而写:一类是认为软件不可度量的人;另一类是已开始度量软件过程,但不知道如何利用一些数据。两类人中的任何一类,都可能遇到两种问题。首先是,无法制订精确的计划;其次是,无法确定造成公司的主要问题的原因。这不仅难于开发出优秀软件,而且也限制了依次地进行改进的能力。许多人都了解数据极为有用。比如,开车不可能没有油量指示器。当人们收到不寻常的大额水电费或者电话费账单时,是通过看附在账单上的数据弄明白为什么账单的数额如此之大。于是,人们解决问题的方法可能是在星期天下午不再打许多长途电话,或者在晚上关掉温度调节装置以减少能耗。但是不知何故,大多数软件人员从来不使用数据来指导他们的工作。甚至那些认同数据重要的专家也常常不知度量什么,或者即便有了数据也不知如何使用。在一个组织里,执行总裁(CEO)以该公司基于事实决策的传统为荣。他们的确用这样的方法管理生产,并且在质量和产量方面获得了信誉。所以管理人员很自然地决定用同样的原理来管理软件的开发。公司总部发出训令:"今后,公司所有的软件组都将启用度量程序。"当我参观这个组时,该训令已经下达几年了,软件人员已经积累了堆积如山的数据。而这些数据都被记录在一个巨大的数据库中,据我所知,没有人曾经用过这些数据。他们拥有一个称之为只写数据的数据库。
本书将帮助着手解决这些问题。书中描述了许多有用的软件度量,并给出许多充分设计的、关于如何运用采集数据的例子。该书强调运用统计过程控制方法来理解过程行为,以促进软件过程的稳定性、可预见性和其改进。
本书从提供一个度量和分析过程行为的框架开始,逐步介绍度量理由、度量计划和数据采集,然后处理数据分析和已有的数据分析方法,接着讨论如何运用这些数据来改进软件过程。本书的最后一章尤为有用,因为它回答了许多在开始应用统计过程控制方法和技术时很可能提出的问题。本书易于阅读,几小时内就可读完。虽然有几个公式,但都不复杂,并解释得十分清楚,还有许多设计完整的例子。实践级软件过程目前在许多公司正处于考虑使用统计过程控制的关键时刻。如果在这样的组织中工作,或者期待如此去做,这本书正是所需要的。Watts S. Humphrey
1999年3月1日
Sarasota, Florida
目 录
第1章管理与度量过程行为
1.1什么是软件过程3
1.2什么是软件过程管理4
1.3软件过程管理的任务4
1.3.1定义过程5
1.3.2度量过程6
1.3.3控制过程6
1.3.4改进过程6
1.4关于过程改进的方法问题7
1.5对软件过程度量的需求8
1.6度量过程行为9
1.7一个过程行为度量的框架11
1.8总结11
第2章度量计划
2.1确定过程管理问题15
2.1.1标识过程问题的步骤15
2.1.2思维模型的作用16
2.1.3公共过程问题18
2.2选择和定义度量19
2.2.1选择过程性能度量20
2.2.2定义过程性能度量24
2.2.3可操作的定义25
2.2.4可操作的定义的示例26
2.2.5创建自己的定义框架29
2.3度量活动与软件过程的集成29
2.3.1现有度量活动的分析29
2.3.2现有度量的诊断30
2.3.3度量集成的活动30
2.3.4定义度量过程的任务31
2.3.5活动计划32
2.4总结33
第3章采集数据
3.1主要任务35
3.2采集软件过程数据的细节37
3.3检查和评估采集的数据40
3.3.1标准1:真实性40
3.3.2标准2:同步性41
3.3.3标准3:一致性41
3.3.4标准4:有效性41
3.4保存数据42
3.4.1数据库管理问题42
3.4.2其它的数据库管理问题43
3.5理解数据的工具44
3.5.1散点图46
3.5.2趋势图46
3.5.3因果图48
3.5.4直方图50
3.5.5条形图50
3.5.6佩尔托排列图51
3.6总结52
第4章分析过程行为
4.1从噪音中分离信号55
4.1.1分析过程数据55
4.1.2过程性能变化56
4.2评价过程稳定性59
4.2.1稳定性的重要性59
4.2.2稳定性概念和原则59
4.2.3稳定性的测试60
4.3控制图基础要素64
4.3.1控制图的结构64
4.3.2变量数据和属性数据的区别65
4.3.3检测不稳定性和失控的情况66
4.3.4稳定性调查过程68
4.4总结69
第5章软件过程的过程行为图
5.1用于变量或离散数据的控制图71
5.1.1X图和R图72
5.1.2选择小组和合理分组75
5.1.3X图和S图76
514连续数据的单点值和移动值域(XmR)图78
5.1.5离散数据的单点值和移动值域(XmR)图83
5.1.6频率直方图和自然过程界限概念85
5.1.7单点值和中值移动值域图86
5.1.8移动平均值和移动值域图88
5.2属性数据的控制图91
5.2.1分布模型及其与控制图类型的关系92
5.2.2c图和u图93
5.2.3Z图99
5.2.4属性数据的XmR图99
5.3总结102
第6章过程行为图的进一步讨论
6.1需要多少数据103
6.1.1用有限的数据构造控制图103
6.1.2修订及更新控制限值105
6.1.3统计控制的测试与维持106
6.2异常过程行为模式108
6.2.1周期108
6.2.2趋势108
6.2.3在级中迅速转变109
6.2.4不稳定的混合体110
6.2.5成群或成组模式111
6.2.6分层111
6.3合理采样以及分组的单一性112
6.4合理分组113
6.5记录值粒度不足问题120
6.6过程性能数据的聚合与分解122
6.7小结125
第7章过程改进的三种途径
7.1发现和纠正可归属的原因129
7.1.1平均值或X图129
7.1.2R图130
7.1.3属性图130
7.1.4单点值图130
7.1.5不遵从过程定义是一种可归属的原因131
7.1.6映射信号及异常模式为可归属的原因132
7.1.7确定可归属的原因的方法133
72过程能力144
721什么是过程能力144
722什么是一个有能力的过程145
73过程能力分析147
731能力直方图147
732规格说明容限148
7.3.3部分不一致151
7.3.4能力指示数151
7.3.5世界级的质量151
7.4改进过程153
7.4.1过程性能问题的认可153
7.4.2过程性能变量的选择154
7.4.3公共原因实体和属性的变化154
7.4.4示范过程的选择155
7.4.5改进后的过程的执行155
7.4.6数据分析156
7.4.7结论与建议156
7.5改进与投资162
7.6小结164
第8章开始工作
8.1入门指南的10个步骤167
82有关SPC的常见问题168
8.2.1有这么多种控制图,哪一种与软件问题相关而且可应用于软件问题168
8.2.2能用有限的软件数据构造控制图吗?需要多少数据才够169
8.2.3为什么3σ就足够了169
8.2.4应用SPC技术需要一个组织具有高成熟度吗170
8.2.5能获得软件数据的相似性吗170
8.2.6可以在软件过程的何处应用SPC170
8.2.7用控制图来评价人员有风险吗172
8.2.8列举研究和分析研究之间的区别和意义172
结束语174
附录A控制图表和公式175
附录B关于分析过程行为的更多内容179
附录C数据和计算的示例188
参考文献192
名词术语中英对照197 |
|