项目计划的CMMI过程改进方法研究文档格式.docx
- 文档编号:17134751
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:17
- 大小:328.01KB
项目计划的CMMI过程改进方法研究文档格式.docx
《项目计划的CMMI过程改进方法研究文档格式.docx》由会员分享,可在线阅读,更多相关《项目计划的CMMI过程改进方法研究文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
过程被文档化后才能成为规范。
过程与产品存在因果关系。
即好的过程才能得到好的产品,而差的过程只会得到差的产品。
图1:
过程三要素
软件过程改进
从20世纪90年代至今,软件过程改进成为软件工程学科的一个主流研究方向,其中CMM和CMMI、RUP、AgileProcess、PMBOK是该领域举世瞩目的重大成果。
提高软件过程能力的实践通称为软件过程改进(SoftwareProcessImprovement)。
软件过程改进的根本目的是提高质量、提高生产率并且降低开发成本。
软件过程改进的主要过程域有:
⏹工程类的主要过程域
项目规划(面向开发过程)、需求开发、系统设计、软件实现、软件测试、软件维护等。
⏹管理类的主要过程域
项目规划(面向项目规划的复核)、项目监控、需求管理、质量管理、配置管理等。
软件过程改进的六条原则
⏹从上至下;
⏹全员参与;
⏹激励机制;
⏹了解自己;
⏹持续改进;
⏹持久支持.
2、软件过程改进的复杂性
布鲁克斯博士认为软件技术中已经有了三个主要的突破:
高级语言、分时共享和软件开发环境。
他建议要改变软件生产方式,并指出在软件生产方面取得重大突破的最大希望在于培训和鼓励伟大的设计师。
计算机软件是一种逻辑产品,它的设计和生产过程是一组具有严密组织的智力活动,必须遵循其独特的规律,要从复杂性的角度研究它。
理论上,准时完成软件产品看似容易,但事实上,大多数公司都失败了。
创造智力资产的重点是你必须将一群人的智力,用很聪明的方式结合起来,这也是整个软件开发过程中最艰辛的部分。
因为软件像所有资本一样是具体化的知识,也因为从宏观看来知识最初是分散的、不明显的、隐藏的且不完整的,软件开发是一个社会的学习过程。
该过程是一个对话,其中必须变成软件的知识被集中到一起并具体化到软件中,该过程提供了用户和设计者间、用户和演化的工具间以及设计者和演化的工具(技术)间的交互。
它是一个迭代的过程,在其中演化的工具本身作为通信的媒介,随着每个新一轮的对话,从参与人员引导出更有用的知识。
软件生产改进途径
图2:
软件过程改进途径
软件过程改进六原理
⏹领导原理(HP1):
软件过程的主要改变始于高层领导。
高层领导需要发起改变并提供持续的资源及优先级。
⏹团队原理(HP2):
最终将涉及到每个人。
软件工程是团队的努力,改进中任何人的缺席将失去好处,也可能阻碍进步。
⏹计划原理(HP3):
有效地改变需要有当前过程的目标和知识。
使用地图时你必须知道当前你在哪儿。
⏹成熟度原理(HP4):
变化是持续的。
软件过程改进不是暂时的,涉及到持续地学习和不断地强化。
⏹绩效原理(HP5):
没有明确地努力和定期地强化就不能保持软件过程改变
⏹投资原理(HP6):
软件过程改变需要投资。
需要计划,配备专职人员以及管理时间和资金投入。
软件过程改进复杂性七命题
⏹成熟度命题:
需要不断地组织学习以持续地改进全组织的软件支持过程能力。
⏹效果命题:
需要明确地努力和定期地强化其效果。
⏹领导命题:
需要高层领导的发起、参与和支持。
⏹过程命题:
需要仔细地进行过程设计来减轻甚至消除软件支持过程认知障碍并提高群体认知活动的效力和效率。
⏹文档命题:
需要文档(解释和沟通)支持过程活动可视化,使得复杂的智力密集的支持过程活动得到有效地控制。
⏹团队命题:
需要全体人员的协作和努力。
⏹投资命题:
图3:
SPI复杂性七命题
WattsS.Humphrey认为软件过程改进的关键在于:
(1)为改变软件过程,需要有人为此工作(领导命题、团队命题和投资命题);
(2)无计划的过程改进只是一相情愿(过程命题和文档命题);
(3)自动化差的已定义过程将产生差的已定义结果(能力命题);
(4)改进应该以小的、可测试的步骤进行(能力命题、效果命题和投资命题);
(5)培训、培训再培训(能力命题和投资命题)。
3、CMMI介绍
CMMI(CapabilityMaturityModelIntegration),即能力成熟度模型集成。
是由美国卡内基-梅隆大学软件工程研究所(SEI)发布的技术报告,是软件过程改进方面得到国际认可的标准,并为国内外众多大、中型软件/IT公司广泛推行,,也是评估组织当前开发管理状况的标尺。
CMMI的目的是为软件组织改进和提高过程能力提供指南。
其内容涵盖系统工程和软件工程管理的最佳实践,涉及产品的开发和维护活动、覆盖产品从概念提出到交付和维护的全生存周期。
CMMI的核心理念
图4:
CMMI核心理念
CMMI对国内软件企业发展的推动
国内软件企业短期内快速开展过程改进和评估,虽然存在各种各样的问题和争论,也缺少富有说服力的定量的投资收益数据,但在以下方面的收益是不容置疑的:
⏹培养了一批软件过程改进人才,尤其是SEPG组长;
⏹软件从业人员的质量管理和过程改进意识得到极大提高;
⏹软件企业项目管理、开发过程管理水平得到较快提高;
⏹对于有一定规模的软件企业,过程改进和评估可以更好地促进其健康稳定的成长;
⏹软件开发和生产活动的规范化,为软件产业的快速发展奠定了基础。
4、遵循CMMI思想的项目计划过程指导规范
4.1目的
建立、维护、规定项目各项活动的计划。
确保项目正确、准确的执行。
4.2范围
进行项目估算、确定项目计划、获得承诺的活动全过程。
4.3术语定义
项目计划:
一般指的是项目的整体计划,包括从属计划。
项目策划:
指策划、制定项目计划的整个过程。
PM:
项目经理。
WBS:
工作分解结构。
一般,工作分解结构是一种面向产品的结构,它围绕项目工作所支持的产品,给出一个用以标识和组织该工作的各个逻辑单元的图解方案。
工作分解结构可以作为一种参考机制或框架,用于考虑分配工作量、进度和责任,并且还可以用于策划、组织和控制围绕该项目进行的工作。
可以通过工作分解结构把一个整体项目划分成若干互连的可管理的组成部分。
工作产品:
用于指由过程产生的任何人工制品。
这些人工制品可能包括文卷、文档、产品的一部分、代码、服务、过程、规范以及清单等。
项目数据:
也可以理解为项目资料,这些数据是为支持某个规划在其所有各个领域(例如,事务管理、工程化、配置、财务、后勤、质量、安全、制造以及采购等)所要求的各种文件。
技术管理委员会:
公司的常设的以各种技术专家参加的技术管理、评审、决断性组织。
一般包括项目经理、技术专家,项目总监和技术副总可以以技术专家的身份参加。
在具体的项目中,客户的技术专家也可以加入。
项目干系人:
与项目相关的,在项目过程中有共同利益的(圆满的完成项目的)除了项目组以外的其他相关责任人,包括客户,高级经理,协助工作的部门,支持部门,QA人员等。
参与项目的评审、会议,建议,为项目的工作产品和项目管理的质量和实现提供帮助。
项目组:
项目内部的人员,工程组,包括:
项目经理、需求小组、设计小组、开发小组、测试小组、实施小组、配置管理小组、度量小组的统称。
4.4职责
角色
活动
技术管理委员会
项目组
项目经理
客户
项目总监
技术副总
项目估算
必要时参与
参与
组织参与
制定
项目计划
评审计划
获得承诺
承诺
4.5裁剪指南
依据项目特点:
可对估算的方式、力度进行裁剪。
对于项目计划的内容和项目生命周期阶段进行剪裁
对于项目的阶段工程活动的质量级别和频度进行剪裁
可对参加估算的组成人员进行裁剪。
可对参加评审计划的组成人员进行裁剪。
4.6过程
本过程包括项目估算与项目策划两个过程。
4.7项目估算
4.7.1概要图
4.7.2启动条件
项目立项确认、项目经理及项目组成员被指定;
项目需求范围已经确定;
4.7.3输入
《客户需求范围》
《立项书》
4.7.4活动
分析项目确定估算参与人员
项目经理依据合同中客户提供的项目的信息,或者与客户交流得到的信息,或需求开发的结果,确定参与项目策划阶段的项目估算过程中的人员、角色、活动等。
一般情况下,参与估算的人员包括需求小组,设计小组、开发小组的主要成员,还有可能邀请其他项目组以外的外部专家来参与项目的估算。
估计项目范围
项目经理组织估算人员依据合同中客户提供的项目的信息,或者与客户交流得到的信息,确定软件系统的范围,进行任务描述,工作产品描述。
项目经理要填写《项目估算表》中的“任务、工作产品描述”部分的内容。
详细标识工作产品,以便说明项目任务、责任和进度等的评估情况
项目经理组织估算人员标识出系统的部件及相关的产出物、说明性文档等(工作产品),用来估计“设计、开发、测试”(任务)工作产品的工作量;
用来估计审查、管理、维护、支持“设计、开发、测试工作产品”的工作量。
标识项目以外的与项目相关的工作产品
项目经理组织估算人员识别出哪些是项目以外的工作产品,包括要采购的物品,外部成熟的组件,算法等;
项目有哪些有关的可能的部件或系统,关系是什么?
识别项目中可能要复用的工作产品、Make-or-Buy决策的内容
项目经理组织估算人员依据经验,识别出可以复用的工作产品,一般指可以复用项目以外的来源的工作产品。
可以参考《组织过程财富库》中的可复用的代码、过程、算法等内容。
项目经理组织估算人员进行Make-or-Buy决策,估计出哪些产品组件需要购买、哪些产品组件是应该由开发、制造的。
估计的结果可以作为采购的依据。
估算项目有哪些详细的功能、工作产品、哪些任务。
估计项目生命周期
项目经理组织估算人员依据项目需求的范围、对项目资源的估计以及项目的性质确定项目生命周期。
项目经理组织估算人员完成这个工作时应尽可能按一个成熟的软件过程来进行,并适合于当前项目。
一般的开发模型有V模型;
递增法;
迭代式;
螺旋推进式;
瀑布法;
或几种综合使用。
参照组织定义的《项目生命周期选用指南》文档。
一般大型项目的生命周期可以能划分几大块,如概念研究、开发、生产、运行和处置等阶段。
这些阶段可能还分若干子阶段:
例如,开发阶段可能包含诸如需求分析、设计、编码、集成和验证等子阶段。
根据开发战略,可能还有一些中间阶段用于创建原型、增加能力或用于螺旋模型的各个周期等。
中小型项目一般不再划分大的过程和子阶段,一般确定的是开发的生命周期,包括诸如需求分析、设计、编码、集成、测试、验收、试运行等阶段。
估计项目的工作产品和任务的属性
估计工作产品及任务的哪些属性。
估计该项目用的技术解决途径(体系架构、安全性等);
任务和工作产品的规模、工作量、成本、进度、难度、复杂度、项目风险、技能、资源等。
一般情况下,项目经理可以请项目组内的专家级的成员参与估计。
根据项目的重要性等情况,还可以请项目以外的专家参与估计。
以下活动可以分步完成,也可以依据时间的紧迫程度由项目经理或项目经理召集项目内的专家也可以请项目外的专家一同完成。
项目经理要填写《项目估算表》中的“任务、工作产品描述”、“估计方法和模型”部分内容。
估计项目的技术解决途径
项目经理组织估算人员依据项目的需求,估计其他的项目的策略(如安全性、稳定性、健壮性、可操作性、通用性等)。
确定估计方法和模型
项目经理组织估算人员依据项目的需求,确定估计的方法和模型,如DELPHI方法、头脑风暴法等。
项目经理可以指派或请求项目组成员(如系统分析员)来帮助自己完成这个任务。
估计工作产品和任务的属性
项目经理组织估算人员综合利用确定的体系架构、其他的项目策略、选定的估计方法或模型,针对活动中已经识别的工作产品,估计工作产品的属性,以及与这些工作产品相关的工作任务的属性。
属性包括规模、工作量、成本、进度、难度、复杂度、项目风险、技能、资源等。
项目经理可以邀请项目组成员(如系统分析员等专家)或项目外的专家来参与估计的工作。
估计工作产品和任务的各属性的估计值
项目经理组织估算人员依据已经产出的依据对工作量和成本进行估计。
项目经理填写《项目估算表》中的“工作量、成本”部分的内容。
收集历史数据或模型
项目经理组织估算人员通过组织或个人收集的历史上项目的数据,为下一步的估计准备。
这些数据将要用于把工作产品和作业的属性转换成对工作小时数、进度和成本的估计。
了解一般估计的模型,公式等。
如DELPHI方法等。
估计项目的规模
项目经理组织估算人员对项目的规模进行估算,包括代码量(代码行或功能点)、文档量。
估计工作量和成本
项目经理组织估算人员利用历史数据和估计模型来估计各工作产品的工作量。
依据规模、工作量来估计成本。
项目经理要提供充足的用于估计的依据,保证估计是在一个可靠的,有依据的前提下得到的结果。
估计的结果是经得起检查和检验的。
工作量应包括开发、管理、测试、实施、支持等所有工作的工作量。
估计项目的进度
项目经理组织估算人员依据工作量和规模,估计项目的进度
估计所需的资源
项目经理组织估算人员估计项目中所需的资源。
一般指的是计算机资源和软件资源。
包括开发用机,测试用机,外围设备,各种软件环境。
估计项目风险
项目经理组织估算人员依据需求文档和项目现状,对风险进行估计。
4.7.5输出
《项目估算表》
《项目过程定义书》
4.7.6关闭标准
项目经过估算过程,得到了能够经得起检验的《项目估算表》。
4.8确定项目计划
4.8.1概要图
4.8.2启动条件
4.8.3输入
4.8.4活动
编制预算、进度
项目经理依据《项目估算表》表中的相关内容编制并维护预算与进度。
项目经理编制《项目任务进度安排表》。
Ø
识别里程碑
项目经理识别任务的依赖关系、前后顺序等。
项目经理识别任务、工作产品的约束条件,形成类似关键路径的概念。
形成《里程碑计划》
编制并维护预算和进度
项目经理依据前边活动中已经建立的估计值和生命周期编制和维护项目的预算和进度。
编制和维护项目的预算和进度一般包含以下活动:
确定对资源和设施的承诺的或预期的可用性;
确定各项活动的时间分段;
确定分解各个从属进度;
确定各个活动之间的依存性;
为支持准确地度量进展,确定各个进度活动和里程碑;
确定向顾客交付产品的里程碑;
确定各个活动的适当的持续时间;
确定里程碑的适当时间跨度;
根据实现该进度的置信度水平确定管理后备;
利用适当的历史数据验证进度;
确定可能增加的资金需求;
确定预算和进度发生问题时或产生偏差时的评判准则。
项目经理利用工具形成预算文档,形成《项目任务进度安排表》初稿。
建议用MS-Project来完成《项目任务进度安排表》。
识别项目风险
项目经理通过使用组织《风险库》识别项目风险,识别项目的特殊风险。
具体活动参照《风险管理过程文件》中的内容。
策划项目资料管理,制定项目资料管理计划
项目资料(或项目数据)是为支持某个项目在其所有各个领域(例如,业务管理、工程化标准、配置、财务、后勤、质量、安全、制造以及采购等)所要求的各种文件。
数据或资料的存在形式是各种各样的,有纸制的、电子形式的等等。
包括印刷品、光盘、多媒体、电子邮件、传真、电话录音等等。
项目经理编写“项目资料管理计划”,将其作为《项目计划》的一部分来完成。
建立数据访问机制
项目经理策划数据、资料的访问权限、访问或借阅机制、保密机制等。
项目经理策划数据管理人员的职责与权限。
一般项目中数据管理是由项目经理来完成的。
确定要管理的数据的范围
项目经理策划哪些数据要纳入到项目数据管理的范围。
建立数据管理计划
电子数据用配置管理工具来管理。
纸质数据用文档管理方式来管理,利用文件柜、文档列表清单等方式来管理。
项目经理编写并维护项目资料管理计划。
策划项目所需资源
项目经理依据项目需求、各种估计值,策划项目所需的人员、设备、设施、构件等。
项目经理编制“资源”计划,填写《项目计划》中的“资源”和“角色与职责”中。
计划人员安排
计划项目中应该安排的人员、数量及角色。
依据项目现有人员提出项目人员的需求。
项目经理形成《项目计划》中的“角色与职责”。
策划资源
项目经理策划项目所需的各种资源:
设施(项目需求的场地、网络及其他的环境等)、设备(计算机、服务器、打印机、传真机、交换机等)、软件(操作系统、开发工具、辅助软件等)、构件(复用、采购)。
策划项目所必须的知识和技能
项目经理依据项目需求、各种估计值,策划项目所须的知识、技能、岗位人员安排。
项目经理依据组织提供的人员,制定现有人员的培训需求和计划。
项目经理编制“项目职位技能对照表”、“项目培训计划”、“项目人员需求”等,完善《项目任务进度安排表》。
确定项目需要的特殊技能和知识
项目经理依据项目需求、各种估计值,策划项目所须的特殊的知识、技能。
确定项目组现有的技能和知识
项目经理依据项目组现状,确定项目组内现在的知识、技能水平和状况。
确定项目人员的需求和培训计划
项目经理根据项目需求的特殊的知识和技能,分析组织已提供的项目组成员的能力,对比差距,制定项目组的培训计划。
策划项目干系人的活动安排
项目经理应考虑项目干系人、相关人员的介入项目的活动。
协调、计划、安排这些人员的介入项目的时间、时机、活动,及产生的相关影响。
这些活动一般包括:
项目培训中的外部培训活动;
设备采购过程验收或领用活动;
客户方的介入活动;
评审中的外部专家或客户的活动等。
还包括与这些项目干系人的协调活动。
项目经理在《项目计划》中的“相关人员及活动”部分阐明对这些活动的安排。
审查从属计划
项目经理综合审查项目计划的从属计划,项目经理也可以在召集评审会,对项目计划的评审时,一并审查这些从属计划。
这些计划一般包括《配置管理计划》、《质量保证计划》、《测试计划》、《度量计划》等
项目经理审查从属计划的目的是协调执行从属计划的人员及活动,以确保相关人员和活动能够得到保证、承诺、正确的实施。
从属计划一般是由项目组其他成员或项目干系人配合来完成。
审查从属计划可参照《集成的项目管理过程文件》中的“综合计划”部分。
协调资源
项目经理综合考虑项目计划和从属计划,协调其中的关系、利益、资源等。
确保工作与提供的资源相适应,将不适应的地方做出适当的协调、修改。
综合制定计划
项目经理综合考虑前面的所有活动,完善并完成《项目计划》的主体计划。
参见《集成项目管理过程文件》的“综合策划项目过程”的“综合计划”活动。
评审并确认项目计划
项目经理组织项目的所有相关人员参与审查项目计划及从属计划。
参与审查项目计划的人员一般包括:
项目经理、项目组成员、项目干系人(包括采购专员、QA、培训专员、客户代表等)、高级经理(项目总监、技术副总裁等)等。
项目经理应提供《项目估算表》作为评审《项目计划》的参考资料。
当项目计划经过评审、修改后,通过各相关方的认可、确认,达到在某一层次上的一致认可时,应由项目经理组织相关人员对相关工作的权利与义务、活动安排等做出承诺,签订承诺文档。
一般的承诺文档体现为“项目计划评审”文档的签字。
重大项目的项目计划可以单独形成一份“项目承诺”文档。
并把它作为已经能作评审的《项目计划》的一部分或附属文件。
承诺可以有以下的载体来承载:
电子文档、签字的文档、电子邮件、传真、电话录音等等,由项目与客户双方共同承认的形式。
4.8.5输出
《项目任务进度安排表》或《里程碑计划》
《项目计划》
《项目计划评审报告》
《质量管理计划》、《配置管理计划》、《测试计划》、《度量计划》
4.8.6关闭标准
《项目计划》通过评审,纳入配置管理,并得到承诺。
4.9审核
项目经理初步审核《项目计划》的从属计划。
项目的相关方、项目干系人参加《项目计划》及其从属计划的评审。
项目总监、技术副总参与《项目计划》的评审。
QA人员审核整个项目策划过程及过程产品。
4.10度量
估计的项目的工作产品和任务的个数、属性;
各属性的估计值;
参加项目估算的人员数量、工时、工期。
项目估算过程的文档量。
形成项目计划的人员数量、工时、工期。
综合审查各计划时发现的问题的数量。
参加评审的人数、评审的时间、评审发现的问题数
整个项目策划过程的参与人数、工时、工期。
整个项目策划过程的文档页数。
4.11技能要求
项目经理、参与估算人员掌握估算的技巧、方法、模型。
项目经理有良好的组织协调能力。
项目经理对项目业务领域的充分了解。
项目经理要有需求分析的能力。
参与评审的人员掌握评审的方法、过程、技能。
4.12参照文件
《风险管理过程文件》
《集成的项目管理过程文件》
《培训管理过程文件》
《采购管理过程文件》
《度量分析过程文件》
《估算指南》
CMMI模型V1.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 计划 CMMI 过程 改进 方法 研究