能力成熟度模型介绍课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目成功关键(续)
• 项目利益相关者广泛参与 • 最终用户参与 • 开发与营销紧密结合 • 高级管理者强大的支持 • 项目组内部有效沟通
• 向不确定性挑战 • 日常建构,关注真正的最终结果 • 立足于灵活 • 在项目前期阶段充分沟通,充分交流,鼓励 创新
引入软件成熟度
n 软件危机:无法开发出符合预算和进度要求 的高可靠性和可用性软件。
不成熟组织软件项目的结果
• 缺乏既定过程,开发团队角色没有定义,没有 协调,重复工作,管理混乱
• 管理者/用户对过程和产品质量缺乏洞察力, 过程和产品质量不透明
• 质量低劣 • 延期或者失败 • 软件成本超出预算 • 不按要求工作给自己和客户带来麻烦
不成熟的和成熟的软件机构对比
• 不成熟的软件机构: • 软件过程:由具体工作人员及
CMM理论基础
过程决定质量!
CMM的目的
• 避免软件产品开发的随意性 • 将其从艺术性、创造性的活动转变为规范化、
可重复的软件开发工艺过程,不是每个人都是 艺术家 • 可类比传统产品的制造:生产线上的工人按照 规程操作就可以生产出合格的产品。同理,软 件开发人员按规程编程,就可以开发出合格的 软件产品。
软件过程:开发和维护软件及相关产品(如项目计划、 设计文档、代码、测试用例和用户手册等)的一套行 为、方法、实践及变换过程。
软件过程能力:描述了遵循某软件过程可能达到的预期 结果的范围。它为机构承担下一个软件项目时可能达 到的最大期望结果提供了预测手段。
软件过程效能:对遵循一个过程所达到的实践结果的一 种度量。它关注实际结果,而软件过程能力关注预期 结果。
• 客户需求不确定 • 最终产品的设计和特色只有在过程中才能变得
清晰,而不是开始时 • 很难制定准确的计划 • 估计不够,低估需要的时间和成本 • 来自营销、客户和管理者的压力 • 沟通失败是项目失败的最大的威胁 • 软件过程不可见
软件开发的探索
• 技术 • CASE,UML • Object Oriented
中的“软”的那些聪明人所创建的。他们假定 开发软件就象造桥。 • 方法不正确。没有人打算失败,但是为使失败 最小化而使用的方法却是失败的。 • 开发人员士气不高,不主动。 • 管理人员、开发人员能力不够。 • 只重过程,不重人,没有良好的沟通。
软件项目成功关键
• 人员方面 • 在人力资源管理方面的强大投入,有优秀的员工才 会有优秀的企业。 • 发展高素质的项目管理人员,让软件项目管理人员 具有专业的技能。 • 发展并把握顶尖技术人才,一个有才华的软件开发 者的创造性可以是一个普通者的十倍。 • 软件开发项目应该配备有创造力的人员。最好是找 到一个有创造力的程序员,而不是指望某一个程序 员会变得有创造力。 • 可以让程序员发挥他们的专长:编写代码。 • 建立合理的组织结构。
外人看软件开发过程
Customer
Coder
“Build me Software for my Widget”
Then a Miracle Happens
Done.
这种过程可能会有什么问题?
初学者看软件开发过程
FIGURE IT OUT.
CODE IT.
SEE IF IT WORKS.
需求、设计薄弱,测试被挤
软件过程成熟度涉及的基本概念
CMM强调的是软件过程 能一致地、可预测地 生产高质量软件产品 的能力。
过程:为了达到给定目 标所实施的一系列步 骤。过程把人、工具 和规程集成在一起。 如下图所示:
有技能、受过 训练的、有积 极性的人员
定义任务间关联关 系的规程和方法
过程
工具和设备
软件过程成熟度涉及的基本概念(续)
n 提供新方法和新工具来提高软件开发效率和Βιβλιοθήκη Baidu质量的尝试失败,发现问题的实质在于软件 机构缺乏管理软件过程的能力。
n 软件工程研究所(Software Engineering Institute, SEI)领 导改进软件工程实践的当前状况,提高以软 件为主的系统的质量。
n CMM由SEI提出,它描述了从混乱的、不成 熟的软件过程向成熟的、有纪律的软件过程 改进的一条途径,包含五个成熟度级别。
• 计算机及运行其上的软件就是人类大脑活 动的一面镜子
• 软件与心理学的关系要比工程学、技术及 数学的关系要近的多
• 软件永久只能是软件开发人员的心理模仿, 程序员永远也不可能让计算机做出超过他 自己想像力的事
• 需求具有不确定性,是逐步澄清的
软件项目失败深层次原因
• 对软件的误解是问题的根源。 • 现有的方法是由那些有良好愿望但忘记了软件
• 管理人员监督软件产品的质量以 及生产这些产品的过程
• 在分析软件产品的质量和开发过 程方面有客观而定量的依据
• 进度计划和预算基于以前的效能 数据,是非常实际的
• 成本、进度要求、产品功能与质 量能达到预期要求
• 整个机构广泛、积极地参与改进 活动,有相应的基础实施支持各 软件过程
软件项目失败原因
能力成熟度模型
( Capability Maturity Model )
Principle
Agenda
n 简介和CMM背景知识
n CMM 框架 n CMM 2级 n CMM 3级 n CMM 4级5级 n 小结 n Q&A
Introduction
n CMM的背景、概念、结构和应用 n 软件过程成熟度框架 n 能力成熟度模型的结构和相关说明 n CMM的关键过程域
• 过程控制 • ISO9001,ISO9000-3,ISO15504,ISO12207 • CMM,TickIT
• 以上措施并没有真正解决软件危机 • “质量是制造出来的,不是检验出来”,在 制造业适用,在软件行业作用并不大(软件 过程不可见)
• 项目失败率还是很高
软件开发的本质
• 软件开发的本质就是基于人类思考的一种 心智活动
其管理人员临时组成 • 被动,常常强调解决燃眉之急 • 常常超出进度计划和经费预算 • 缺少评判产品质量或解决产品
或过程问题的客观基础 • 在正式提交之前,客户基本上
不了解产品
成熟的软件机构:
• 具有在机构范围内管理软件开发 和维护过程的能力,所管理的过 程已形成文档,可使用,必要时 可修改过程定义
相关文档
最新文档