软件过程改进与CMMCMMI介绍

更新时间:2023-06-10 17:34:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CMMI 学习资料必备

上 海 漫 索 计 算 机 科 技 有 限 公 司

软件过程改进与CMM/CMMI介绍林 锐 博士 linrui@

CMMI 学习资料必备

目录0.常见疑问 1. IT企业面临的软件开发与管理难题 2. 软件过程改进概述 3. CMM发展简史 4. CMMI 1.1介绍 5. CMM等级评估 6. CMM在中国 7. 软件过程改进措施与建议

Page 2

CMMI 学习资料必备

0. 常见疑问

1. 软件过程改进与CMM的关系 ? 2. 为什么有些企业实施CMM后,质量没有明显提高,进度更落后了,成本增加了,人 员更累了??

3. CMM理论本身有缺陷吗?4. 按顺序遍历CMM过程域和关键实践,这种做法可行吗? 5. 应该寻找什么样的咨询师,才能帮助企业提升软件能力? 6. 欧美、印度、中国的 CMM主任评估师,有什么特点? 7. CMM 2-3等级评估要花多少钱?

8. 怎么才能既提高软件能力,又能拿到CMM等级证书?而且花钱要少?

Page 3

CMMI 学习资料必备

1. 企业面临的软件开发与管理难题1.1 企业的目的

根本目的:合法地赚取尽可能多的利润,使企业利益最大化。 为了使企业利益最大化,软件产品(项目)应当“做得好、做得快并且少花钱”

1.2 企业长期面临的软件开发与管理难题

产品质量低下、进度延误、费用超支…(软件工程学科发展30年尚未彻底解决) 经典软件工程:研究需求分析、系统设计、编程、测试、维护等领域的方法、技术和 工具 问题之源:人们逐渐意识到,由于企业管理软件过程的能力比较弱,常常导致项目处 于混乱状态。过程混乱使得新技术、新工具的优势难以体现。经典的软件工程不是不 好,而是不够用。

1.3 企业的迫切愿望

寻求 “提高产品质量、提高生产率并且降低成本”的解决方案,包括方法论和工具 。

Page 4

CMMI 学习资料必备

2. 软件过程改进概述2.1 过程的基本概念

过程就是人们使用相应的方法、规程、技术、工具等将原始材料(输入)转化成用户 需要的产品。过程的3个基本要素是:人、方法与规程、技术与工具。过程被文档化 后才能成为规范。 过程与产品存在因果关系。即好的过程才能得到好的产品,而差的过程只会得到差的 产品。 企业领导关心过程吗?为什么要监控过程?何为过程可视性?

2.2 什么是软件过程改进

从20世纪90年代至今,软件过程改进成为软件工程学科的一个主流研究方向,其中 CMM和CMMI是该领域举世瞩目的重大成果。 提高软件过程能力的实践通称为软件过程改进(Software Process Improvement)。 软件过程改进的根本目的是:提高质量、提高生产率并且降低开发成本。

方法与规程

人员

过程

产品

技术与工具

Page 5

CMMI 学习资料必备

2. 软件过程改进概述2.3 主要的软件过程域

程类的主要过程域:需求开发、系统设计、软件实现、软件测试、软件维护等等; 管理类的主要过程域:项目规划、项目监控、需求管理、质量管理、配置管理等等。

上述过程域中的任何活动都会影响产品的质量、生产率和成本。

2.4 软件过程改进必须走规范化之路提高软件过程能力可以比喻为“练内功”,“练内功”没有捷径可走,唯有走“规范 化”之路,即“制定适合于本企业的软件过程规范,并按照此规范执行”。 “规范化”不会抑止人们的创造力,相反地,它使得团队可以大规模地复用前人积累 的智慧和财富。这种方法非常适合于现代的工业化生产。 (麦当劳与中餐馆对比)

– 麦当劳的特征:不论是制作汉堡还是炸署条,都有规范化的操作流程 – 中餐馆的特征:大厨掌握招牌菜,老板怕大厨。

业界实践已经证明,走“规范化”之路是“成本最低、见效最快、能持续发展”的软 件过程改进方法,犹如人类的“养生之道”。任何IT企业(不论大小),都有办法以 其承受得起的代价“走规范化之路”,从而有效地提高软件过程能力。 – 养生之道:为什么富人的身体不如平民百姓的好?

Page 6

CMMI 学习资料必备

3. CMM发展简史3.1 CMM是什么

CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也 是目前软件过程改进最好的参考标准。 美国卡内基-梅隆大学软件工程研究所(SEI)研制

3.2 发展简史

CMM 1.0于1991年制定。 CMM 1.1于1993发布,该版本应用最广泛。 CMM 2.0草案于1997年制定(未广泛应用)。 到2000年,CMM演化成为CMMI(Capability Maturity Model Integration),CMM 2.0成为CMMI 1.0的主要组成部分。 CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于 2002年1月正式推出。

3.3 CMM重要概念

5个成熟度等级:Initial, Repeatable, Defined, Managed, Optimizing 18个关键过程域。关键过程域指出为了达到某个成熟度等级必须要解决的一族问题。

Page 7

CMMI 学习资料必备

4. CMMI 1.1介绍4.1 CMMI诞生

CMM 1.1是十年前创作的,十年来IT产业有了长足的发展,相应的工业标准或规范必 然要不断地改进。在总结CMM应用的大量经验教训的基础之上,SEI 于2002年推出了 CMMI1.1。CMMI重大的改进在于它不仅完善了CMM本身,而且充分考虑了软件工程与系 统工程的集成,使得CMMI不再局限于纯粹软件的范畴。由于CMMI 1.1问世不久,人们 了解和应用CMMI需要一定的时间,但是CMMI将取代CMM这是必然的趋势。

4.2 CMMI有两种表述方式

阶段表述方式与CMM兼容,连续表述方式与ISO/IEC 15504相似。

Page 8

CMMI 学习资料必备

4. CMMI 1.1介绍4.3 CMMI与CMM过程域的比较CMM 关键过程域 L2R

equirements Management Software Project Planning Software Project Tracking and Oversight Software Configuration Management Software Subcontract Management Software Quality Assurance

CMMI 过程域Requirements Management Project Planning Project Monitoring and Control Configuration Management Supplier Agreement Management Process and Product Quality Assurance Measurement and Analysis Requirements Development Technical Solution Product Integration Verification Validation Organization Process Focus Organization Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution

L3

Software Product Engineering

Peer Reviews Organization Process Focus Organization Process Definition Training Program Integrated Software Management Inter-group Coordination

Page 9

CMMI 学习资料必备

5. CMM等级评估5.1 过程复杂

每一个CMM等级评估周期(从准备到完成)约需12-30个月。 每一级别的评估由SEI授权的主任评估师领导一个评审小组进行,其成员大部分来自 企业内部。 评估过程包括员工 培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、 数据分析、与企业的高层领导 讨论和撰写评估报告等。 评估结束由主任评估师签字生效(没有盖上公章的证书)

5.2 取得主任评估师的资格比较困难

10年以上的软件开发经验 在SEI接受培训,培训费用每人约需数万美元,非美国人加倍。 经过两次以上CMM评估的全过程实习 主任评估师的资格并非终身制

5.3 评估费用昂贵:大约是ISO认证的十倍

价格视客户需求的多少而定,可以与咨询公司协商。 2002年参考价:CMM2级50万元RMB, CMM3级80万元RMB。

Page 10

CMMI 学习资料必备

6. CMM 在中国6.1 国内IT企业采用CMM的目的

提高企业的软件过程能力,但并不关心CMM评估。 既要提高企业的软件过程能力,又想通过CMM评估来提升企业的威望与知名度。

只是为了拿到CMM证书

6.2 共性问题:费用高、难度大、见效慢

企业做一次比较完整的CMM 2-3级咨询和评估大约要花费60~100万元。 企业内部组建SEPG的成本并不比咨询费低。

软件工程与项目管理工具比较昂贵(如Rational的产品)。目前国内通过CMM 2-3级评估的企业屈指可数,而这些企业的实际能力也没有宣传的 那么好。因为参加CMM评估的项目都是精心准备的,个别项目或者事业部通过了CMM评 估并不意味着整个企业达到了那个水平,这里面的水分相当大。

Page 11

CMMI 学习资料必备

6. CMM 在中国6.3 国内通过CMM等级评估的企业(2002年统计数据)

公司名称 摩托罗拉

CMM级别 L5

通过时间 2000-09

华为印度所东大阿尔派 托普软件 联想软件事业部 鼎新公司 博通公司 用友软件 浪潮通软 东

方通科技

L4L3 L3 L3 L2 L2 L2 L2 L2

2001-122001-06 2001-11 2002-01 1999-07 2001-04 2001-06 2001-11 2001-12

新太科技神州数码

L2L2

2001-122002-01

6.4 业界关注的焦点:企业如何以比较低的代价有效地提高软件过程能力

Page 12

CMMI 学习资料必备

7. 软件过程改进措施与建议7.1 企业领导决策与支持

领导根据企业的发展战略和当前实力,决定投入多少资金、人力和时间,将过程能力 提高到什么程度。

领导“支持”软件过程改进的行为是多方面的,例如批准必要的经费,组建SEPG,在 某些场合宣传软件过程改进的重要性等。除此之外,企业领导应当亲自参与软件过程 改进的实践,为员工们树立榜样,例如参加培训和考试,自己要遵守软件过程规范。

7.2 制定适合于企业的过程规范

首先要深入调查企业过程能力的现状,识别出薄弱环节,分清“轻重缓急”。再根据 企业的实力(如资金和人力),确定过程改进的各个阶段目标。 企业在参考业界推荐的过程标准或规范时,要舍弃那些听起来很先进但是对本企业无 益处的东西,只选取对企业有实用价值的东西。如同老百姓买商品,“只买对的,不 买贵的”。 CMM/CMMI和ISO都只是用来参考的,而不是用来“迷信”的。

使用软件过程规范的绝大部分人不是软件工程专家,所以规范应当通俗易懂。

Page 13

CMMI 学习资料必备

7. 软件过程改进措施与建议7.3 规范的实施

企业制定软件过程规范是为了帮助人们把工作做得更好,而不是存心与人们过不去。 企业一方面要用行政命令和奖罚措施来强制实施软件过程规范,另一方面又要设法使 员工们乐于执行规范从而避免流于形式。 – SEPG不要只是埋头写规范,写完了上缴了事。最好在内部网上开辟一个专栏, 专门解释规范。 – 要对全员进行培训与考试,使机构中的每个人都熟悉与自己工作相关的规范。 只有这样才能防止有人拖后退,使团队发挥最大的力量。 – 质量保证人员监督实施。人都有惰性,如果没有人来监督员工们按照规范办事 ,那么自觉性不强的员工就会回到“无序”的老路上。质量保证人员的职责就 是周期性地检查项目成员的“工作过程以及工作成果”是否符合既定的规范, 来监控和改进“过程质量以及产品质量”。 – SEPG要及时收集员工们反映的问题和建议,不断地完善规范,但是不能频繁地 变更规范的版本,应当有计划地控制规范的版本。

Page 14

CMMI 学习资料必备

7. 软件过程改进措施与建议7.4 文档太多怎么办

在推广软件过程规范时,员工们抱怨最多的就是“文档太多了”!甚至很多人把进度 延误归罪于写文档。

如果过程规范是适合于本企业的,那么该规范所要

求的文档工作量也应该是比较适宜 的。之所以员工们抱怨“文档太多了”,那是因为他们以前文档写得太少了,一下子 不习惯正常的文档工作量。应该想办法降低写文档的难度,提高写文档的效率。基本措施有: – 机构要下功夫制定出结构良好的文档模板,给出充足的提示和示例。这样使用 者就可以“依葫芦画瓢”,总比他自己琢磨怎样写要方便得多。 – 提高开发人员的写作能力,这是练内功。一是要学习好的写作方法,二是要不 断地练笔(其实写文档就是在练笔)。

Page 15

本文来源:https://www.bwwdw.com/article/4u51.html

Top