本书介绍怎样用六西格玛的概念和工具来改进系统开发过程。书中内容包括:利用案例研究,清晰而简明地说明六西格玛的概念及应用,将六西格玛的概念和工具映射到系统开发的各个方面:传统的瀑布模型、快速应用开发、遗留系统的支持、打包软件的实现以及外包等,还介绍了如何利用六西格玛工具评估和改进IT部门整体性能。
译者序
前言
第一部分 六西格玛介绍
第1章 六西格玛透视
1.1 定义六西格玛
1.2 将六西格玛用于系统开发
第2章 六西格玛的差别
2.1 六西格玛与质量保证
2.2 六西格玛和CMM
第3章 应对改进
3.1 改进对人的影响
3.2 成功改进的万分
第二部分 六西格玛基础
第4章 DMAIC介绍
第5章 定义阶段
5.1 项目主办人
5.2 思维过程图
5.3 提炼项目范围
5.4 第二次会议
5.5 过程图的类型
5.6 顶层图
5.7 详细过程图
5.8 功能过程图
第6章 度量阶段
6.1 步骤1: 确定要度量什么
6.2 步骤2: 实施度量
6.3 步骤3: 计算当前西格玛级别
6.4 步骤4: 确定过程的能力
6.5 步骤5: 给过程领导定基准
第7章 分析阶段
7.1 步骤1: 确定引起偏差的原因
7.2 步骤2: 集体讨论过程改进的思路
7.3 步骤3: 确定哪些改进对满足客户需求
7.4 步骤4: 开发建议的过程图
7.5 步骤5: 评估同修改的过程相关的风险
第8章 改进阶段
8.1 步骤1: 建议的改进获得批准
8.2 步骤2: 确定最终实施计划
8.3 步骤3: 实现批准的改进
第9章 控制阶段
9.1 步骤1: 建立关键度量标准
9.2 步骤2: 建立控制策略
9.3 步骤3: 庆祝并通报成功
9.4 步骤4: 实施控制计划
9.5 步骤5: 度量并沟通改进内容
第三部分 六西格玛与传统SDLC
第10章 传统SDLC的介绍
10.1 传统SDLC的优点
10.2 SDLC的缺点
10.3 六西格玛能带来什么帮助
第11章 项目启动
11.1 步骤1: 确定问题
11.2 步骤2: 组织项目组
11.3 步骤3: 确定初步需求
11.4 步骤4: 确认需求
11.5 步骤5: 进行可行性研究
11.6 步骤6: 获得项目批准
第12章 系统分析
12.1 步骤1: 了解当前的过程
12.2 步骤2: 确定需求
12.3 区分需求的优先次序
12.4 步骤4: 确定可能的过程改进
12.5 步骤5: 确定对最高优先级需求具有最大影响的改进
12.6 步骤6: 建立详细的“将是”过程图
12.7 步骤7: 估计建议过程改进的影响和风险
12.8 步骤8: 完成概念设计
12.9 步骤9: 完成需求规格说明文档
12.10 步骤10: 获得批准
第13章 系统设计
13.1 功能设计
13.2 技术设计
13.3 程序设计
第14章 构造
第15章 测试和质量保证
15.1 测试计划
15.2 单元测试
15.3 系统测试
15.4 集成测试
15.5 压力测试
15.6 验收测试
15.7 测试的六西格玛工具
第16章 实现
16.1 客户培训
16.2 用户文档
16.3 数据转换
16.4 项目评价
第四部分 六西格玛和旧有系统
第17章 旧有系统介绍
第18章 IT部门中的改进管理
18.1 步骤1: 了解和记录过程
18.2 步骤2: 定义成功
18.3 步骤3: 确定和降低风险
18.4 步骤4: 保证过程得以执行
第19章 系统维护和支持
19.1 维护的分类
19.2 六西格玛和系统支持
19.3 指导委员会
19.4 服务等级协议
19.5 客户满意度调查
19.6 保证成功的维护
第五部分 将六西格玛引入其他开发方法
第20章 快速应用开发
20.1 选择参与者
20.2 服务商的任务
20.3 寻找最佳会议地点
第21章 原型和螺旋开发
21.1 原型法
21.2 螺旋或迭代开发方法
21.3 阶段交付
第22章 客户机/服务器和基于Web的系统
第六部分 六西格玛与打包软件的实现
第23章 选择打包软件
23.1 利用六西格玛增加成功的可能性
23.2 选择过程
23.3 步骤1: 确定需求
23.4 步骤2: 区分需求的优先次序
23.5 步骤3: 开列一个潜在的供应商列表
23.6 步骤4: 获得产品信息
23.7 步骤5: 进行初步的评价
23.8 步骤6: 进行初步的产品演示
23.9 步骤7: 对缩减了的候选供应商进行详细评价
23.10 步骤8: 确定产品与需求之间的差距
23.11 步骤9: 选择最终的供应商
23.12 步骤10: 协商合同
第24章 实现打包软件
24.1 预先理顺客户部门
24.2 安装和实现软件
24.3 步骤1: 传达决定和项目安排
24.4 步骤2: 安装和测试未修改的软件
24.5 步骤3: 修改基础软件并重新测试
24.6 步骤4: 建立与已有系统的接口
24.7 步骤5: 制定数据转换程序或过程
24.8 步骤6: 建立和进行客户培训
24.9 步骤7: 实际运行
24.10 步骤8: 评价结果
第七部分 六西格玛和外包
第25章 外包介绍
25.1 外包决策
25.2 外包的理由
25.3 外包的潜在缺点
25.4 成功的策略
25.5 选择合适的提供商
25.6 起草详尽的合同
25.7 建立有效的SOW和SLA
25.8 承诺成功
第26章 有效的外包
26.1 定制系统开发
26.2 打包软件实现
26.3 系统维护
26.4 帮助台
26.5 数据中心运转
第八部分 六西格玛IT部门
第27章 改进IT
27.1 定义
27.2 度量
27.3 分析
27.4 改进
27.5 控制
27.6 总结
第九部分 附录
附录A 项目纲要
附录B 功能过程图
附录C 过程改进分级电子表格
附录D 故障方式及影响分析
附录E 度量标准可靠性评估电子表格
附录F 缩略词表
附录G 参考资料
缺陷少速度快可靠度高的过程;增加客户满意度;取得更大效益。这是许多公司引入六西格玛(Six Sigma)计划的动机。虽然许多信息技术(IT)部门具有相同的目标, 但它们并不使用六西格玛技术。为什么呢?
虽然可以列举许多理由,但这些理由不外乎两类:
◆ 怀疑论。如以下的说法: “它在这里不起作用”, 此说法的基础是认为六西格玛只适合于制造过程或工程过程,如果整个公司自身没有构成一个六西格玛组织,在某个部门中实行六西格玛技术是不切实际的。
◆ 缺乏了解。虽然商业出版物宣传六西格玛在诸如摩托罗拉、通用电气这样的公司里取得了成功,但许多IT管理人员并不熟悉六西格玛的概念和工具,这些管理人员对怎样将这些工具用于改进系统开发过程缺乏了解。本书的目的是破除六西格玛的神秘性,说明怎样用六西格玛的概念和工具来改善系统开发过程。本书提供以下内容:
◆ 利用一个案例研究,清晰地说明六西格玛的概念及应用。
◆ 将六西格玛的概念和工具映射到系统开发的各个方面:传统的瀑布模型、快速应用开发、遗留(旧有)系统的支持、打包软件的实现以及外包等。
◆ 利用六西格玛工具评估和改进IT部门整体性能的建议。
本书正文共分八个部分,第一部分说明六西格玛的基本概念,把这些概念与传统的质量保证及软件工程研究所的能力成熟度模型的相应概念进行比较,并且, 因为改进是六西格玛的一部分,所以本书还回顾了改进的动力以及成功改进的成分。
六西格玛是一个过程,通过它改进其他过程。与大多数复杂的过程一样, 它也划分为阶段,即建立所谓的DMAIC模型,这里的DMAIC模型为五个阶段的缩略词, 这五个阶段分别是:定义、度量、分析、改进、控制。第二部分用一个虚构的GlobalWidget公司及其订单登记过程的案例研究,说明DMAIC模型以及各阶段相关的工具和技术。
第三部分简述传统的“瀑布”系统开发方法或生命周期 (SDLC)方法, 说明六西格玛的工具怎样提高成功开发系统的可能性。
虽然传统的SDLC在系统实现后结束,但第四部分描述了对遗留系统的支持(这一般称为维护),介绍了帮助促进以客户为中心并保证基于事实做出决策的指导委员会及服务等级协议的概念。
针对传统瀑布SDLC的缺陷,IT业建立了许多不同的开发系统的方法,著名的有快速应用开发(RAD)、原型法、螺旋法或迭代开发等。第五部分概述了这些方法以及增强它们的六西格玛工具, 同时还介绍了伴随客户机朋艮务器和基于Web的项目的技术挑战,介绍了有助于识别和减少这些技术中固有偏差的度量和分析工具。
对传统SDLC的冗长的交付时间表的另一个解决方案是打包软件的实现,有时称为商用成品 (COTS)解决方案。恰当的COTS解决方案有助于IT达到 “更好、更快、更便宜”的系统交付,虽然这一点毫无疑问,但不可否认的是选择不正确的软件包可能是一种昂贵的错误。第六部分概述了软件包选择和实现所涉及的步骤,说明怎样利用六西格玛工具参与基于事实的决策。
外包也可能减少成本,缩短交付周期,但与取得不正确的软件一样,选择错误的外包提供商对IT部门和其客户也是灾难性的。第七部分对外包做了介绍,说明外包和员工力量增加之间的区别,还给出了成功外包的策略,其中包括在决定外包什么内容时使用的准则以及选择提供商时使用的准则。
前几部分主要将精力放在利用六西格玛工具改进IT部门内的功能上,而第八部分则将整个IT活动作为一个单一的过程来对待,介绍怎样利用六西格玛工具和概念来改进这个过程,并建立一个自始至终使客户满意的近平无缺陷的部门。