CMMI+L2标准体系详解
CMMI l2基础知识
度量和分析过程域(续)
提供度量结果, 提供度量结果,以便处理信息需要和目标
包括: 包括:获得指定的度量数据 分析并解释度量数据 管理并存储度量数据和分析结果 向所有相关利益者报告度量和分析活动的结果
过程和产品质量保证过程域( PA) 过程和产品质量保证过程域(PPQA PA)
组织实施“过程和产品质量保证”过程域的目标是 组织实施“过程和产品质量保证” 要使工作人员和管理者能客观了解过程和相关的工 作产品的状况 客观评价过程和工作产品 包括:对照适用的过程描述、标准和规程, 包括:对照适用的过程描述、标准和规程,对 指定的已实施的过程进行客观评价 对照适用的过程描述、标准和规程, 对照适用的过程描述、标准和规程,客观评价 所指定的工作产品和服务
项目计划过程域(续)
制订并维护项目计划,作为项目管理的基础 制订并维护项目计划,
建立项目的预算和ቤተ መጻሕፍቲ ባይዱ度 识别并分析项目风险 计划数据管理 计划项目的资源 计划所需的知识和技能, 计划所需的知识和技能,培训相关人员 计划项目相关人员的参与。( 。(使已识别的利益相关者介 计划项目相关人员的参与。(使已识别的利益相关者介 入的计划) 入的计划) 制订并维护整个项目计划内容。 制订并维护整个项目计划内容。
组织实施“项目监督和控制” 组织实施“项目监督和控制”过程域的目标是监督项目的进 以便在项目性能明显偏离计划时, 展,以便在项目性能明显偏离计划时,采取适当的纠正措施 对照项目计划监督该项目的实际性能和进展 对照项目计划监督项目策划参数的实际值 对照项目计划中确定的承诺进行监督 对照项目计划中标识出的风险进行监督 监督项目数据的管理 对照项目计划监督利益相关者介入情况 定期审查项目进度、 定期审查项目进度、性能和问题 在所选定的项目里程碑处审查项目的完成情况和结果
CMMI_学习资料
这样做会有什么结果?
聚餐活动进展情况了如指掌
比较准确的估计到最后的结果
成功的几率极大提高
Copyright © 2007, Cameo Communications, Inc. All rights reserved.
19
Meeting Lectures
部門政策,列管為機密內容,禁止轉寄!!
Level 5:持续优化级
22
Meeting Lectures
部門政策,列管為機密內容,禁止轉寄!!
Level 5 之 原因分析
对一些特殊问题、特殊情况进行分析,可以得到改进过程 的机会。 对过程进行改进后,我们的性能会提高。
Copyright © 2007, Cameo Communications, Inc. All rights reserved.
5级-持续优化级 4级-定量管理级 3级-已定义级 2级-受管理级
SEI在该级别 没有任何标准
1级-初始级
Copyright © 2007, Cameo Communications, Inc. All rights reserved.
4
Meeting Lectures
部門政策,列管為機密內容,禁止轉寄!!
Hale Waihona Puke 哇!Level4已经很厉害了!更厉害的Level5会是怎样呢?
请猜? 如何持续改进?
原因分析
采用新技术 公司定下新的目标
Copyright © 2007, Cameo Communications, Inc. All rights reserved.
20
Meeting Lectures
部門政策,列管為機密內容,禁止轉寄!!
如何确定餐单
CMMI详解 精髓
3
Proprietary and Confidential Information of EPRO
专业术语及缩写
CMMI是英文Capacity Maturity Model Integrated的简称。中文的译意是能力成熟度集 成模型。
4
Proprietary and Confidential Information of EPRO
L5-优化级
表示和消除不佳性能原因。 持续改进软件过程。
21
Proprietary and Confidential Information of EPRO
L5-优化级 从4级到5级
22
Proprietary and Confidential Information of EPRO
CMMI总特点
12
Proprietary and Confidential Information of EPRO
L2-已管理级过程域
13
Proprietary and Confidential Information of EPRO
L2-已管理级:消除混乱
建立了有效的软件项目管理机制 遵循并且文档化项目管理。 软件开发过程是一系列带有检查点(里程碑)的 黑盒子。 以前项目中的成功经验可以重复使用
16
Proprietary and Confidential Information of EPRO
L4-定量管理级过程域
17
Proprietary and Confidential Information of EPRO
L4-定量管理级
管理流程要做到量化与数字化 依据客观数据做出决策 可在定量的范围内预测性能
2CMMIL2PPv2
CMMI L2 PP项目策划过程域赛柏科技n初始级o 已管理级p 已定义级q 定量管理级r 优化级n 初始级已管理级p 已定义级q 已定量管理级主题I 基本概念和示例II PP的SGs和SPs III PP的GGs和GPs VI 小结V 参考材料I 基本概念和示例•PP(Project Planning)的目的•CMMI中的项目管理过程域•PP的结构•PP的目标关系图•项目策划的基础是估计CMMI中的项目管理过程域•项目管理过程域(PAs)覆盖方面:–有关项目策划、监督和控制等管理活动•项目计划•项目监督和控制•供应商合同管理过程域•集成项目管理•风险管理•定量项目管理PP的结构15+2 实践d需求管理SG1:GG2:10 GP GG3: 2 GPPP的目的PP的目的就是制定和维护定义项目活动的计划制定项目计划是实施项目管理的基础PP的要点-1•PP包括以下主要活动:–开发项目计划–与项目相关人员适当的交流–得到对计划的承诺–维护计划•策划工作从定义产品和项目的需求开始•术语“项目计划”指的是控制项目的整体计划PP的要点-2•策划通过如下活动,迭代地建立项目计划–估计工作产品和任务的属性–确定需要的资源–商讨承诺–产生进度安排–标识和分析项目风险•项目计划提供执行和控制项目活动的基础,以满足项目对客户的承诺•当遇到需求和承诺变更、不正确的估计、纠正行动和项目过程变更时,通常需要修改项目计划PP的SGs和SPsSG 1 建立估计-1SG 1建立估计: 建立和维护项目计划参数的估计•项目规划参数包括项目从事下列活动所需的所有信息:规划、组织、用人、指导、协调、报告及预算。
•规划参数的估计值应有充分的根据,以提高自信心:任何以此估计值所做的计划,能够支持项目目标。
•有必要把估计的理由和支持性数据形成文件,以便在项目相关人员评审和获得对计划的承诺以及在项目进展过程中维护计划.SG 1 建立估计-2•在估计项目计划参数时,通常要考虑以下因素:–项目需求,包括产品需求、组织的需求、客户的需求和其它影响项目的需求–项目的范围–已识别的任务和工作产品–技术实现方法–选择的生命周期模型(如瀑布、增量、螺旋等)–工作产品和任务的属性(如规模或复杂度)–进度–转换工作产品和任务的属性为工时和成本的模型或历史数据–确定需要的材料、技能、工时和成本的方法(模型、数据和算法)SP 1.1估计项目的范围SP 1.1估计项目的范围: 建立顶层的工作分解结构(WBS)来估计项目的范围–WBS与项目一起进化,初期的最顶层WBS 用于初期估计。
3.CMMI L2 PMC
Type text
版权所有
请勿翻印
26
CyberKeJi
纠正行动- 2
• 对采取纠正行动带来的影响要进行评审并达成一致 • 重新商谈内部和外部的承诺
– 确保高层管理理解和批准
• 文档化并跟踪所有认同的纠正行动,并直至完成 • 在必要时,更新项目计划
版权所有
请勿翻印
27
CyberKeJi
ቤተ መጻሕፍቲ ባይዱ
#PMC 部分输出
版权所有
请勿翻印
10
CyberKeJi
跟踪工作产品和任务的属性
• 工作产品和任务的属性包括规模、复杂度、权重等 • 跟踪内容包括:
– 定期度量工作产品和任务的实际属性,如规模或复杂度 ( 和 对属性的变更 ) – 将工作产品和任务的属性的实际值(和对属性的变更)与项目 计划中记录的估计值进行比较 – 标识与项目计划中的估计的严重偏离
版权所有
请勿翻印
17
CyberKeJi
# 里程碑完成情况
• 用于评 价关 键 开发活动和事 件的进度、进 展和相互依赖 关系 左边的表对每 个里程碑和总 进度的延迟天 数做了说明, 并给出了里程 碑进度差异 进度有超过 12% 的延迟( 累计 25 天)
•
• •
当进度差异超 过阈值(如 10% )时,应 该调查延迟的 原因。特别是 应该调查在实 现构造 1 的 设 计中的问题。 如果必要的话 ,应该重新计 划更现实的进 度。 版权所有 请勿翻印
1-Jan 计 划 1 5 (01/01) 计 划 2 (05/01) 实际已完成 3 的单元(累 计) 已完成的百 60% 分比
1-Feb 12
1-Mar 22
1-Apr 30
3CMMIL2
2020/8/9
27
典型工作产品
•SP 1.2:估算工作产品和任务属性 估算工作产品和任务的属性并形成文件 - 技术解决途径 - 任务和工作产品的规模和复杂度 - 估算方法 - 估算结果
2020/8/9
28
典型工作产品
•SP 1.3:定义项目生命周期 确定项目生命周期,项目计划按其阶段展开 - 项目生命周期各个阶段 - 产品生命周期各个阶段
1 过程不可预测,管理和 控制差,是反应式的
管理级
定义级
定量管理级
2020/8/9
3
成熟度2级组织的特征
• 项目管理更有纪律性.
• 组织方针已经制定并被执行.
• 项目计划和过程已文档化并依此执行.
• 资源充足.
• 在产品的生命周期中权责分明.
2020/8/9
4
成熟度2级组织的特征
• 过去的成功经验能沿用在类似的项目中.
优化管理 量化管理 已定义 已管理
初始级
2020/8/9
38
项目监控
• 目的: 了解项目的进展,以便当项目性能明显 偏离计划时采取适当的纠正措施。
2020/8/9
39
项目监控 - 特殊目标
• SG 1: 对照计划监控项目 对照项目计划监控项目的实际性能和进展.
• SG 2: 管理纠正措施 当项目的性能或结果明显偏离计划时,管 理各项纠正措施,直到关闭。
获得对计划的 承诺
2020/8/9
项目计划 PMC
19
项目策划 – 关系图
建立估算
估算 项目的范围
估算 工作产品 和任务属性
估算工作量 和成本
CMMI全面解析
CMMI全面解析CMMI是英文Capacity Maturity Model Integrated的简称。
中文的译意是能力成熟度集成模型。
CMMI是CMM模型的最新版本。
早期的能力成熟度模型是一种单一的模型其英文缩写为CMM,较多地用于软件工程。
随着应用的推广与模型本身的发展,改方法演绎成为一种被广泛应用的综合性模型,因此改名为CMMI模型。
早期的CMM是美国国防部出资,委托美国卡内基梅隆大学软件工程研究院开发出来的工程实施与管理方法。
目前国内有一种片面地认识,既CMMI是应用于软件业项目管理方法;实际上,CMMI在软件与系统集成外的领域,如科研,工程,甚至于日常的管理都得到了广泛的应用,并取得了相当好的效果。
美国波音公司的120个项目的实施情况表明,由CMMI等级1与等级2提升到等级三,波音的项目估算误差由-120降到-20。
CMMI实际上是一种管理流程的标准化。
遵循该模型的标准,就能够在管理上迈出一大步。
相对于ISO9000的标准, CMMI有五个不同的标准。
而每一个标准对企业的管理力度都有着不同的要求。
企业可以改进管理模式,不断地提高自己的CMMI等级,从而达到提升管理水平的目的。
CMMI虽然源于美国,但在世界各地得到了广泛的推广与接受。
在日本,欧洲,台湾,印度等地都有很多企业在推广与应用CMMI模型。
尤其在印度CMMI的应用甚至超过了美国。
据SEI统计,世界软件企业评估达到5级的共有25个,印度占了其中的16个。
这也是印度软件也得以迅速发展的一个主要原因。
有专家预测在未来的几年内,CMMI将成为ISO9000之后的又一个国际上普遍接受的标准。
在这里我想提一个题外话。
据说我们国家标准局正在制定一个类似于CMMI的国内标准。
我认为这完全没有必要。
CMMI的真正意义在于它能够帮助我们提高项目管理的水平,而不是标准化。
如果我们不能够真正地掌握其管理内涵,而去设立自己的标准,则会是捡了芝麻丢了西瓜。
cmmi五个成熟度级别
CMMI 等级的含义五个成熟度级别之间的比较如下:1,初始级特征:(1)软件过程的特点是杂乱无章,有时甚至混乱.几乎没有定义过程的规则或步骤.(2)过分的尽诺.常做出良好的承诺:如"按照软件工程方式,有序的工程过程来工作";或达到高目标的许诺.但实际上却出现一系列危机.(3)遇到危机就放弃原计划过程,反复编码和测试.(4)成功完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发人员.具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验,知识以及他们的进取心和积极程度.(5)能力只是个人的特性,而不是开发组织的持性.依靠着个人的品质或承受着巨大压力,或找窍门取得成果.但此类人一旦离去,对组织的稳定作用也消失.(6)软件过程是不可确定的和不可预见的.软件成熟性程度处于第一级的软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的).这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的.也就是说,软件的计划,预算,功能和产品的质量都是不可确定和不可预见的.过程:(1)极少存在或使用稳定的过程.(2)所谓"过程",往往是"就这么干"而言. (3)各种条例,规章制度互不协调,甚至互相矛盾人员:(1)依赖个人努力和杰出人物.一旦优秀人物离去,项目就无法继续(2)人们的工作方式如同"救火".就是在开发过程中不断地出现危机,以及不断的"救火".技术: 引进新技术是极大风险度量: 不收集数据或分析数据改进方向:(1)建立项日管理过程.实施规范化管理.保障项目的承诺.(2)首要任务是进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求.(3)建立各种软件项目计划.如软件开发计划,软件质量保证计划,软件配置管理计划,软件测试计划,风险管理计划及过程改进计划.(4)开展软件质量保证活动(SQA).2,可重复级特征(1)进行较为现实的求诺,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功.(2)主要是逐个项目地建立基本过程管理条例来加强过程能力.(3)建立了基本的项目管理过程来跟踪成本,进度和功能.(4)管理工作主要跟踪软件经费支出,进度及功能.识别在承诺方面出现的问题.(5)采用基线(BASELINE)来标志进展,控制完整性.(6)定义了软件项目的标准,并相信它,遵循它.(7)通过于合同建立有效的供求关系.过程(1)软件开发和维护的过程是相对稳定的,但过程建立在项目一级.(2)有规则的软件过程是在一个有效的工程管理系统的控制之下,先前的成功经验可以被重复.(3)问题出现时.有能力识别及纠正.其承诺是可实现的.人员(1)项目的成功依赖于个人的能力以及管理层的支持.(2)理解管理的必要性及对管理的承诺.(3)注意人员的培训问题, 技术建立技术支持活动,并有稳定的计划. 度量每个项目建立资源计划.主要是关心成本,产品和进度.有相应的管理数据.改进方向(1)不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织的标准软件过程.把改进组织的整体软件过程能力的软件过程活动,作为软件开发组织的责任.(2)确定全组织的标准软件过程,把软件工程及管理活动集成到一个稳固确定的软件过程中.从而可以跨项目改进软件过程效果,也可作为软件过程剪裁的基础.(3)建立软件工程过程小组(SEPG)长期承担评估与调控软件过程的任务,以适应未来软件项目的要求.(4)积累数据:建立组织的软件过程库及软件过程相关的文档库(5)加强培训.3,确定级特征:(1)无论管理方面或工程方面的软件过程都已文件化,标准化,并综合成软件开发组织的标准软件过程.(2)软件过程标准被应用到所有的工程中,用于编制和维护软件.有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁.(3)在从事一项工程时,产品的生产过程,花费,计划以及功能都是可以完全控制的,从而软件质量也可以控制.(4)软件工程过程组(SEPG)负责软件过程活动.(5)在全组织范围内安排培训计划.过程:(1)整个组织全面采用综合性的管理及工程过程来管理.软件工程和管理活动是稳定的和可重复的,具有连续性的.(2)软件过程起了预见及防范问题的作用,能使风险的影响最小化人员:(1)以项目组的方式进行工作.如同综合产品团队.(2)在整个组织内部的所有人对于所定义的软件过程的活动,任务有深入理解.大大加强了过程能力.(3)有计划地按人员的角色进行培训技术在定性基础上建立新的评估技术.度量:(1)在全过程中收集使用数据.(2)在全项目中系统性地共享数据改进方向(1)开始着手软件过程的定量分析,以达到定量地控制软件项目过程的效果.(2)通过软件的质量管理达到软件的质量目标.4,管理级特征:(1)制定了软件过程和产品质量的详细而具体的度量标准.软件过程和产品的质量都可以被理解和控制.(2)软件组织的能力是可预见的.原因是软件过程是被明确的度量标准所度量和操作.不言而喻.软件产品的质量就可以预见和得以控制.(3)组织的度量工程保证所有项目对生产率和质量进行度量,并作为重要的软件过程活功.(4)具有良好定义及一致的度量标服来指导软件过程,并作为评价软件过程及产品的定量基础.(5)在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程. 过程:(1)开始定量地认识软件过程.(2)软件过程的变化小.一般在可接受的范围内.(3)可以预见软件过程中和产品质量方面的一些趋势.一旦质量经度量后超出这些标准或是有所违反.可以采用一些方法去改正,以达到良好的日标.人员:每个项目中存在强烈的群体工作意识,因为每人都了解个人的作用与组织的关系,因此能够产生这种群体意识. 技术不断的在定量基础上评估新技术.度量:(1)在全组织内进行数据收集与确定.(2)度量标准化.(3)数据用于定量地理解软件过程及稳定软件过程.改进方向:(1)缺陷防范.不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷.(2)主动进行技术变动管理,标识,选择和评价新技术.使有效的新技术能在开发组织中施行,(3)进行过程变动管理.定义过程改进的目的,经常不断地进行过程改进.5,优化级特征:(1)整个组织特别关注软件过程改进的持续性,顶见及增强自身.防止缺陷及问题的发生.不断地提高他们的过程能力.(2)加强定量分析,通过来自过程的质量反馈和吸收新观念,新科技,使软件过程能不断地得到改进,(3)根据软件过程的效果,进行成本/利润分析,从成功的软件过程实践中吸取经验,加以总结.把最好的创新成绩迅速向全组织转移.对失败的案例,由软件过程小组近行分析以找出原因.(4)组织能找出过程的不足并预先改进.把失败的教训告知全体组织以防止重复以前的错误.(5)对软件过程的评价相对标准软件过程的改进,都在全组织内推广.过程:(1)不断地系统地改进软件过程(2)理解并消除产生问题的公共根源.在任何一个系统中都可找到:由于随机变化造成重复工作,进而导致时间浪费.为了防止浪费人力可能导致的系统变化.要消除"公共"的无效根源,防止浪费发生.尽管所有级别都存在这些问题,但这是第五级的焦点.人员:(1)整个组织都存在自觉的强烈的团队意识.(2)每个人都致力于过程改进.人们不再以达到里程碑的成就而满足,而要力求减少错误率. 技术基于定量的控制和管理,事先主动考虑新技术,追求新技术,利用新技术.可以实现软件开发中的方法和新技术的革新,以防止出现错误,不断提高产品的质量和生产率.度量:利用数据来评估,选择过程改进. 改进方向保持持续不断的软件过程改进.二,敏捷开发和高级别CMMI 关键字:高级别CMMI 敏捷开发我经常和别人一起讨论敏捷开发过程的知识,并且我们也会经常争论结合使用敏捷开发过程和CMMI 高级别的话题.他们两个是否能够结合使用?或者他们两个只是向相反的方向发展?带着这个疑问,下面我们一起来探讨. "这个问题可以说是老生常谈,但是我对第 5 级别中的那个基本差异有一个疑问,这个疑问会使人产生不安的情绪.CMMI1.2 强调了想在组织中控制结果的变更, 进而将其重心转移到了个人的身上.敏捷开发在意义上说不单单是为了让每个项目能在应对各种各样的环境中都拥有灵活的能力,并且可以让他们在这个环境中尽其所能表现的最好.我们并没有特别关注在所有项目中要规范行为以便可以预知结果是"可靠的". 但是,我并不清楚我现在尽力想说明的这种区别,是否确实是敏捷开发和CMMI 的基本概念中的一个基础的区别,还是只是组织如何解释和执行CMMI 第 5 级别的一个结果.当然,敏捷开发团队在过程模型和过程实践资产中拥有的信任似乎要比CMMI 团队中的要少――虽然在敏捷中没有方法可以规范这些事情即便他们是低成本的,但是没有假设说明这就是组织要走的路.事实上,敏捷开发支持者偏向于这样的想法, 在任何形式的可遇见的过程模型中快速地建立起逐渐减少的成果.是否这就是等同说敏捷开发支持者相信特殊原因会影响执行效果是如此的普遍,以至在组织中试图建立预见性的模型是无用的?" CMMI 第4 级别: QPM(量化项目管理):主要关注懂得过程行为变更的个别项目,他们认为这些变更影响着他们的成功和如何处理事情――或者至少影响着完成产品发展或者达成目标.组织单位(EPG)必须要监控成果. OPP(组织过程实践):主要关注集成模型,项目可以使用模型来规范他们想要达到成功的方面,比如说质量,进度表,预算,维护以及其他任何事情.诀窍就是项目在过程执行中以这些模型为基础,控制QPM 中的行为.比较典型的是,这些模型可能是基于相似的项目中的重复的结果不断建立起来的,虽然可能并没有这样的需求. 在个别项目级别中模型应该先被改进以便使用,所以在CMMI 模型中使用基于一个项目的历史数据(比如说,增量)或者20 个项目的历史数据是没有区别的,虽然这可能对使用者来说是有区别的. CMMI 第5 级别: CAR(原因分析与解决方法):主要关注引起问题的主要原因,过失,管理问题或者其他一切需要解决的问题.项目,EPG 或者其他任何人是否可以应用,是作为解决问题的方法.EPG 在OPP 中监控结果,或者得到别的经验.(敏捷开发是否在增量开始点或者结束点不建议进行类似的行为?我不清楚我所知道的术语是否正确) OID(组织创新与推展):完全非项目特点.关注基于个体,CAR,模型使用,外界因素等的组织改进.你是否会收集并且使用所有这些学到的经验?你进入企业后是否会寻求新的或者更好的做生意的方法(其中敏捷开发可能只是一个例子)?在组织中又该如何处理证明,分析(职业),和使用(结构请参照第 4 级别中的模型和过程控制)这些改进. 我个人认为CMMI 高级别和敏捷开发应该结合起来工作.敏捷可以帮助CMMI 高级别更容易实现短期的转变,并且它在处理事情的发展上起了很重要的作用.我的经验基本是从第5 级别得来的,有部分来自第4 级别.许多组织怀着"每个人都必须如此做"的想法而通过了第3 级别,但是他们却反对在第4,5 级别中有着同样的想法.就像我曾经提到的,敏捷开发是使用CMMI 第4,5 级别来改进如何发展产品的完美例子. CMMI 是Capability Maturity Model Integration(能力成熟度模型集成)的缩写, 是在CMM(Capability Maturity Model 能力成熟度模型)的基础上发展而来三,CMMI 实施现在很多企业因某种原因想做CMMI 了,大体做法1,决定实施CMMI 2,EPG 接受培训,理解CMMI 3,EPG 根据自己理解的CMMI 和实际情况开发一大堆漂漂亮亮的过程文档,流程图,表格,模板,检查单,作业指南. 4,大家边听着EPG 的解释(包括培训,答疑),边执行这些过程标准,然后审计(内,外) 将目前的最佳实践记录下来,写下来,文档化下来. 很多新的EPG 在做了一段时间后无奈的发现自己居然沦落成了一个过程标准解说员,甚至文档管理员.自己工作大部分时间是面对文档,或者督促别人写文档我到觉得EPG 最主要的工作应该深入到研发第一线,帮助研发人员解决研发过程中面临的最严重的实际问题(当然是解决方案要上升到过程高度,而不应是单个问题或个人),甚至哪怕是一些不严重但以你的项目经验知道该如何解决的问题上.总体说来就是掌握项目进展中的任何细微的技术难点要点,并主动记录下来. 为什么这么说呢?CMMI 实施的主要宗旨就是以每个项目为采集数据的源头,达到企业整体效益提升和资源重用.真正有价值的东西,是需要一线人员在实际工作中遇到问题,解决问题,并总结问题,不是一个一线工作的流水帐.就象一份研发人员的日报.写了上午做什么,下午做什么.这对企业的积累有什么用处呢?他工作过程中, 遇到什么问题,他是怎么解决的,走过什么弯路,实验过几种方法,失败了,失败的原因是什么,最后选择了什么方法,可能不是最好的,但完成了任务,达到了效率和资源分配的平衡.这些东西才可能是未来类似项目中,遇到类似问题时,可能有参考价值的.通常也是EPG 个人职业生涯的技术积累.只有公司里每个员工,把自己认为最有价值的积累贡献出来.才可能达到公司有价值的积累.而决不是形式上写的上午下午每个小时的流水帐. 明白了上面的说的CMMI 的目的,做为一个合格的EPG,就应该具备以下的素质: 1,明白什么是有价值的积累,先是对你个人,然后才是顺便帮公司做了积累. 2,深入一线,发现她们并忠实地记录她们.CMMI 里的SP,GP,只是帮助你,提醒你在哪个环节,哪些东西可能是有价值了.你去收集一下,别视而不见了.因为还有一个企业和你个人的角度不同,立场不同的问题.例如,REQM 里收集需求,对个人技术方面的积累虽然不多,但对企业是至关重要的,一次需求变更,没详细写清楚, 忘记了到客户那里去签字落实,可能就会给企业造成很大的损失.做为一个合格的EPG,是需要有这份责任和义务把每个环节都做到最好,这是职业道德所在.同时也是对自我延伸的一个好机会,学会一些和人的沟通,倾听,把专业的东西以平易的方式表达.这些也都算是EPG 额外的收获. 通常情况下,为了按时按量完成项目,一线的骨干,对写日报,周报,文档都很不屑.EPG 也很迁就,事后再补,这也不失为一个提高效率的好办法.但过去一个月半年了,我们正常人的记忆都能想象,很难记住细节.无非就是敷衍.这也在情理之中.你总不能让一个明天就要交东西的小组,今天晚上在通宵努力解决BUG 的同时, 还写什么报告,这也不尽人情.但作为EPG 不能只把眼光集中在这妇人之心上.要想的更远.为什么会把项目推到这么晚,BUG 还没解决完?难道要永远这样下去吗?项目中是有很多不可预测的因素,甚至是开发人员常说的"手气问题","人品问题".但这些是需要控制的,也是通过经验可以控制的,所谓艺高人胆大.艺的高低,就是经验的积累决定的. 那怎么解决这种两难的问题呢?逼着技术骨干写心水,人家没时间也的确压力很大.不写,公司又得不到有效积累,积累的都是垃圾流水.有个公司的办法和经验到可以借鉴一下: 公司内部搞了个BBS,把不同类型的工作分成不同的组,有纯技术的,JAVA 组, C++组等,也有PPT 组,甚至动画组,界面组.大家把自己平时的工作积累FTP 上去,甚至制作方法,遇到问题和解决方法的文档都丢上去,开始怎么想,用了多少套方案,最后选择了什么.自我感觉如何.把这些心路历程都写成文档.丢到阳光下, 大家评论.用点击率和"顶"的人数来说明谁写的是心水,谁在写垃圾.大家都是一个公司的,很容易实名.直接纳入考核机制中.做为一线人员,大家也有动力来写,自己的聪明才智有了展现的平台,虚荣心和荷包都得到了相应的满足.何乐而不为呢? EPG 适时的评估大家的成果,并把他们分到项目里.帮助项目总结,甚至在平时遇到问题时,直接帮助技术人员做必要记录.项目进度松时,再督促项目人员完善内容.以达到对个人和公司积累的最大化. EPG 应该明白学习和积累是个终身的过程,对公司如此,对个人也是如此.CMMI 是个辅助,辅助我们对公司做积累,也帮助我们个人做必要的积累.公司需要逐步走向更高的管理水平,发展平台. 四,CMMI 实施之核心关键字:CMMI,SCAMPI,过程改进,能力成熟度,EPG,PA,过程域在上一章节中,我们谈到了关于过程改进团队的组建方法及在组建过程中需要注意的问题,在本节中我们将继续探讨EPG 过程改进的另一个更为重要的一环——定义过程文档. 曾经有一位评估师开玩笑说,三级是写文档,四级是写文档的文档,五级是写文档的文档的文档.由此可见,文档贯穿于整个CMMI,在过程改进中起着举足轻重的作用.那么如何才能写出既符合CMMI 又立足于企业本身实际情况的文档呢?这就是本文将要探讨的问题——定义过程文档. 在定义过程文档时,首先,应该进行企业的习惯表述与CMMI 术语和语言间的映射.特别是组织结构中的一些术语,角色,组织内部之间关系以及过程活动的表述方式都需要映射到其组织的相应部分,以防止别人无法理解. 定义过程文档的一般步骤是: (1)先确定并描述产品的生命周期. 一般来说,产品生命周期可以划分为 6 个阶段,即产品概念阶段,产品定义阶段, 产品开发阶段, 产品测试阶段,用户验收阶段,产品维护阶段. (2)根据产品生命周期的各个阶段确定需要改进的过程域(PA)活动. "过程域"用于描述CMMI 标准定义的软件过程能力评估模型中的一种部件.在该模型中,"过程域"是最大的的构造块,每个"过程域"由一组目标构成,每个目标得到一组实践支持.模型中描述的过程是参考模板,用"过程域"来表示.不能与实际过程混淆."过程域"不是实际的过程,它是模型中的模板. (3)针对某一个PA 过程活动,完成PA 的数据流程图. (4)准备相应的模板,检查表或者方法附件定义过程文档.再在EPG 内部讨论修改,然后拿给评审人员阅读,最后是进行正式评审.进一步修订,再评审直到大家认可为止,再进入下一个PA 过程.(或者也可以评审通过后进行试点,试点成功再进入下有个PA 过程.) 根据自己多年的咨询经验,总结了在定义过程文档时一般容易出现的问题. 1,"本地化做得不够" 咨询顾问常常在项目进行中发现这样的问题:在定义某个PA 过程时,客户会过于依赖咨询公司提供的其他一些企业的过程文档,并将这些文档梢作调整成为其自己的过程文件.由于每个软件企业的情况是不一样,流程,规范,记录应该根据公司实际情况来制定,参照CMMI 框架,制定适合公司本身情况的"本地化"过程体系,这样的效果会更好. (2)总体把握,逐步细化在定义第一个PA 过程时,如果没有考虑它跟其它PA 之间的关系就直接参照CMMI 的此PA 的目标和实践完成了过程文件,可能发生的结果要么是无法通过评审, 要么就是通过了之后再返回进行修改.由于各PA 间关系密切,息息相关,因此在实际的定义过程中,先要从总体上把握住各PA 间关系,完成整个过程的数据流程图的基础上再进行逐步细分,否则即是"只见树木不见森林". (3)多交流,多总结由于在项目初期,EPG 小组对于CMMI 的理解不够透彻,大家也没什么经验,这就需要EPG 成员,QA,管理人员,开发人员之间多多交流,在定义过程文档时多讨论,集众人之智慧,随着过程定义的进展,EPG 小组对CMMI 的理解加深,就需要总结经验,避免将来在遇到类似问题的时候多走弯路.。
CMMI基础知识2-2和3级
项目计划(Project Planning)(PP)
Project Planning的目的:
建立和维护计划,计划规定了项目需要做 的活动。
那么,需要做到怎样的程度,才算把 PP做好考虑,发表一下?
4
1.基础工作
1. 2. 3. 4.
分解项目任务,做WBS 列出工作产品和工作任务 考虑采用怎样的软件开发生命周期 确定工作量、费用等
8
2级特点小结
软件开发的一些细节没有定义:如需求 开发、设计、编码、测试 全部的PA都是针对项目这一级的,没 有组织级的PA。
9
2级和我们的水平比较
我们完全达到了2级的水平! 大家充分理解了2级所需要做的各项工 作!
10
3级的特点
项目管理水平升级 细化了软件工程的各个环节 增加了决策流程 加入了组织级方面的要求
27
组织级方面的要求
组织过程聚焦(Organizational Process Focus)(OPF) 组织过程定义(Organizational Process Definition)(OPD) 组织培训(Organizational Training)
28
3级小结-1
项目管理水平升级
这类工作,就是要满足项目计划的第一个目 标(Goal):建立评估(Establish Estimates) 而以上每一项,就是一个实践(Practice)
5
2.写计划
1. 2. 3.
4.
5. 6. 7.
建立预算和进度 识别项目风险 计划好如何管理各类文档、代码等 计划好软硬件资源 计划好需要哪些培训或者技术支援 计划好与用户、外单位的交涉 把以上内容文档化 这是项目计划的第二个Goal:开发一个项目 计划(Develop a Project Plan)
CMMI-2级必需的和期望的模型要素
CMMI-2级必需的和期望的模型要素1.需求管理 (1)2.项目计划 (2)3.项目监控 (4)4.供应商协议管理 (5)5.测量与分析 (6)6.过程和产品质量保证 (8)7.配置管理 (9)1.需求管理1.1 目的需求管理的目的是管理项目产品和产品构件的需求,并且识别需求与项目计划、工作产品之间的矛盾。
1.2 具体目标和通用目标SG1管理需求需求已得到管理,并且需求与项目计划、工作产品之间的矛盾已被识别。
GG2制度化已管理的过程作为已管理的过程,过程已被制度化。
1.3 目标的实物1.3.1 SG1管理需求需求已得到管理,并且需求与项目计划、工作产品之间的矛盾已被识别。
SP1.1 取得对需求的理解理解需求提出者(提出)需求的确切意图。
SP1.2 取得需求承诺取得项目成员对需求的承诺。
SP1.3 管理需求更改管理项目进展中需求的更改。
SP1.4 保持需求的双向可追溯性保持需求与项目计划、工作产品相互之间的双向可追溯性。
SP1.5 识别项目工作和需求之间的矛盾识别项目计划、工作产品与需求之间的矛盾。
1.3.2 GG2制度化已管理的过程作为已管理的过程,过程已被制度化。
1.4 执行承诺GP2.1 建立组织的方针针对计划及执行需求管理的过程,建立组织的方针并加以保持。
1.5 执行能力GP2.2 计划过程制定并且保持执行需求管理过程的计划。
GP2.3 提供资源对执行需求管理过程、及过程中开发工作产品、提供服务,提供适当的资源。
GP2.4 分配职责对执行需求管理过程、及过程中开发工作产品、提供服务,分配职责和权限。
GP2.5 培训人员必须培训执行和支持需求管理过程的人员。
1.6 引导(过程的)执行GP2.6 管理配置给需求管理过程中的指定工作产品以适宜的配置管理水平。
GP2.7 识别并且包含相关方对照计划识别并且包含需求管理过程中的相关方。
GP2.8 监视和控制过程对照执行过程的计划,监视和控制需求管理过程,并采取适宜的纠正措施。
CMMI等级介绍
某公司刚刚拿到一笔订单,某公司让小张主要负责开发这个项目。
小张是名牌大学毕业高材生,一个人可以几天几夜不休息写出几千行代码,在某公司属于大侠级人物。
接到上司的任务,小张不敢怠慢,仔细阅读了项目合同,并和用户方通了电话,仔细询问了用户希望实现的需求。
经过一番深思熟虑,他的脑海里已经有了大概的构思。
于是,小张打开电脑,开始了他非常熟悉的编码工作。
一周过去了,老板过来询问项目的进展,小张说如果不出意外的话,一个月应该差不多能完成。
老板很高兴,夸奖小张很能干。
可接下来的事情并不像小张想象的那么顺利,他突然发现:由于一时疏忽,竟然忘掉了一个很重要的功能;如果将其加进去,需要推翻以前编写的大部分代码。
想到已经跟老板夸下海口,没有办法的小张只好连续加班好几个晚上,最后终于把代码修改完成了。
虽然经过了这样一次挫折,但是小张感觉还是比较庆幸:幸亏自己发现得早,要不然就死定了。
接下来的开发一切顺利,小张还是重复着夜以继日的编码工作。
眼看就要大功告成,小张很高兴得把喜讯告诉了老板,于是老板也很高兴得通知了客户,说下周你们就可以过来看产品了。
用户高高兴兴来到公司之后,当小张跟他们介绍产品时,用户却挑出了很多毛病。
原来小张当初没有完全理解用户的意图,此后也没有与用户进行太多沟通,他以为自己已经完全理解了用户需求,因此就按照心目中的想像把产品开发完成了。
看到用户提的那么多问题,小张别无选择。
于是,他又开始没日没夜地修改起了代码。
这次小张吸取上次的教训,跟用户进行了多次沟通,最后终于完成了产品。
但是整个开发进度却延迟了一个月。
虽然老板没有批评他,但是小张心里的滋味也不好受,可又能怪谁呢?只能怪自己运气不好,在项目中碰到了这么多倒霉的事情。
真的是小张那么倒霉吗?当然不是,而且他运气还算不错了。
按照他这样的开发过程,只发生这两件事情已经是非常幸运了。
在开发之前没有完全弄清楚用户的需求,也没有备忘录以免发生遗漏,更没有预先估计风险并采取预防措施,而只是碰运气,走一步算一步,你说能不出问题吗?所以,小张的开发过程还停留在CMMI第一级,也就是初始级的水平。
CMMI的5个级别和25个过程域
CMMI的5个级别和25个过程域CMMI (Capability Maturity Model Integration)是一个结构化的过程改进方法,用于评估和提升组织的软件工程能力。
CMMI分为五个不同的成熟度级别,每个级别都有一组相关的过程域。
本文将详细介绍CMMI的五个级别和25个过程域。
1. 初始级别 (Level 1 - Initial)初始级别指的是一个组织在软件开发方面缺乏组织化和预测性的过程。
在这个级别上,软件开发过程通常是不可控制的,且无法重复使用。
这意味着项目结果无法预测和控制,导致成本和进度的不确定性。
2. 执行级别 (Level 2 - Managed)执行级别指的是一个组织开始建立和管理自己的软件开发过程。
在这个级别上,组织已经建立了一些基本的软件开发过程,并能够在不同的项目中重复使用这些过程。
然而,这些过程还没有得到完全的规范和标准化。
2.1 需求管理 (Requirements Management)需求管理是确保正确、一致和可追踪需求的过程。
它涉及定义、确认和维护需求,以确保项目能够满足用户的期望。
2.2 项目计划与监控 (Project Planning and Monitoring)项目计划与监控是制定和监控项目时间表、成本和资源的过程。
它确保项目能够按计划进行,并能够做出合适的调整以达到预期的目标。
2.3 供应商协商 (Supplier Agreement Management)供应商协商是与供应商建立和维护合作关系的过程。
它确保与供应商的交付和管理能够满足项目的需求。
2.4 产品质量保证 (Product Quality Assurance)产品质量保证是确保项目交付的产品符合质量标准和用户期望的过程。
它涉及质量计划、质量审查和质量度量等活动。
2.5 配置管理 (Configuration Management)配置管理是管理项目的配置项(包括软件、硬件和文档等)的过程。
07-CMMI-L2-CM
• • • • • 生命周期的阶段 工作产品准备投入测试的时间 对工作产品的希望的控制程度 成本和进度限制 客户需求
5. 识别对每个配置项负责的所有者
版权所有 请勿翻印
27
CyberKeJi
举例
• 项目配置项清单 ○
版权所有 请勿翻印
28
CyberKeJi
8. 必要时修改配置管理结构
版权所有 请勿翻印
33
CyberKeJi
SP1.3 创建或发布基线
SP1.3 创建或发布基线:为内部使用和交付给客户创建或发布基 线
版权所有 请勿翻印
34
CyberKeJi
典型的工作产品
1. 基线 2. 基线描述
版权所有 请勿翻印
35
CyberKeJi
子实践
1. 在创建和发布配置项的基线之前,要从配置控制委员会(CCB) 得到授权 2. 仅从配置管理系统中的配置项创建或发布基线 3. 将基线所包含的一组配置项文档化 4. 使当前这组基线可用
版权所有 请勿翻印
20
CyberKeJi
CM语境图
SG1 建立基线 SP13 建立和发布 基线 SP21 跟踪变更 请求 SP22 控制配 置项 SG2 跟踪 和控制 变更
变更请求 SP12 建立配置管 理系统
SG3 建立完整性 审计结果 SP31 执行配置 审计
变更请求 数据库
行动项
SP11 识别配 置项
版权所有 请勿翻印
10
CyberKeJi
软件生命周期阶段的基线
项目计划等
功能基线
开发基线
产品基线
项目 启动
需求 分析
CMMI的2级是成功实施CMMI的基础
CMMI的2级是成功实施CMMI的基础CMMI的2级是成功实施CMMI的基础,真正将2级做好了,对企业的帮助也是很显著的,而很多企业恰恰忽略了2级PA的实施,从而导致CMMI 的实施难以见到实效,2级需要抓住哪些实效点一定要落实呢?我做了如下的归纳:1 建立WBS分解的方法指南,训练项目经理如何进行任务分解,充分识别项目范围。
很多项目经理即使经受了PMP的专业培训,仍然没有掌握WBS 分解的方法,正如很多人拿到了驾照不会开车一样,缺乏实际训练。
在实施CMMI2级时,组织级应该定义出来WBS分解的方法指南、模板,供项目经理参考,并对项目经理建立的WBS进行多次评审,训练其分解的技能。
2 建立组织级的估算方法指南,教会项目经理如果做估算,为项目的工作量、工期、质量的平衡提供依据。
估算是帮助项目经理进行能力平衡的手段,通过估算工作量、工期、成本等可以平衡能力需求与实际可提供的能力之间的差别,即使不能满足能力也要知道差别有多大,这种差别是否可以通过加班、加人、裁剪需求等来弥补,不能糊里糊涂的做项目,即使死,也要死的明白。
在项目组需要进行估算的时机主要有3个时间点:(1)需求不明确,需要给客户报价或项目立项时;(2)需求明确时,需要制定项目的开发计划;(3)在开发或维护过程中,需求发生变更时,需要变更项目计划或给客户承诺变更的完成时间。
在不同的时机,不同的输入条件下,对于不同类型的任务采用的估算方法不同,不能一概而论,因此项目经理要灵活掌握,组织级要给出明确的指南。
3 教会项目经理使用project排进度表,合理安排进度,优化资源投入。
排进度表时要定义出任务之间的先后顺序关系,然后识别关键路径,想办法减少关键路径的长度,然后安排资源,再识别出关键链,减少关键链的长度,合理安排缓冲的时间,这样才能保证项目在比较短的时间内完成,如果进度安排不合理,会造成人为地工期拉长,有人忙,有人闲。
借助于项目管理的工具可以帮助项目经理识别关键路径,减少排计划的工作量。
CMMIL2 各过程域解释(大信有诚咨询教育机构)
CMMI Level 2 GP2.1 方针GP2.1 方针对每一个PA,公司都应该有相应的高层次的要求来指导该方面的工作,也就是所谓的方针。
方针这东西很很容易被认为是虚的东西,我们需要仔细体会方针,这个GP是公司商业目标与过程的结合点,过程是否能为商业目标带来价值,很大程度上就看这个方针是怎样定的,并且要把方针贯彻到过程中。
我们以PP这个PA为例子,如果微软要定PP的方针,我想会是:1.赋予小组成员权力,每个人都承担项目管理的责任;2.保持灵巧,预测变化;3.由底而上的估算办法;......在MSF中,我们会看到很多微软进行项目管理的一些原理和法则,这些法则,指导着如何做项目计划,不同的这些方针指导下,做出来的过程是不一样的。
每个公司都有自己的特点、商业目标、企业文化等,最开始我们可能难以制定出详细具体的过程,但首先要把这些过程的指导原则想好,方针是过程的灵魂,过程是否有魅力,是否可以让大家“愉快地”执行,关键就是看过程的方针了。
在我们公司,所有过程都遵循这样的一个方针,就是简单有效,我们要求所有过程都是必须用来执行的,做不到的过程不做,没有效果的过程不要,因为有这样一个原则,我们需要发动所有执行过程的同事来参与制定过程,以保证“简单有效”。
我们除了有简单有效这样的一个大原则,每个PA又会制定自己相应的方针。
大家在制定方针内容的时候,要从高层及执行过程的员工两个层面同时下手,整理出简单的有效的容易记忆的方针,并且在以后不断更新这个方针,保证这个方针能不断促进公司的发展。
项目监督和控制计划不是用来看的,是用来执行的。
PP讲述了如何做计划,PMC讲述的就是如何跟踪计划的执行并在实际情况偏离计划时采取纠正行动。
我们先看看SG1,SG1讲述的是如何根据计划来跟踪计划的执行问题。
SG1: Actual performance and progress of the project are monitored against the project plan.中文大意是:根据计划,跟踪项目的实际性能和过程。
CMMI简介及CMMI2级的实施方案设计(DOC)
CMMI简介及CMMI2级的实施方案设计第一部分 CMMI简介:CMMI 全称是Capability Maturity Model Integration,,即软件能力成熟度模型集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。
CMMI (CMMI-SE/SW/IPPD)1.02 版本在部分国家和地区被SEI 开始推广和试用,主要应用于软件业项目,帮助提升对软件项目的管理能力。
随着模型本身的发展与应用的推广,CMMI 逐渐演变成为了一种被广泛采用的综合性模型。
在业界广泛使用的传统软件研发流程会带来一个严重的问题:存在于设计阶段的一个微小缺陷可能会直到后期的测试阶段才能被发现,而整个公司可能会花费数十倍甚至百倍的代价来改正这个缺陷。
为此,人力资源管理、软件采购、集成产品和过程开发、以及系统工程等等,多元化覆盖范围越来越广的能力成熟度模型应运而生。
1.1 CMMI 的作用软件能力成熟度集成模型(CMMI)经过长期积累和不断地优化,已经成功地发展并被认可为软件研发领域的标准过程体系,通过CMMI 可以增强企业核心竞争力、有效地提高软件企业产品质量,国内乃至国际上的广大软件厂商都已经见证了CMMI 为企业带来的成功。
目前众多业界的软件企业纷纷试图使用CMMI 来达到过程改进的趋势,怎样才能将过程改进有效地实施,使其能实质地对软件研发过程起到优化效果,并带来行之有效地经济价值,已经逐渐成为了软件企业的决策者们最为关心的问题。
由最新SEI 评估报告中的数据显示,在进行了CMMI 的评估的企业中,大部分都是商业组织,并且其中近一半的企业人员规模都是在100 人以下。
种种迹象均表明,CMMI 评估已经不仅仅吸引了大型IT 企业的注意力,同样存在大量的中小型企业也对此抱有浓厚的兴趣。
对软件企业来讲,CMMI 可以主要应用在两个地方:企业软件过程的改进和企业软件过程能力的评估。
1)过程改进对软件来说,要对其进行过程改进需要企业中的所有成员都参加的,这个过程不是一次性的,而是长久持续的不断循环过程。
CMMI L2 SAM解析
– 安全性需求
– 来自于未来产品发布的好处和影响 未来产品发布可能提供附加的功能支持对项目已计划的和预 期的升级,但也可能导致供应商撤回对项目获取的产品版本 的支持
4. 评估供应商执行性能和交付能力
5. 识别与所选择的COTS产品和供应商协议相关的风险
版权所有 请勿翻印 31
CyberKeJi
子实践 -3
版权所有 请勿翻印 24
CyberKeJi
子实践 -3
– 识别项目监督供应商的形式及深度、规程、 供应商绩效的评 估准则
– 识别与供应商应进行评审的类型 – 识别供应商对项目获取的产品持续维护和支持的职责 – 识别所获取的产品的保修单、所有权、使用权 – 识别接收准则 4. 确保协议的各方在执行协议前对其中所有需求的理解和同意 5. 必要时,修订供应商协议 6. 必要时,修订项目计划和承诺,以反映供应商协议的修订
CyberKeJi
CMMI L2 SAM
供应商协议管理
Supplier Agreement Management
优化级
已定量管理级 定量管理级
已定义级 已定义级
赛柏科技
已管理级 已管理级
初始级 初始级
版权所有 请勿翻印 1
CyberKeJi
主
题
I. 基本概念与示例
II. SG1及其特定实践
域
• 需要建立准则来,来处理项目的重要要素。如: – 供应商的地理位置 – 供应商在类似工作上的表现记录 – 工程能力
– 可用于执行工作的员工和设施
同样应用程序上的历史经验 版权所有 – 请勿翻印
17
CyberKeJi
典型工作产品
1. 候选供应商的列表 2. 首选供应商的列表 3. 选择供应商的理由 4. 候选供应商的优缺点 5. 评价准则 6. 邀标材料和需求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CMMI L2标准体系详解序:一个处于“无序化”生产的软件公司,要进行过程改进,首要是改进什么呢?做任何事情都需要计划,做软件开发这样复杂的工作更加需要计划,所以2级中有项目计划(PP)以及项目计划跟踪与控制(PMC)两个PA,分别对指定计划以及计划的执行给出了详细的标准。
人是会死的,需求是会变的。
需求变更是每个软件公司最头疼的问题,需求变更也是导致项目进度拖延、成本高涨的主要原因。
如何管理好需求呢?需求管理(RM)给出了详细的指引。
软件生产越来越复杂,有时候我们需要采购一些组件,用于项目中。
另外一个方面,纯软件的项目比例也慢慢缩小,很多软件是基于一定的硬件的,而不少硬件也是需要采购的。
如何采购到合适的软硬件,如何保证采购工作不影响项目成功呢?供应商协议管理(SAM)会给你一个解答。
软件是比较难进行量化管理的,但作为公司的管理者,总会想知道成本、进度、缺陷方面的一些数据,以了解项目的情况。
CMMI2级,已经对度量提出了要求,详细情况见度量(MA)这个PA。
如何保证软件生产过程中各类工作产品协调一致,配置管理(CM)会给出指导。
如何保证每个工作产品以及生产工作产品的过程是遵照规定执行的呢?产品与过程质量保证(PPQA)有明确的指引。
CMMI L2级一共有以下PA:1)项目计划(PP)2)项目计划跟踪与控制(PMC)3)需求管理(RM)4)供应商协议管理(SAM)5)度量(MA)6)配置管理(CM)7)产品与过程质量保证(PPQA)每个PA有什么乾坤呢?我们会详细向大家阐述。
目录一章:需求管理(Requirements Management) (2)二章:项目计划(Project Planning) (4)三章:项目跟踪和控制(Project Monitoring and Control) (6)四章:供应商协议(Supplier Agreement Management) (8)五章:过程与产品质量保证(Process and Product Quality Assurance) (9)六章:配置管理(Configuration Management) (10)七章:度量(Measurement and Analysis) (13)一章:需求管理(Requirements Management)人是会死的,需求是会变的。
相信大家都经历了很多需求变更的痛苦,项目被拖延,成本高涨,十有七八是需求管理没有做好导致的。
有哪一些需求管理方面的常见问题呢,这里列举一下:1.因为项目进度赶等原因,在很多需求还没有明确情况下,便开始开发的工作。
2.开始客户只能提出模糊的需求,客户喜欢先让你做个东西给他看,然后他才可能逐渐提出真正的需求,而需求调研人员,对此没有什么好的处理办法。
3.客户以种种原因不签需求,项目组在不签需求的情况下,便开始开发工作。
4.客户不承认之前提出来的需求,项目组又不能得失客户,项目成员苦不堪言。
5.需求经常变化,无法控制。
6.设计、代码与需求不对应,特别是需求变更时,不知道应该修改哪部分,也不知道会有哪些影响。
......这方面的问题可真是“罄竹难书”了,需求管理这个PA提供了能解决以上大部分问题的最佳实践。
RM(Requirements Management)只有一个Specific Goals:Manage RequirementsRequirements are managed and inconsistencies with project plans and workproducts are identified.中文大意是:管理需求并且识别出需求与项目计划、工作产品不一致的地方。
这句话有两层意思:1.需求要被管理,被管理的意思又有两层:一是需求要被确认,二是要控制需求变更2.需求要用来指导下游的工作产品,如:计划、设计、测试等下面简单介绍一下这个Specific Goals下的5个Specific Practice:第一个SP是:理解需求。
开发者应该理解客户的需求,如果这点做不到,后面的工作是没有意义的。
所以,那种在没有理解需求的情况下,就仓促开发的做法是不合适的。
当然,如果想通过做原型来获取需求不在此列,另外,大家也千万不要误解,在没有完全理解需求前一定不能开展开发工作,如果部分需求已经掌握,有部分需求还没有掌握,那也是可以先开展已掌握部分需求的设计、编码工作的,这时需要考虑没有确定部分的需求对这些工作可能带来的影响。
这个SP的英文原文是:Develop an understanding with the requirements providers on the meaning of the requirements.第二个SP是:确认需求,就是要和客户签署需求。
我想大家都非常理解这点的重要性,但大家可能会说,说得容易,客户就是不签,咋办?客户不签需求,主要是两方面的原因:1)客户不确定需求。
中国组织过程改进网2)客户担心签了需求后,他就不好变了。
对于原因一,解决办法就是大家需要把SP1理解需求做好,如何把需求理解做好,更详细的内容可以参考3级的需求开发(RD),这里先不详细解说。
对于原因二,要消除客户的顾虑,首先签署需求不是单方面的约束,其实也是对开发方的约束,就是说我们要承诺做出这样的一个东西,如果做不出来,客户可以追究我们的责任,另外一个方面,要跟客户说清楚,需求是可以变的,现在签署只是标志着当前的一个工作里程碑,当前签订的需求,是我们后续工作的一个基准。
大家可能又会问如果只能确定一部分需求,客户还是不愿意签,咋办?那就先签确定部分的需求呗!这个SP 的英文原文是:Obtain commitment to the requirements from the project participants.第三个SP 是:管理需求变更。
需求不是不可以变,只不过需要管理。
客户今天说改这,明天改那,后天又不算数,咋办?怎样才算管理需求变更呢?1.要充分理解客户提出来的需求变更,深究其原因,不能客户一说变就变,超过一半的客户变更要求,其实都是不合理的,或者是有其它更好的替代办法的。
2.客户提出来的变更要求,要书面记录,并让客户确认,和客户讨论需求变更过程来往的邮件要保存好,和客户面谈、聊电话后,要发邮件总结当此会谈达成的要点共识,总之就是要有书面记录。
3.客户提出来的需求变更,要分析所有的影响,包括增加多少的工作量,需要修改或者增加哪些设计文档代码等,可能会引发什么风险等。
所有这些要列出清单,反馈给客户,让客户确认。
4.如果需求变更导致项目成本和进度变化太大,超出可承受范围,则需要高层领导出面,和客户协商调整费用。
这个SP 的英文原文是:Manage changes to the requirements as they evolve during the project.第四个SP 是:维护需求的双向跟踪。
需求是用来指导后续工作的,所以需求与计划、设计、编码、测试等后续工作都需要维护好对应的关系,这个工作与第三个SP 是关系密切的,如果这个关系没有维护好,那么SP1.3也不可能做好。
这样是不是双向跟踪就能做好呢?不是,双向跟踪的意思不是由A 能找到B,由B 又能找到A 就叫双向跟踪。
双向跟踪是只纵向和横向跟踪,前面提到的只是纵向跟踪,纵向跟踪的意思是上下游工作产品之间的跟踪关系。
而横向跟踪指的是需求与需求之间的关系、设计与设计之前的关系、代码与代码之间的关系等。
其中一个需求变化了,有可能影响另外一些需求,其中一个设计变了也可能影响另外一些设计。
所以,这个双向跟踪网络,将会是一个很强的网络,任何一点发生变化,能找出全部受牵连的地方。
这个SP 的英文原文是:Maintain bidirectional traceability among the requirements and the project plans and work products.第五个SP 是:识别出需求与下游工作产品不一致的地方。
这里有两层意思:1.需求变更时,利用双向跟踪表找出需要修改的地方,并用跟踪表来发现不一致的地方并调整。
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2008For Evaluation Only.2.编写或者修改计划、设计、代码、测试计划、测试用例等需求下游工作产品的时候,要注意要与需求保持一致。
这个SP的英文原文是:Identify inconsistencies between the project plans and work products and the requirements.二章:项目计划(Project Planning)大家都明白这样的一个道理:做事情要有计划,有一个不成熟的计划总比没有计划要好,软件开发这么复杂的活动,更加需要计划。
那么应该怎样做好一个计划呢?如果对项目的范围、规模、性质、任务、工作量、费用等都不了解的情况下,是不可能做出计划的,所以做好计划的第一步就是要把这些东西搞清楚。
PP这个PA的第一个Specific Goals,中文大意是:建立和维护用于项目计划的各类参数的估算,英文原文是:Estimates of project planning parameters are established and maintained.下面我们再详细看看,到底做计划之前,需要搞清楚什么东西?SP1.1:Estimate the Scope of the Project.估计项目的范围,如项目的目标、任务、工作产品等。
这里通常就是指WBS(top-level work breakdown structure),试想一下,我们做计划之前不是常常要先对任务进行分解吗?SP1.2:Establish Estimates of Work Product and Task Atrributes.估计工作产品及任务的属性。
做计划的时,我们会先列出这个项目要产生的工作产品,以及这个项目要完成的任务等,然后我们需要分析这些任务、工作产品的规模、工作量、复杂度、代码行数等所谓的属性。
CMMI 并没有规定一定要分析什么属性,具体由企业自己来选择适合自己需要分析的属性。
在CMM模型的时候,项目计划这个PA硬性规定了需要分析的几大属性,CMMI模型中已经改进,不再强制要求。
分析这些属性的目的是对任务、工作产品等更加了解,以便于做好计划。
SP1.3Define the project life-cycle phases upon which to scope the planning effort.定义项目生命周期。