tibi是什么品牌:软件过程管理(二)

来源:百度文库 编辑:中财网 时间:2024/05/02 07:52:47
软件过程成熟度框架
一、CMM基本知识
l 1986年,SEI着手开发过程成熟度框架,用于帮助机构改进其软件过程。
l 1991年,SEI在原过程成熟度框架的基础上开发出了“软件能力成熟度模型1.0版”。1993年2月发表了“软件能力成熟度模型1.1版”和“能力成熟度模型的关键实践1.1版”(统称SW-CMM1.1版,简称为CMM)。
l 软件产品的质量在很大程度上取决于构筑软件时所使用的软件开发和维护过程的质量。
n 软件过程是人员密集和设计密集的作业过程;若缺乏有素的训练,就难以建立起支持实现成功改进软件过程的基础,改进工作亦将难以取得成效。
n CMM描述的这个框架正是勾列出从无定规的混沌过程向训练有素的成熟过程演进的途径。
l CMM为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。
n 除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一个级别迈进。
CMM描述的软件组织的5个成熟度等级
1、初始级
个别的
2、可重复级
有纪律的过程
3、已定义级
标准、一致的过程
4、已管理级
可预测的过程
5、优化级
不断改进的过程
5个成熟度等级
CMM 5个成熟度等级是由低到高逐渐成熟的演进框架
l 衡量软件组织过程成熟度的尺度。
l 引导软件组织进行过程持续改进的目标。
l 成熟度高的等级有着较高的生产率、较高的质量和较低的风险。
二、成熟度级别的行为特征
等 级
特 征
主要需解决的问题
结 果
5
优化级
经反馈得以改进
的过程
保持优化的组织,但仍
为人员密集的过程
生产
率和
质量
风险
4
已管理级
(量化的)已度
量的过程
技术变更、问题分析、
问题预防
3
已定义级
(量化的)已定义且制度化的过程
过程度量、过程分析、
量化质量计划
2
可重复级
(直觉的)过程
依赖于个人
培训、测试、技术常规
和评审、过程关注、标
准和过程
1
初始级
个别的、混乱的
过程
项目管理、项目策划、
配置管理、软件质量
保证
CMM体系结构
l 内部结构
各关键过程域中规定了执行约定、执行能力、执行活动、质量和验证的标准等
l 组织保证
管理者:经理、各级经理、领导、职员和个人
软件小组:软件工程组、软件工程过程组、软件相关组等
成熟度级别的组织特征
5
过程式产品的数据均用于商务策略的改进
4
实现了量化过程管理和量化质量管理
3
整个组织采用统一的过程
2
将可重复过程文档化,并付诸实施
1
过程无序,无文档
成熟度级别的过程特征
5
l  过程得到持续地和系统地改进
l  发生问题的共同原因已弄清并已消除
4
l  过程得到量化理解,过程已稳定
3
l  组织级的过程
l  注意集成化管理和工程过程
l  问题初步得到预测和预防,或
l  将问题带来的影响最小化
2
l  项目级的过程
l  文档化的过程
l  注重估算、策划和承诺
l  问题可以找到和纠正
成熟度级别的人员特征
5
l 整个组织充满很强的协同工作精神
l 每人都投入到过程持续改进中
4
l 每个项目有较强的协同工作气氛
3
l 项目组在一起工作,注意协调
l 工作开展如同一个整体
l 培训按工作岗位策划和实施
2
l 成功仍有个人因素
l 承诺得到理解
l 人员已有培训
成熟度级别的技术特征
5
l 主动寻求和开发新技术
4
l 新技术在量化基础上得到评价
3
l 所需技术在工程人员中普及
2
l 已有技术支持和稳定的技术活动
成熟度级别的测量特征
5
l 数据用以评价和选择过程改进活动,注重过程优化
4
l 在组织内数据定义和收集活动标准化地开展
l 数据用于量化地理解过程
3
l 收集数据,将其用于定义过程
l 数据在各项目间得到系统地分享
2
l 策划数据和管理数据用于个别项目
三、成熟度级别的跳跃
过程能力按等级划分
形似阶梯,但不排斥处于低级的组织部分地实施高等级的KPA要求。如部分实施量化过程、同行评审。
l CMM每个成熟度级别都是下一级别的必要基础
l 机构可以选择合适的时机,着手进行特定的过程改进
l 过程改进工作应该在其业务环境内侧重机构的需求
l 实施软件过程改进的差异是由定义关键过程域引起的
四、软件过程的可视性
软件过程的管理依赖于软件过程的可视性,因为软件过程越透明,过程状态的实际情况就越清楚,问题发现越及时,过程就越容易得到控制,目标就越容易发现。所以,软件过程的可视性在软件过程的管理中具有重要性。
软件过程可视性 VS. CMM
等级1―――一个黑盒
等级2――― 项目里程碑处具有管理可视性
等级3―――盒子的内部结构可视
等级4―――软件过程被配备上度量,并得到定量地控制
等级5―――对过程不断改进
五、效能测试
过程能力和性能
过程能力 Process Capability
过程性能 Process Performance
为什么要提高过程能力
对于顾客,较高的过程能力意味着:
l 开发组织能够更好地响应自己的要求
l 软件产品的成本更低
l 能更好地满足最终用户要求
对开发组织,高的过程能力表示:
l 软件产品开发和维护成本较低
l 开发周期较短
l 由于有效的项目风险分析和工作量投入估计,增强了达到成本和进度目标的能力
l 提高了满足量化设计和质量目标的能力

过程成熟度
过程成熟度对软件开发进度、成本和质量有着很大影响。
图5给出了不同过程成熟度等级的机构在完成各种项目中达到预期时间指标的概率分布情况。
除项目完成时间外,项目成本及质量预期指标与实际完成情况也与此曲线分布类似。