在小型软件开发组织中使用CMM

发表于:2008-09-16来源:作者:点击数: 标签:cmmCMM软件开发组织
关键字:软件 开发 组织中使用CMM CMM SM是适用于小工程项目和小规模组织的经剪裁的CMM版本。而CMM V1.1是用适宜于那些和政府签约的大型组织的标准实践来表达的,这些实践必须剪裁才能适合不同于这个样板的组织的需要。 摘要 由美国软件工程学会(SEI)开发
关键字:软件开发组织中使用CMM

CMM SM是适用于小工程项目和小规模组织的经剪裁的CMM版本。而CMM V1.1是用适宜于那些和政府签约的大型组织的标准实践来表达的,这些实践必须剪裁才能适合不同于这个样板的组织的需要。


摘要

由美国软件工程学会(SEI)开发的软件能力成熟度模型(CMM, Capability Maturity Model),已经成为软件过程及质量改进方面的世界主流。尽管CMM被广泛接受了,但有关如何在商业驱动的软件过程改进中有效地使用它,特别是针对小型组织和小型工程项目,仍存在着许多的误解。有关在小工程或小组织中应用CMM的一些常见问题包括:

· 什么样的才算做“小”?标准是根据人?时间?项目大小?还是产品的艰难复杂程度?

· 什么是CMM的“需求”?是否有不该被应用到小项目/小组织中去的关键过程区域或目标?有好的过程“ 不变量”吗?

· 造成CMM被滥用的驱动力和动机是什么?

这篇论文以小型组织为例讨论了怎样在各种商业环境中正确而有效地使用CMM。从那些对改进其软件过程感兴趣的任何组织得出的结论是:使用为大组织/大项目所开发的发行版来相应地解释用于小项目或小组织中的CMM,可能会存在程度上的差异,但它们决不会是本质上的不同。正确有效地使用CMM,要求具有专业性的判断,并且能够理解CMM是如何针对不同的用途来进行建构的。

作者简介

Mark是美国软件工程学会(SEI)的一名技术人员。他1987年加入SEI ,最初参与的是软件能力评价项目的工作。Mark从一开始就工作在软件能力成熟度模型方面,并且是开发CMM1.1版本时的项目领导人。他也一直活跃在制定有关软件工程的标准上, 这些标准包括:

· ISO 15504 ( 也称为SPICE--软件过程改进和能力决断),一整套软件过程评估的国际标准

· ISO 12207 , 软件生存周期过程

· ISO 15288 , 系统生存周期过程

在加入SEI之前,Mark是系统开发公司(System Development Corporation,即优利国防系统公司Unisys Defense Systems的前身)的位于亚拉巴马州Huntsville的弹道导弹防护高级研究中心(Ballistic Missile Defense Advanced Research Center)的一名高级系统分析员。

Mark在范德比尔特大学获得了他的计算机科学硕士学位。在Huntsville的亚拉巴马州立大学获得了他的数学和计算机科学学士学位。

专业资格及证明

· 电子学会高级研究员及电子工程师 (IEEE,美国电气及电子工程师学会)

· 美国质量协会高级研究员 (ASQ,美国质量协会)

· 美国质量协会(ASQ)认证软件质量工程师

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1. 介绍
软件工程学会(SEI)是由美国国防部1984年设立的一个联邦资助研发中心,主要通过大范围承包工程的研究来寻求软件工程技术的跃迁——即改进软件工程的实践。在某种意义上, SEI的存在是“软件危机”(即习惯性的拖延,超出预算,达不到预期功能,以及不可靠的质量等[Gibbs94])的结果。硬性地讲,危机大多是由软件自身造成的,一位首席信息官曾说过:“我宁愿让它有了错,也不想让它出得晚,稍后我们总会去修理它的。”许多组织要完成预期成本和进度目标的关键就在于——经常性地关注质量成本,一再地学习以往20年由美国工业界所推演出的现称为“全面质量管理(Total Quality Management,TQM)”的一门课程。

引用DeMarco [DeMarco95], 各种因素综合造成的如下情形并不令人惊奇:

· “人们总是抱怨我们,因为他们知道在抱怨的时候,我们会努力工作。”

· “大多数软件评估报告是令人沮丧的……但好在他们还不是对评估过程完全不满。”

· “正确的进度表是绝对不能达成的,只不过还不那么明显地不能达成。”

DeMarco继续观察到我们的工业界正在疲于奔命,而感觉上唯一真切的选择就是降低质量以换取速度。

TQM课程聚焦于在质量管理引导下减少开发周期, 提高生产率,增进客户满意程度并努力取得商业上的成功。挑战,当然被定义成“聚焦质量”的实用手段是什么,随即就要系统地寻求各种质量问题。也许SEI最成功的产品就是软件能力成熟度模型(CMM),就是说,它给在全世界软件社团中已成为主流的软件过程改进提供了路标[Paulk95]。CMM定义了怎样使开发组织的软件过程走向成熟的5个等级的框架结构。这些等级描述了从特别紊乱的混沌过程到成熟的、有纪律的软件过程的进化路径。如图1中的概示,5个等级和18个关键过程区域详细描述了它们。5个成熟度等级指明了对于成功的过程改进(即在许多案例的研究和调查中被文档化记录的有效性)的优先顺序[Herbsleb97,Lawlis95,Clark97]。

成熟度等级

Level
焦点

Focus
关键过程区域

Key Process Areas

5

优化级

Optimizing
持续不断的过程改进

Continual process

Improvement
缺陷预防

Defect Prevention

技术变更管理

Technology Change Management

过程变更管理

Process Change Management

4

已管理级

Managed
产品和过程质量

Product and process

Quality
定量过程管理

Quantitative Process Management

软件质量管理

Software Quality Management

3

已定义级

Defined
工程化过程及组织支持

原文转自:http://www.ltesting.net