该过程的潜在问题
n开发队伍角色未定义,不协调
n团队工作和过程绩效由于执行的间隙和冲突而削弱
n对过程和产品质量的洞察有限
n对产品配置的控制有限
n发行比原始进度推迟
n成本比估计的大得多
n软件不是客户所需要得
不成熟组织的共同特征
不成熟组织产生的共同结果
因素结果
需求缺乏控制,需求“不断懦动”
产品性能不可预估,不能满足用户需要
产品配置没有管理
产品质量不可知,充满缺陷
成本缺乏追踪,经常超越
进度经常延迟
CMM的产生背景
n美国国防部在向承包商发包军用软件项目时,希望了解承包商的开发能力,以保证项目的成功和产品质量
n美国国防部委托美国卡内基-梅隆大学的软件工程研究所(CMU-SEI)进行研究
nSEI基于项目成功很大程度依赖于其开发过程的经验,提出包含5级的软件能力成熟度模型(SW-CMM)
n美国国防部要求其承包商的能力成熟度至少为3级
CMM的产生历程
n年美国软件工程研究所(SEI)以W.S.Humphrey为首的研究组发表的“承包商软件工程能力的评估方法”
n年发展为SEICMM1.0(能力成熟度模型1.0版)
n年该模型发展为SEICMM1.1(现行有效)
CMM的基础
n阶段化结构:基于过去60年来的产品质量原则。
nWalterShewart在三十年代发表了统计质量控制原理。W.EdwardsDeming和JosephJuran又进一步发展和论证了该原理。
成熟度框架:PhilipCrosby在“QualityisFree”中描述了质量管理成熟度框架的五个进化阶段。
nIBM等的工程实践。
基于CMM过程改进的收益(不完全)
SW-CMM的结构
软件过程——术语
n人们用于开发和维护软件及其相关产品(例如,项目计划、设计文档、代码、测试用例、用户手册等等)的一系列活动、包括软件工程活动和软件管理活动。
软件过程能力——术语
n描述(开发组织或项目组)通过遵循其软件过程能够实现预期结果的程度。
一个软件开发组织或项目组的软件过程能力提供一种预测该组织承担下一个软件项目时最可能的预期结果的方法。软件过程能力既可对整个软件开发组织而言,也可对一个软件项目组而言。
n软件过程性能:表示(开发组织或项目组)遵循其软件过程所得到的实际结果。
软件过程成熟度——术语
n一个特定软件过程被明确和有效地定义、管理、测量和控制的程度。
n成熟度可指明一个软件开发组织软件过程能力的增长潜力。随着软件组织的软件过程成熟度的提高,开发组织通过其方针、标准和组织机构等将其软件过程规范化和具体化。从而使得开发组织明确定义的有关管理和工程的方法、实践和规程等在现有人员离去后仍能继续下去。
软件过程能力成熟度等级——术语
n软件开发组织在走向成熟的途中几个具有明确定义的表征软件过程能力成熟度的平台。
n每一个成熟度等级为过程继续改进达到下一个等级提供一个基础。每一等级包含一组过程目标,当其中一个目标被达到时,就表明软件过程的一个(或几个)重要成分得到了实现,导致组织的软件过程能力增长。
软件能力成熟度模型——术语
n对软件组织进化阶段的描述,随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步前进。
n这个模型使软件组织能够较容易地确定其当前过程的成熟度并识别出其软件过程执行中的薄弱环节,确定对软件质量和过程改进最为关键的几个问题,从而形成对其过程的改进策略;软件组织只要北京看白癜风的最专业医院白癜风带的中药验方