软件过程与管理复习(九)
目录
第9章 软件过程的评估和改进
9.1 过程模型的剪裁
9.1.1 软件开发组织的类型
9.1.2 CMMI表示方法
9.1.3 模型剪裁的用途
9.1.4 连续式表示模型的剪裁
9.2 软件过程度量
9.2.1 过程度量的内容
9.2.2 过程度量的流程
9.2.3 过程度量的方法
9.2.4 过程度量技术
9.2.5 过程能力度量
9.2.6 软件过程生产率的度量
9.3 过程评估参考模型
9.3.1 ISO/IEC 15504评估模型
9.3.2 Bootstrap评估模型
9.3.3 Trillium评估模型
9.3.4 CMM/CMMI的评估体系
9.4 过程评估
9.4.1 软件过程评估的目标和期望
9.4.2 软件过程评估的内容和范围
9.4.3 软件过程评估的方式和类型
9.4.4 软件过程评估的方法
9.5 过程改进的模型和方法
9.5.1质量改进范例
9.5.2 过程改进的 IDEAL模型
9.5.3 过程改进的 Raytheon方法
9.5.4 过程改进的 6 Sigma方法
9.6 组织和技术革新
9.7 软件过程改进的实施
9.7.1 过程改进的原则和策略
9.7.2 过程改进的组织支持
9.7.3 过程改进计划
9.7.4 过程改进的具体实施步骤
9.7.5 软件过程改进的自动化实现
第9章 软件过程的评估和改进
9.1 过程模型的剪裁
9.1.1 软件开发组织的类型
- 组织独立承担某项新产品的全程开发和维护,开发过程不受外部因素影响。
- 组织完成所开发的软件产品的主体部分,但要将次要部分交给第三者完成或集成第三方的软件产品。
- 组织缺乏独立完成软件产品开发的能力,从软件承包商接受软件产品开发的子项目,接受指导下完成项目。
9.1.2 CMMI表示方法
9.1.3 模型剪裁的用途
对过程模型的剪裁,其基本用途不外乎为两类:
- 将剪裁模型用于内部过程改进。
- 将剪裁模型用于建立评估基线。
有的组织将剪裁模型用于两者,既用于过程改进,也用于建立评估基线。
9.1.4 连续式表示模型的剪裁
- 模型的剪裁应侧重于那些支持核心业务目标的过程域和实践。
- 作为基础的过程域和实践\应该要保留下来,不能舍弃。
- 过程改进是一种自主行为,所以过程改进的模型剪裁基本可以由组织自行确定,相对灵活。
- 一个组织或项目,从单个过程域或有限的几个过程域实施评估和改进,可以获得过程能力的提高,虽然其提高的程度要低于全面实施整个模型的结果,因为我们知道,各个过程域之间是相辅相成的。
- 从执行评估的角度看,模型剪裁的程度将直接影响评估结果的可比较程度,所以,一般要求使用相对稳定的几个剪裁版本。
9.2 软件过程度量
9.2.1 过程度量的内容
软件过程能力度量
需求管理和需求开发能力;技术解决能力、因果分析能力和决策分析能力;项目计划能力、项目监督和控制能力、合同管理能力和集成化项目管理能力;质量管理能力、配置管理能力和风险管理能力;组织级过程定义能力、组织级培训能力、组织级改革能力和产品集成能力。
软件过程性能的度量
过程效率和质量度量的结合
9.2.2 过程度量的流程
9.2.3 过程度量的方法
建立软件开发过程度量的基线,然后将获得的实际测量值与基线进行比较分析,例如获得度量值的平均值和分布情况,平均值反映了组织的整体水平或程度,而分布情况反映了组织的过程能力和执行的稳定性
9.2.4 过程度量技术
1.分析性技术: 量化证据以确定什么地方需要改进和改进工作是否成功
- 对比实验研究。
- 模拟实验研究。
- 过程定义评审。
- 正交缺陷分类。
- 根本原因分析。
- 统计过程控制。
- 个体软件过程。
2.基准技术
9.2.5 过程能力度量
过程能力的度量,3个参数:
- Cp指数—— 过程变更程度指数。
- K指数—— 过程均值和制定值的吻合程度。
- Cpk指数—— 过程能力的综合指数。
Cp = σ/ P
k = (M1 - M2) / (σ/2)
Cpk = (1-k) x Cp
- Cpk<1 过程没有达到执行能力的最低标准。
- Cpk =1 过程恰好达到最低要求。
- Cpk >1 过程超过了预定的最低标准。
Cp值 vs.σ值、k值 vs. 准确性
Cp |
σ |
概率 |
K 值范围 |
准确性 |
1.00 1.33 1.50 1.67 1.83 2.00 |
3.0 4.0 4.5 5.0 5.5 6.0 |
99.73 99.9937 99.9999943 99.9999998 |
k≤0.125 0.125<k≤0.250 0.250<k≤0.500 0.500<k≤0.750 k>0.750 |
优秀 良好 一般 较差 很差 |
9.2.6 软件过程生产率的度量
在现有人员的能力和历史数据分析基础之上,来测量人员的生产力水平,包括软件开发过程整体生产率(成本核算模型)、软件编程效率和软件测试效率等,例如每人日代码行、每人月功能点、每人年类数或每个类平均人天数等。
9.3 过程评估参考模型
9.3.1 ISO/IEC 15504评估模型
15504评估方法
- 过程尺度,最基础的可度量的过程目标,也可用于标识过程成功与否的预期结果。
- 过程能力尺度,是具有一系列过程属性、对任何过程的适用性、管理过程和提高过程能力时所必需的可度量特征。
- 能力确定模式,帮助评估并确定一个潜在软件供应商的能力。
- 过程改进模式,帮助提高软件开发过程的水平。
- 自我评估模式,帮助判断是否有能力承接新项目的开发。
15504评估等级
级别 (详见表9-2) |
第0级,不完善的过程 |
第1级,已实施的过程 |
第2级,已管理的(已计划和已跟踪的)过程 |
第3级,已建立的过程 |
第4级,可预测的过程 |
第5级,优化的过程 |
9.3.2 Bootstrap评估模型
- 它是过程改进的先决条件,用以判断软件过程的当前实施情况并且对改进的方法加以约束。 Bootstrap方法是欧洲共同体项目(ESPRIT项目5441)产生的结果
- Bootstrap过程体系由过程分类、过程领域、过程和最佳实践组成。过程域由出多个过程类别组成,涵盖组织、方法和技术等3个领域,每个过程最终分解为活动和基本实践。
- 也分为两个层次——组织和项目
- 采用CMM的5个成熟度等级作为自己的能力等级,但是它们之间存在一些差异
9.3.3 Trillium评估模型
Trillium模型是由电信公司联盟基于CMM1.1版本、考虑了电信业的特殊需求而开发的,其目标是提供指导持续改进计划的方法,呈现大量的工业实践以帮助改进现有的软件过程和生命周期,即作为在竞争性商业环境中改进组织能力的指南。
- 依照行业内最佳实践,建立组织的产品开发和支持进程能力的基准。
- 作为自我评估模型,帮助软件组织在产品开发过程中识别改进的机会。
- 在合同的谈判阶段,帮助选择供应商。
1.没有系统化。
2.可重复和面向项目的。
3.已定义的和面向过程的。
4.已管理和一体化的。
5.合成整体
9.3.4 CMM/CMMI的评估体系
1.基于CMM的内部过程改进评估
2.基于CMM的软件能力评估
3.SCAMPI评估方法
4.组织过程的预评估
9.4 过程评估
9.4.1 软件过程评估的目标和期望
软件过程评估的目的是对当前组织内部所运行的软件过程能力和性能等状态进行准确的、客观的描述,试图发现当前过程实施的特点,标识出其中的强项与弱项,使将来发挥强项、克服弱项,更好地控制过程、改进过程,避免在质量、成本以及进度方面出现重大的问题。
- 能充分和各个层面、各个方面的人员沟通,获得全面的、第一手数据,确保可靠的、准确的评估结果。
- 评估的结果被应用于过程改进,或有助于第3方组织对本组织的认可。
评估输入和输出
输入
- 评估发起方、被评估组织单位及其之间的关系。
- 过程评估的背景、目的。
- 评估参考模型范围以及模型对应的表示。
- 评估约束、评估小组构成和收集的任何附加信息。
输出
- 评估最终报告:每个被评估过程域的强项和弱项的文字陈述;
- 对相应评估对象的定级描述。
- 是否达到评估输出的决定,可能要求附加的定级输出来作为评估的结果。
- 基于评估结果,采取行动的建议或过程改进活动计
9.4.2 软件过程评估的内容和范围
- 软件需求获取、分析、开发、变更控制和管理等能力
- 项目计划能力
- 项目监督和控制能力
- 合同管理能力
- 软件度量能力
- 软件质量保证和管理流程、手段和方法等
- 技术开发、革新,产品的定义、设计、实现
- 产品集成,项目集成管理
- 配置管理、维护
- 风险识别、控制和管理
- 原因分析、决策、问题解决的能力
- 组织变革,改进过程,建立组织商业目标
- 组织培训的计划和实施能力
9.4.3 软件过程评估的方式和类型
评估方式
- 自我评估是指由软件开发组织内部进行的评估,主要是由成员个人进行的评估行为。
- 第三方评估,也称为能力检测。
- 综合方式。
评估类型
- A类评估。全面综合的评估方法,要求全面覆盖评估中所使用的模型。
- B类评估。评估范围缩小,集中于需要关注的过程域。
- C类评估,也称为快估。主要是检查特定的风险域,找出过程中的问题所在。
CMMI 3种评估类型的对比
特征 |
A类 |
B类 |
C类 |
用途模式 |
全面综合的评估方法。 组织的成熟度等级的评定。 |
自我评估。 范围小,集中于关注的过程域。 |
快估。 检查特定的风险域 |
优点 |
覆盖全面、结果客观,能整体把握组织过程能力和清楚过程中的优势和弱势,评定等级。 |
发现过程问题并启动组织的过程改进,提高过程洞察力,风险小。 |
投入小、反馈及时、见效快。 |
缺点 |
投入大、资源需求很多、风险大。 |
严格性和规范性低、不够全面,不能评定等级。 |
深度和广度都不够,结果可信度低。 |
评估发起人 |
组织的最高管理层。 |
过程改进组织或质量管理部门。 |
任何组织内部的经理。 |
评估组组成 |
内部和外部人员。 |
内部或外部人员。 |
|
评估组规模 |
4 ~ 10人+评估组长。 |
2 ~ 6人+评估组长。 |
1 ~ 3人+评估组长。 |
评估组资格 |
有经验。 |
有适当经验。 |
|
对评估组长的要求 |
主评估师。 |
主评估师或受过专业过程评估培训的人员。 |
有过程评估经验的人员 |
9.4.4 软件过程评估的方法
1.评估方法准则
2.选择评估时机
3.评估步骤
4.软件过程评估注意的要点
9.5 过程改进的模型和方法
9.5.1质量改进范例
9.5.2 过程改进的 IDEAL模型
IDEAL模型的两维结构
9.5.3 过程改进的 Raytheon方法
9.5.4 过程改进的 6 Sigma方法
阶段 |
活动要点 |
常用工具和技术 |
|
定义 |
项目启动、确定CTQ。 |
QFD,FMEA 流程图,亲和图。 |
头脑风暴法,树图 排列图,CT 分解 |
测量 |
测量输出、确定项目基线。 |
运行图,分层法 FMEA,散布图,直方图 |
测量系统分析,过程能力分析 水平对比法,抽样计划 |
分析 |
确定关键影响因素。 |
散布图,因果图 多变量图 |
假设检验,回归分析 方差分析,抽样计划 |
改进 |
设计并验证改进方案。 |
FMEA,试验设计 田口方法 |
响应面法,过程仿真 过程能力分析 |
控制 |
保持成果。 |
控制计划,SPC控制图 标准操作SOP |
防错方法,目标管理 |
DMADV方法
9.6 组织和技术革新
1.组织和技术革新的理念和原则
2.组织和技术革新的计划
3.先导性试验的重要性
4.组织和技术革新所需要的环境和支持
5.组织和技术革新的工具
6.概念培训和专题培训
7.组织和技术革新的实施步骤
8.技术革新关联的全过程活动
9.7 软件过程改进的实施
9.7.1 过程改进的原则和策略
组织过程改进实施的原则可以概括为以下8点。
- 软件过程改进的组织应设定切实可行的目标。
- 过程改进是一个持续进行的活动,而不是一次性的活动。
- 软件过程改进需要得到组织管理层足够的支持。
- 软件过程改进不只是单个组织单元)的事,而应包括软件开发过程涉及的所有团队和成员。
- 过程改进活动应被视为一个一个的项目,从而获得必要的预算和资源。
- 坚持适当的监控机制。
- 过程改进的成功与否取决于过程实施效果。
- 对改进活动的过程进行监控,鼓励创新,及时获得反馈,及时进行纠正或调整。
过程改进的策略
1.自顶向下与自底向上相结合
2.循序渐进、持续改进
3.文化变革先行
4.内外结合,以内为主
5. 切合实际、区别对待
6. 充分利用管理工具
9.7.2 过程改进的组织支持
- 管理指导委员会(MSC)
- 软件工程过程组(SEPG)
- 软件质量保证组(Software Quality Assurance Group,SQAG)
- 软件配置管理组(Software Configuration Management Group,SCMG)
- 技术工作组(TWG)和过程行动组(PAG)
9.7.3 过程改进计划
除了设定软件改进目标之外,还应包括SPI的领域、方法和策略等,并综合下列因素:
- 基础设施能够满足需求,及时提供资源。
- 对过程改进工作的方向、范围和进度提供建议。
- 如何识别SPI程序推进过程中的障碍和风险。
- 如何维持SPI程序实施的可视性。
- 如何鼓励信息共享或提供信息共享的方便快捷的渠道。
- 如何抓住和保存过程改进中的经验、教训,并改善计划本身
9.7.4 过程改进的具体实施步骤
- 过程改进组织的建立
- 确定目标
- 评估状态
- 制定计划
- 制定规范
- 过程试点
- 实施监控
- 反馈修正
- 过程改进成果推广
9.7.5 软件过程改进的自动化实现
TOSSP软件过程系统的内容和层次结构
软件过程与管理复习(九)相关推荐
- 软件过程与管理复习(三)
目录 第3章 软件过程的组织管理 3.1 组织过程焦点 3.1.1 组织过程焦点的基础 3.1.2 组织过程焦点的活动 3.1.3 组织过程焦点的评估 3.2 组织过程定义 3.2.1 软件过程定义基 ...
- 软件过程与管理复习(一)
目录 第1章 软件过程规范 1.1 过程的定义 1.1.1 过程的定义 1.1.2 软件过程的分类和组成 1.1.3 软件过程定义的层次性 1.2 过程规范 1.2.1 什么是过程规范 1.2.2 过 ...
- 线程管理(九)使用本地线程变量
声明:本文是< Java 7 Concurrency Cookbook >的第一章, 作者: Javier Fernández González 译者:郑玉婷 校对:方腾飞 使用本地线程变 ...
- 泛微发布数字化营销管理平台-九川汇
泛微全程数字化营销管理平台--九川汇,对内可以跨部门.跨组织高效协同,对外借助企业微信快速连接客户. 营销活动是企业运营中重要的一环,数字化工具如何满足企业的营销管理需求: 1.如何有效助力销售活动: ...
- C++内存管理复习记录小结(随笔)
C++内存管理复习记录小结 变量与内存 1. 声明 VS. 定义 2. 全局 VS. 局部,静态 VS. 非静态 3. 变量初始化 VS. 赋值 4. 关键词static用法小结 动态内存管理 写在前 ...
- 山东大学软件过程管理复习纲要
考纲 目录:https://blog.csdn.net/dkbnull/article/details/87933295 1.项目管理支持活动有哪些? 配置管理,度量和分析,决策分析. 2.CMM/C ...
- 哈工大软件过程与工具复习总结
实话实说,这门课是文科吗.要背一堆东西,真的佛了.计算好像也就只在缺省值那里看到过,加上上课也没怎么听过,复习起来真的有点麻. 根据PPT复习的,东西太多了,而且不知道什么要背,什么不要背. 为什么C ...
- 哈工大软件过程与工具复习2——第3-6讲 过程模型、敏捷方法、项目管理、软件演化和Git
目录 一.软件过程模型 1. 软件过程 2. 典型软件过程模型 (1)瀑布模型 (2)增量过程模型 (3)演化过程模型 二.敏捷方法与过程 1. 敏捷过程模型 2. 极限编程 3. Scrum 4. ...
- 技术人员谈管理之九大项目管理记忆口诀
九大管理: 狗子整范进,成人风采 沟通,质量,整体,范围,进度,成本,人力资源,风险,采购 整体管理: 成书计划,指管执行,监控整变,项目收尾 1.项目启动(项目章程) 2.编制项目范围说明书 3.制 ...
- 客户关系管理的九大战略,让你跟客户更亲近
客户关系管理是一个战略过程.它起始于目标客户选择,落脚于客户忠诚.类似于找对象,谈恋爱,建立美满家庭,并白头偕老这个感情过程.只有把客户关系管理视为一个贯穿于企业营销的战略性过程,才能真正达到客户关系 ...
最新文章
- 从创业公司到AI巨头 出门问问如何定义下一代人机交互?
- 剑指offer--2.替换空格
- 【利好工具】JavaScript及时运行调试工具
- jeesite的junit,数据没有插入?
- 开放共赢,华为云WeLink生态联盟正式成立!
- 平衡二叉树AVL删除
- openStack 手动部署文档
- Typora Mermaid 使用指南
- Linux下Qt的QPixmap加载图片无法显示的问题
- 【个人笔记】OpenCV4 C++ 图像处理与视频分析 12课
- JDBC入门(5)--- 时间类型、大数据
- 你们骂我骂的舒服么?
- 网页加密编码的几种常见方法
- pl sql入门比较好的书_【赵强老师】什么是PL/SQL?
- visio安装包大小,怎么判断安装那个版本?
- cad 2010 64位
- R语言使用min函数获得向量数据的最小值
- java String 转map、list
- 如何安装和配置Mantis
- 影子系统详细内容最强大全