CMM与项目管理课件.ppt

上传人(卖家):晟晟文业 文档编号:4984907 上传时间:2023-01-30 格式:PPT 页数:89 大小:236.02KB
下载 相关 举报
CMM与项目管理课件.ppt_第1页
第1页 / 共89页
CMM与项目管理课件.ppt_第2页
第2页 / 共89页
CMM与项目管理课件.ppt_第3页
第3页 / 共89页
CMM与项目管理课件.ppt_第4页
第4页 / 共89页
CMM与项目管理课件.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

1、第二事业部寇东lCMM简介l项目管理简介l软件项目管理l软件工程需求工程软件测试 主管在项目在进行过程中询问项目的进展情况,主管在项目在进行过程中询问项目的进展情况,你挠挠头皮:设计做的差不多了,一部分已经开始编你挠挠头皮:设计做的差不多了,一部分已经开始编码了。码了。主管不满意了:什么时候能交活?你有些底气不主管不满意了:什么时候能交活?你有些底气不足:至少还得一个多月的时间。主管着急了:就剩两足:至少还得一个多月的时间。主管着急了:就剩两周的时间了,你要花一个月,上一周你还答应可以在周的时间了,你要花一个月,上一周你还答应可以在三周内完成。三周内完成。六周过去了,你的项目组还在测试,还在修

2、改代六周过去了,你的项目组还在测试,还在修改代码。两个月过去了,项目终于完成了。尽管客户有不码。两个月过去了,项目终于完成了。尽管客户有不少抱怨,但总算做了验收。少抱怨,但总算做了验收。下一个项目会怎样?下一个项目会怎样?设定目标度量与跟踪预测与纠正计划与评审4312理性管理度量与跟踪要求有纪律的工作要求具体的计划计划评审和协商设定具有短期目标和目的目标的评审和跟踪预测并纠正问题监督经营业绩l软件项目管理的重要原则:软件项目管理的重要原则:重视软件质量重视软件质量 始终如一地强调有纪律的工程工作始终如一地强调有纪律的工程工作l理性管理的四要素理性管理的四要素CMM/CMMI/PSP(Perso

3、nal Software Process)/TSP(Team Software Process)lA software process can be defined A software process can be defined as a set of activitiesas a set of activities,methodsmethods,practicespractices,and transformations that and transformations that people use to develop and maintain people use to devel

4、op and maintain software and the associated software and the associated productsproducts(e.g.e.g.,project plansproject plans,design documentsdesign documents,codescodes,test casestest cases,and user manualsand user manuals)。)。l如何工作(软件开发和维护)如何工作(软件开发和维护)l遵循这样的软件流程,有多大可能可以遵循这样的软件流程,有多大可能可以达到预计的结果。达到预计

5、的结果。l软件流程能力提供了一种有效的手段,软件流程能力提供了一种有效的手段,可以预计软件组织承担某个项目最有可可以预计软件组织承担某个项目最有可能的结果是什么样的。能的结果是什么样的。l代表了遵循这样的软件流程,真正达到代表了遵循这样的软件流程,真正达到的结果是怎样的。的结果是怎样的。l软件流程能力表述的是期望的结果,而软件流程能力表述的是期望的结果,而软件流程性能表述的是实际的结果。软件流程性能表述的是实际的结果。l不成熟的组织最大的特征就是不成熟的组织最大的特征就是“救火救火”,只顾、,只顾、也只能忙于解决眼前的问题,而眼前的问题又也只能忙于解决眼前的问题,而眼前的问题又往往一个接一个。

6、往往一个接一个。l成熟的组织要有序得多,力图预防问题,而非成熟的组织要有序得多,力图预防问题,而非应付问题,虽然也可能出现意外情况,但对此应付问题,虽然也可能出现意外情况,但对此是早有防范的,是有准备的。是早有防范的,是有准备的。l成熟与否导致的最终结果就是客户对其能否胜成熟与否导致的最终结果就是客户对其能否胜任软件项目的信心有所不同不同。任软件项目的信心有所不同不同。l一个特定的流程在多大程度上被明白无误的定一个特定的流程在多大程度上被明白无误的定义、管理、衡量和控制,以及有多有效。义、管理、衡量和控制,以及有多有效。l软件组织的软件流程成熟度预示着它的软件流软件组织的软件流程成熟度预示着它

7、的软件流程能力有多大的发展潜力,这不仅指它的软件程能力有多大的发展潜力,这不仅指它的软件流程有多丰富,多完备,而且指这些软件流程流程有多丰富,多完备,而且指这些软件流程在最大程度上是在最大程度上是一致一致的,在整个组织范围内,的,在整个组织范围内,在在任何一个任何一个项目中,都是被很好的项目中,都是被很好的了解和贯彻了解和贯彻。lCMM CMM 是一个阶梯是一个阶梯式的模型式的模型l它根据软件组织它根据软件组织的流程成熟度高的流程成熟度高低分成了低分成了5 5 个级个级别(别(levellevel),),从第一级的初始从第一级的初始级一直到第五级级一直到第五级的优化级的优化级初始级可重复级已定

8、义级可管理级优化级纪律化标准化可预测持续改进l任何一个软件组织,在某个时刻,都可以依据任何一个软件组织,在某个时刻,都可以依据一定的标准来被划定处于哪个级别。这个组织一定的标准来被划定处于哪个级别。这个组织就可以知道,它下一步要争取的级别是哪一级。就可以知道,它下一步要争取的级别是哪一级。lCMMCMM可以说是一个指导软件组织如何一步一步可以说是一个指导软件组织如何一步一步的走向成熟的框架。每一个低的级别都是向更的走向成熟的框架。每一个低的级别都是向更高级别迈进的基础。高级别迈进的基础。l除了初始级外,每个级别都包括若干个除了初始级外,每个级别都包括若干个KPAKPA,每个每个KPA KPA

9、又设定了又设定了2 2 至至4 4 个目标。当某个个目标。当某个KPA KPA 的所有目标达到时,就可以说该的所有目标达到时,就可以说该KPA KPA 被满足了;被满足了;l当某个级别的所有当某个级别的所有KPAKPA(除了极个别(除了极个别KPA KPA 不是不是必须的)都被满足时,我们就可以说,已经达必须的)都被满足时,我们就可以说,已经达到该级别了。到该级别了。类别等级管理类组织类工程类优化级技术更新管理过程变更管理缺陷预防可管理级 量化过程管理软件质量管理已定义级集成软件管理组间协调组织过程焦点;组织过程定义;培训大纲软件产品工程;同级评审可重复级需求管理;软件项目计划;软件项目跟踪与

10、监督;软件子合同管理;软件质量保证;软件配置管理初始级l既要利用既要利用KPA KPA 有重点、有次序的指导流程改进,也不有重点、有次序的指导流程改进,也不要眼里只有要眼里只有KPAKPA,忘记了现实的状况。,忘记了现实的状况。l有关键流程区,当然还有非关键流程区;所以,千万有关键流程区,当然还有非关键流程区;所以,千万不要以为,处于某个级别的组织,所要面对的流程只不要以为,处于某个级别的组织,所要面对的流程只是那几个是那几个KPAKPA;要做的流程,其实远远不止这些。;要做的流程,其实远远不止这些。l可重复级只有可重复级只有6 6 个个KPAKPA,没有涉及基本的软件工程活动,没有涉及基本的

11、软件工程活动l(如系统设计、软件测试),也没有涉及项目资源(如系统设计、软件测试),也没有涉及项目资源(如必须的软硬件和其他设备)采购、客户交流等等,(如必须的软硬件和其他设备)采购、客户交流等等,而这些对于做好项目(更不要说要可重复了)也是非而这些对于做好项目(更不要说要可重复了)也是非常重要的。常重要的。lCMM CMM 没有涉及这些流程,是因为它把这些流程归结为没有涉及这些流程,是因为它把这些流程归结为“非关键非关键”的,但的,但“非关键非关键”并不等同于可忽略的。并不等同于可忽略的。l关键过程区表明关键过程的实施和制度化l每个每个KPA KPA 都包含了相关的一系列都包含了相关的一系列

12、KPKP,这些,这些KP KP 提供了达提供了达到到KPA KPA 目标的一个指导。目标的一个指导。l是指导,而非必须。正所谓是指导,而非必须。正所谓“条条大路通罗马条条大路通罗马”,我,我们完全可以采取其他的做法(们完全可以采取其他的做法(PracticePractice)来满足目标,)来满足目标,甚至可以是甚至可以是CMM CMM 没有提到的没有提到的PracticePractice。l每个每个KPA KPA 的所有的所有KP KP 都按照都按照共有特性共有特性(common featurecommon feature)归类归类l将将KPA KPA 的的KP KP 按照共有特性组织起来,完

13、全是为了方便按照共有特性组织起来,完全是为了方便l实施承诺(实施承诺(commitment to performcommitment to perform)实施承诺通常包括是否建立了相关的制度,管理层实施承诺通常包括是否建立了相关的制度,管理层是否支持等等。是否支持等等。l实施能力实施能力(ability to performability to perform)包括诸如是否有足够的人力资源、培训等等包括诸如是否有足够的人力资源、培训等等l实施活动(实施活动(activities performed activities performed)l度量和分析(度量和分析(measurement a

14、nd analysis measurement and analysis)l实施验证(实施验证(verifying implementationverifying implementation)lKPA KPA 达成目标的一贯性和有达成目标的一贯性和有效性,而不是今天能达到,效性,而不是今天能达到,明天就很难说。明天就很难说。l特点:项目的成功与否不是靠合理有效的软件流程来特点:项目的成功与否不是靠合理有效的软件流程来保证的,而是靠个人能力来保证的。无论组织内部的保证的,而是靠个人能力来保证的。无论组织内部的管理高层,还是外部的客户,都无法预见其项目的前管理高层,还是外部的客户,都无法预见其项

15、目的前景和结果,更不要说将结果控制在预算和进度之内。景和结果,更不要说将结果控制在预算和进度之内。l要求:初始级没有任何要求:初始级没有任何KPAKPA,这一点与其他各级不同。,这一点与其他各级不同。在在CMMCMM中,只要从事软件生产和维护,该软件组织就自中,只要从事软件生产和维护,该软件组织就自动达到第一级。而再往上就要经过动达到第一级。而再往上就要经过CMM CMM 评估了。评估了。l注意:不要把未经注意:不要把未经CMM CMM 评估与处于初始级两者混淆,评估与处于初始级两者混淆,有些软件组织虽然没有经过有些软件组织虽然没有经过CMM CMM 评估,但以评估,但以CMMCMM的要求的要

16、求看,也许远远超出初始级的标准。看,也许远远超出初始级的标准。l软件组织能力不再受制于个人,但是也非组织拥有,而是依赖于软件组织能力不再受制于个人,但是也非组织拥有,而是依赖于项目组。项目组从以往的类似项目中归纳成功经验和失败教训,项目组。项目组从以往的类似项目中归纳成功经验和失败教训,并以此作为指导新项目开展的依据,从而在很大程度上,可以保并以此作为指导新项目开展的依据,从而在很大程度上,可以保证类似项目的再次成功。证类似项目的再次成功。l用一个词来概括,那就是用一个词来概括,那就是“有纪律的有纪律的”。项目组在其范围内,实。项目组在其范围内,实施基本的项目管理,并对进度、预算和产品功能进行

17、计划和跟踪,施基本的项目管理,并对进度、预算和产品功能进行计划和跟踪,这样,项目的进展处于一种基本可控的状态。这样,项目的进展处于一种基本可控的状态。l一个软件项目不再是一个一个软件项目不再是一个“魔术般魔术般”的黑箱子,而是一些连续的的黑箱子,而是一些连续的黑箱子。黑箱子。l管理层的表率作用。管理层人员必须首先注重自身流管理层的表率作用。管理层人员必须首先注重自身流程的纪律化。程的纪律化。l有些项目经理或者质量管理人员,往往首先看到的是有些项目经理或者质量管理人员,往往首先看到的是“程序员程序员”的自由散漫,一要流程改进,就要求的自由散漫,一要流程改进,就要求“程程序员序员”遵循这个规矩那个

18、条例,就要写文档,开大会;遵循这个规矩那个条例,就要写文档,开大会;这不仅违背了这不仅违背了CMM CMM 的初衷,更败坏了流程改进的名声的初衷,更败坏了流程改进的名声l缺乏群众基础的流程改进,无法取得实效缺乏群众基础的流程改进,无法取得实效l需求管理需求管理(Requirement ManagementRequirement Management)l软件项目计划(软件项目计划(Software Project PlanningSoftware Project Planning)l软件项目跟踪和监控(软件项目跟踪和监控(Software Project Tracking Software Pr

19、oject Tracking and Oversightand Oversight)l软件转包合同管理(软件转包合同管理(Software SubcontrackSoftware Subcontrack ManagementManagement)l软件质量保障软件质量保障(Software Quality AssuranceSoftware Quality Assurance)l软件配置管理(软件配置管理(Software Configuration Software Configuration ManagementManagement)。)。l是在整个组织范围内,开发和维护软件的流程,包括管

20、理的和工是在整个组织范围内,开发和维护软件的流程,包括管理的和工程的,以及这些流程的集成,已被明确地书面定义。程的,以及这些流程的集成,已被明确地书面定义。l各个项目就可以依据这一流程标准进行裁剪,明确其中每一项具各个项目就可以依据这一流程标准进行裁剪,明确其中每一项具体任务和工作的输入、输出、开始和完成的判断标准和条件、操体任务和工作的输入、输出、开始和完成的判断标准和条件、操作过程、以及验证措施等等。作过程、以及验证措施等等。l已定义级不再是一些连续的黑盒;由于每一项具体任务和工作都已定义级不再是一些连续的黑盒;由于每一项具体任务和工作都是可见的,因此外部人员可以随时深入到是可见的,因此外

21、部人员可以随时深入到“黑盒黑盒”中,了解项目中,了解项目内部的进展情况,从而也使项目的及时调整和降低风险成为可能。内部的进展情况,从而也使项目的及时调整和降低风险成为可能。l不同项目和历史项目的成功经验和失败教训可以相互比较不同项目和历史项目的成功经验和失败教训可以相互比较l已定义级组织的能力是属于组织的,而不是项目团队的,更不是已定义级组织的能力是属于组织的,而不是项目团队的,更不是成员个人的。成员个人的。l为了保证整个组织流程的标准和一致性,通常会有一个跨项目的为了保证整个组织流程的标准和一致性,通常会有一个跨项目的团队,比如团队,比如SEPGSEPG(Software Engineeri

22、ng Process GroupSoftware Engineering Process Group)负责)负责整个组织的流程活动。整个组织的流程活动。l为了使组织内每一个人明确自己的角色和权责,并能有效实施,为了使组织内每一个人明确自己的角色和权责,并能有效实施,整个组织范围内的培训是必不可少的。整个组织范围内的培训是必不可少的。l要建立起这样的流程,对个人的工作要授权,不要过分刻板。要建立起这样的流程,对个人的工作要授权,不要过分刻板。l常有人把常有人把CMM CMM 解释为刻板的文档和僵硬的工作规范,这样的理解解释为刻板的文档和僵硬的工作规范,这样的理解至少是极端化的。刻板僵硬,以及随之

23、而来的官僚作风,并不是至少是极端化的。刻板僵硬,以及随之而来的官僚作风,并不是CMMCMM天生使然,而是对天生使然,而是对CMMCMM的曲解和误用。的曲解和误用。l组织过程焦点(Organization Process Focus)l组织过程定义(Organization Process Definition)l培训大纲(Training Program)l集成软件管理(Integrated Software Management)l软件产品工程(Software Product Engineering)l组间协调(Intergroup Coordination)l同级评审(Peer Revi

24、ews)l定性的比较发展为定量的比较,从而使得人们(无论定性的比较发展为定量的比较,从而使得人们(无论是内部的,还是外部的)可以更加科学、客观的预测是内部的,还是外部的)可以更加科学、客观的预测软件项目的进度、预算和质量。软件项目的进度、预算和质量。l定量是指在一定的概率内使结果误差控制在一定的范定量是指在一定的概率内使结果误差控制在一定的范围内。如:存在围内。如:存在90%90%的可能,进度误差不超过的可能,进度误差不超过20%20%。l处于受管理级的组织能及时采取纠正和弥补措施。处于受管理级的组织能及时采取纠正和弥补措施。l确定要度量些什么。确定要度量些什么。l依靠收集和挖掘自身历史数据进

25、行软件度量。依靠收集和挖掘自身历史数据进行软件度量。l量化过程管理(Quantitative Process Management)l软件质量管理(Software Quality Management)l重点从重点从“建立建立”进一步转移到进一步转移到“优化优化”上。上。l优化靠自己的积累、尝试和总结经验教训。优化靠自己的积累、尝试和总结经验教训。l具备了自我改进的基础架构和实现系统。尽管组织的具备了自我改进的基础架构和实现系统。尽管组织的内部情况会变化,外部环境和要求也会不同,但组织内部情况会变化,外部环境和要求也会不同,但组织都可以在原有的基础上进行可控可测的流程优化,因都可以在原有的基

26、础上进行可控可测的流程优化,因为流程的每一个环节都是可见的、可客观评价的为流程的每一个环节都是可见的、可客观评价的l缺陷预防(Defect Prevention)l技术更新管理(Technology Change Management)l过程变更管理(Process Change Management)lCMMCMM高级别和低级别之间是存在很强的依赖性的,这样高级别和低级别之间是存在很强的依赖性的,这样的依赖性不是强加的,而是自然的,符合逻辑和实践的依赖性不是强加的,而是自然的,符合逻辑和实践检验的。检验的。l跳跃式前进的结果只能是拔苗助长,导致生产率和质跳跃式前进的结果只能是拔苗助长,导致生

27、产率和质量的下降。量的下降。l不仅成熟度级别之间存在严格的先后关系,在各个不仅成熟度级别之间存在严格的先后关系,在各个KPA KPA 之间,即使在同一级别内,也存在严格的先后关系。之间,即使在同一级别内,也存在严格的先后关系。例如,需求管理是项目计划的基础,而项目计划又是例如,需求管理是项目计划的基础,而项目计划又是项目跟踪与监控的前提。项目跟踪与监控的前提。l项目是一个组织为实现自己既定的目标,在一定的时间、人员和资源约束条件下,所开展的一种具有一定独特性的一次性工作。lPMI的定义的定义:A temporary endeavor undertaken to create a unique

28、product or service.在一段时间内为完成某一独特的产品或提供独特的服务所进行努力的过程。l1项目集成管理 确保各种项目工作和项目的成功要素能够很好的协调与配合,以及相应的管理理论、方法、工具。l2项目范围管理 计划和界定一个项目或项目阶段需要完成的工作和必须要完成的工作的管理工作的理论、方法、工具。l3项目时间管理 又叫项目工期进度管理,是有关如何按时完成项目工作的理论、方法、工具。l4项目成本管理 又叫项目选价管理,是如何在不超出项目预算的情况下完成整个项目工作,所需的管理理论、方法、工具。l5项目质量管理 如何确保项目质量,以及保证项目质量所需的管理理论、方法、工具。l6

29、项目人力资源管理 如何更有效地利用项目所涉及的人力资源,以及在项目人力资源管理方面所需的管理理论、方法、工具。l7项目沟通管理 如何有效、及时地生成、收集、储存、处理和最有效的使用项目信息,以及在项目信息和沟通管理方面所需的管理理论、方法、工具。8项目风险管理 如何识别项目风险、分析项目风险和应对项目风险,以及项目风险管理所需的管理理论方法、工具。l9项目采购管理 也叫做项目获得管理,是有关从项目组织外部寻求和获得各种商品与劳务的管理,以及这一管理所需的理论、方法、工具。许多项目涉及到承包商为购买方工作的情况。在这种情况下,购买方提供最初的产品描述,也成为工作说明(SOW)l现代项目管理理论认

30、为任何项目都是由两个过程构成:其一是项目的实现过程 其二是项目的管理过程l现代项目管理将整个项目的全部工作看成是由一系列项目阶段构成的一个完整的项目生命周期。l项目的定义与决策阶段项目的定义与决策阶段l项目的计划和设计阶段项目的计划和设计阶段工期计划、成本计划、质量计划、资源计划和集成计划l项目的实施与控制阶段项目的实施与控制阶段l项目的完工与交付阶段项目的完工与交付阶段l一个项目的全过程或项目阶段都需要有一个相对应的项目管理过程。这种项目管理过程一般由五个不同的管理具体工作过程构成。l起始过程起始过程l计划过程计划过程l实施过程实施过程l控制过程控制过程l收尾过程收尾过程起始过程各管理工作过

31、程之间的相互联系各管理工作过程之间的相互联系结束过程控制过程实施过程过程计划过程起始过程计划过程实施过程控制过程控制过程计划过程实施过程结束过程起始过程活动过程阶段始点阶段终点时间一个项目阶段中管理工作过程的交叉、重叠关系图示一个项目阶段中管理工作过程的交叉、重叠关系图示(前面的阶段)(后面的阶段)项目阶段之间的管理工作过程间的相互作用项目阶段之间的管理工作过程间的相互作用项目设计阶段项目实施阶段起始过程起始过程计划过程计划过程实施过程控制过程结束过程结束过程实施过程控制过程l必须遵循那些经试验证明效果良好的方法谨慎地执行每个工程任务l必须用文档正确地记录工作产品,以便其他人员能够查阅它们。l

32、项目任务必须经过仔细规划,并将它们分配给执行项目的人员,然后在项目执行的同时对它们进行跟踪。l换句话说,要成功地执行较大规模的项目,必须在软件工程和项目管理这两方面增强正规程度和严格程度。l软件项目主要涉及两方面的任务:软件工程和项目管理。l软件工程方面涉及系统的建立,并重点关注如何分析需求、设计、测试、编码等问题。l项目管理方面涉及如何设置里程碑、组织全体人员、管理风险、监督进展等规划和控制软件工程的行为,以满足项目在成本、进度和质量方面的目标。l从技术上讲,对于某个任务的一个过程,它由执行该任务时应当遵循的一个步骤序列组成。l对一个组织而言,它建议其工程师和项目经理使用的过程就远非一个步骤

33、序列了;它们涵盖了工程师们和项目经理所掌握的成功地执行项目的实践。l通过过程就可能将好的经验同所有人共享,包括公司中新来的员工。l 这些过程有助于管理人员和工程师借鉴过去的成功经验,从而避开导致失败的陷阱。l过程代表着集体的智慧,使用它们可以增加成功的机会。l过程可能会包含一些多余的步骤,但是你事先不可能完全知道哪些步骤是不必要的,因些捷径可能会增加风险。l 如果没有采用过程,你就不能很好好预测项目的结果。如果没有定义过程,你和组织就不能进行有效地学习。而学习和提高是当今知识世界必有可少的事情。l过程减少了你须考虑的问题。检查表(checklist)必须会涵盖80%要做的事情,大大地减少了你的

34、任务,因而你只须完成剩下的20%。l有效的过程有助于成功地执行一个项目l软件CMM提出了有效过程特征的框架。lCMM是目前使用最为普遍的软件过程改进框架之一(现在其他常用框架有ISO9001)。l第2级(可重复等级)KPA的目标l明确地表明第2级的重点几乎全部在项目管理上。l在这些目标指导下,你建立一个项目计划并用文档记录它,l根据计划评估正在进行的项目的绩效,l并在实际绩效明显地偏离计划时采取相应的措施。l需求用文档正确地记录下来,并对需求的变更进行正确的管理。l所有工作产品都在控制之中,并根据一个事先制定好的配置管理计划正确地管理对产品的变列。l执行评审与审计。确保遵循计划的过程和标们标准

35、。l如果项目的某些部分被转包给其他软件开发商,则也要对被转包的工作进行正确地监督。l第第3级(已定义级)中级(已定义级)中3个个KPA的目标的目标 l重点强调组织管理和过程管理问题。l对于达到第3级能力成熟度的组织中的项目,它使用专用型的标准过程,并重用以往项目的资源、数据和经验进行规划。l执行项目的各小组通过良好定义的接口和机制进行愉快地合作。正确地执行评审以标识出工作产品中存在的缺陷,并为执行评审和随后的任务提供充分的支持。l第第4级(已管理级)上级(已管理级)上KPA的目标的目标 l在第4级上,组织的过程能力用量化术语表示,过程能力用于设定一个项目的量化目标。l有关项目绩效方面的数据在当

36、前的基础之上进行收集并与以往的绩效进行比较;如果觉察到明显的偏差,则采取正确的行动恢复对项目的控制。l第4级的一个关键特点是在当前基础上使用统计过程控制技术,以便在需要时可以评估每种任务并采取正确的行动。l第5级上的3个KPA重点强调过程能力的改进。在这3个KPA中,故障预防KPA对项目管理影响最大。l这个KPA要求通过系统地分析故障的原因,然后消除那原因,从而前瞻性地预防故障。l如果能够预防故障进入软件,则可以减去排除它们的工作量,从而提高质量和生产率。l执行一个项目的全部责任由项目经理负责。l他必须确保项目团队在规定的成本内按时将高质量的软件交付给客户。l为了帮助项目经理实现这一责任,必须

37、得到组织的支持(权力下放)。l软件企业应该设立质量部门,其下辖一个软件工程过程小组(software engineering process group,简称SEPG)。lSEPG负责协调所有过程任务,包括过程定义、过程改进以及过程部署。l它还管理所有与过程使用相关的信息和数据(诸如过程数据库和过程能力基准)l提交产品的全部责任(包括质量)属于项目团队,但是SEPG使得项目团队能够轻松地遵循正确的过程。lSEPG还形成了一个独立地监督过程问题和质量问题的渠道,并通过这个渠道向高级管理层报告这些问题。l因为“过程不能依靠过程本身得到坚持”,所以SEPG有助于确保已义的过程得以实现并成为标准的实践

38、。lSPEG要制定定期独立审计的计划,并对它们进行管理,以确保已定义的过程和标准得以遵守。lSEPG除了提供过程培训外,还提供了一个与项目相关的成员,称为软件质量顾问称为软件质量顾问(software quality advisor)。l质量顾问帮助定义过程和遵循过程,确保过程得以遵守,帮助分析数据,并提供任何需的过程培训。l因为顾问非常精通于项目过程、指南等等,所以顾问的主要帮助在对项目规划的过程中。顾问还评审目计划,以确保它包含了全部的关键要素。l项目经理执行的一系列任务可以在项目管理项目管理(project management)过程中加以规定。l这是一个非常标准化的过程,有五个主要阶段

39、:l项目启动l项目规划l项目执行l项目监控l项目收尾l 执行项目启动和管理任务 制定一个包含进度的项目计划 执行项目计划和进度计划的评审 获得高级管理人员的授权 定义和评审配置管理计划 使项目团队适应项目管理计划l 牵涉到客户、一个SEPG代表以及项目的业务经理l 开始的标志是签定了项目合同或者得到了项目授权。而收尾的标志是已经用文档记录了项目计划,并且小组对它们进行了评审l在这一阶段团阶的其他成员也要参与。l开始的标志是项目计划已经完成并得到了批准,而结尾的标志是所有交付的工和产品为客户所接受。l主要是在客户接受工作产品之后对项目进行系统的总结。l这里的主要目标是从经验中进行学习,以便能够改

40、进过程,项目完成后的数据分析构成了这一阶段的主要任务;对度量标准进行了分析,过程资源(诸如模板和指南等材料可用于帮助管理过程本身)被收集起来供以后使用,并记录有关的经验教训。l公共知识库l软件配置管理l工作量与进度估算l质量规划l风险控制l项目启动l项目计划l项目评审l项目监控l项目收尾l每个项目经理都在他自己的领域内努力工作,力争建立最优的项目过程来执行其项目和产生他能够实现的估计l尽管其他团队在早些时候已经执行过类似的项目,并且他们的经验和数据能够极大地减轻项目经理的痛苦。但项目经理们不仅从头开始重新投资他们的规划工作,而且他们“计划”重蹈他们之前的项目经理犯过的同样的错误l建立一个所有项

41、目的管理人员都能够访问的公建立一个所有项目的管理人员都能够访问的公共知识库(共知识库(institutional memory)l过程数据库(过程数据库(process database,PDB)保存已完成项目的绩效数据。保存已完成项目的绩效数据。l过程能力基准(过程能力基准(process capability baseline,PCB)概括各个项目的绩效,定量地规定遵循过程所能达概括各个项目的绩效,定量地规定遵循过程所能达到的结果范围。如果遵循相同的过程,就可以预测到的结果范围。如果遵循相同的过程,就可以预测出项目的结果范围。出项目的结果范围。l过程资源(过程资源(process asse

42、t)文档,诸如检查表、模板、方法以及所吸取的经验教训文档,诸如检查表、模板、方法以及所吸取的经验教训即总结以往经验的材料,它们能帮助项目经理和工程师有效即总结以往经验的材料,它们能帮助项目经理和工程师有效地使用过程地使用过程l项目特征项目特征名称、项目经理、业务部门、遵循的过程名称、项目经理、业务部门、遵循的过程应用领域、平台、编程语言、应用领域、平台、编程语言、DBMSDBMS目标、风险、团队规模目标、风险、团队规模l项目进度和工作量项目进度和工作量l项目规模项目规模代码行数代码行数(Line Of Code,LOC)(Line Of Code,LOC);复杂度(简单;复杂度(简单/中等中等

43、/复杂);复杂);功能功能点(点(Function Point)l故障故障在各种故障检测任务中发现的故障数量在各种故障检测任务中发现的故障数量在不同阶段增加的故障数在不同阶段增加的故障数从需求评审、设计评审、代码评审到单元测试及其他阶段中发现的从需求评审、设计评审、代码评审到单元测试及其他阶段中发现的故障数故障数l备注备注关于估计的备注(如:将程序分类成简单关于估计的备注(如:将程序分类成简单/中等中等/复杂三类的指标)复杂三类的指标)关于风险管理的备注(如:风险认识在项目执行过程中的变化)关于风险管理的备注(如:风险认识在项目执行过程中的变化)l过程的能力是指在遵循过程的情况下可对项目期望的

44、结果范围;一个稳定的过程的能力可以由过程以往的绩效所决定。l过程能力基准表示在某些时间点上过程能力的量化瞬态图l软件质量;生产率;进度计划;工作量分布;故障引入率/排除率;质量成本l指南、检查表和模板指南、检查表和模板l简化过程使用,减少工作量,提高生产率简化过程使用,减少工作量,提高生产率l知识库知识库项目管理计划,配置管理计划,进度计划,培训材料等需求设计编码规范评审、检查和测试质量保证和生产率l对变更进行系统地控制l管理计算机软件产品的进化的纪律l给出程序的状态:何时开始测试或发行?l处理并发变更;取消变更;防止未授权变更或删除l提供需求变更申请和程序变更之间的可跟踪性l取消需求变更;显

45、示相关变更l收集当前系统的所有源代码、文档和其他信息l文件命名约定l版本控制l变更申请跟踪l访问控制l变更协调l变更登记l配置管理规划l状态转移管理l变更申请管理l状态监督l配置审计l需求规范、设计文档、源代码、测试计划、测试脚本、测试程序、测试数据、项目使用的标准(诸如编码标准和设计标准)、验收计划lCM计划和项目计划等文档l用户手册等用户文档l培训材料等文档l合同文件(包括支持工具,诸如编译器或者内部工具)l质量记录(评审记录、测试记录)lCM记录(版本记录、状态跟踪记录)l客户提供的任何产品或者购买的任何东西(如果将要成为发布的软件的一部分)l确定配置项和规定用来控制和实现其变更的程序l

46、定义命名机制和编码机制,目录结构,访问限制,变更控制过程l定义CC或CCB的责任和权限,配置项状态的跟踪方法,将配置项移入基准库的时机l正在开发-正在评审-基线状态l在状态变更时将配置从一个目录移到另一个目录,然后在完成变更后建立新版本。l 接受变更申请(影响分析之后)建立一种跟踪机制 检查需要进行变更的配置项 执行变更 注册配置项 在项目的整个生命期内维护该项目l状态监督除了检查配置项的状态外,项目还必须检查变更申请的状态。l配置审计的目的是确保项目执行确实遵循CM过程。l项目工作分解结构(WBS)l工作量估计工作量估计l进度估计进度估计l进度计划进度计划l将项目及其主要交付结果层层分解,划

47、分成一些较小、更容易安排时间与费用等单元活动,这种方法称之为项目工作分解结构。l项目工作分解结构有两种表达方式:图形式和清单式。l按项目的主要交付结果分;l按产品本身的结构分;l按实施项目的时间顺序分;l按组织的职责分;l用多种方法进行估计,验证主要估计方法的正确性,减少风险l自底向上估计方法l自顶向下估计方法l用例点方法l找出程序,并将程序分为简单(S)、中等复杂(M)和复杂程序(C)l根据PCB求得S/M/C程序的构建工作量。l用PDB中类似项目的数据定主S/M/C程序的构建工作量。l用PCB中S/M/C程序的平均构建工作量。l用项目特有因素优化S/M/C程序的构建工作量。l用S/M/C程

48、序的工作量及其程序数求得总的构建工作量。l用PCB给定的工作量分布情况或者PCB中给定的类似项目,估计其他任务工作量和总工作量。l基于项目特有的因素优化估计。l求以功能点为单位的软件的总规模。l用项目专用能力基准、基本过程能力基准或同类项目的生产率数据,确定项目的生产率水平。l根据生产率和规模估计求总工作量估计。l使用过程能力基准或者同类项目中的工作量分布数据估计各阶段的工作量。l考虑项目特有的因素,优化工作量估计。l事务定义为任务的原子集,要么全部执行,要么不个都不执行。l根据包含事务数将用例分为简单用例(1-3)、中等复杂用例(4-7)和复杂用例(7+)。l简单用例分配因子为5,中等复杂用

49、例分配因子为10。而复杂用例分配因子为15。l根据应用中用例因子的加权和求得总的未经调整的用例点(unadjusted use case point,简称UUCP)l根据根据技术因素及其权重表技术因素及其权重表调整原始UUP以反映项目的复杂性和项目工作人员的经验(技术复杂性因子TCF)。l根据根据团队的环境因素及其权重团队的环境因素及其权重表,并用05评定每个因素,计算出环境因子(EF)l最终的用例点(use case point,简称UCP):UCP=UUCPTCFEFlTCF=0.6+(0.01TFactor)lEF=1.4+(-0.03EFactor)l对于经验有关的因素,0表示没有该主

50、题的经验,5表示专家水平,而3则表示平均水平。l对于积极性,0表示没有项目积极性,5表示积极性高。而3则表示平均水平。l对于需求的稳定性,0表示非常不稳定的需求,5表示不变的需求,而3则表示中等稳定程序。l对于兼职型工作人员,0表示兼职型技术人员,5表示全职工作人员,而3则表示平均值。l对于编程语言的难度,0表示易掌握的编程语言,5表示非常难的编程语言,而3则表示一般难度的编程语言。l进行工作量估计时,一般在整个生命期中为每个UCP分配20人时,由此得出的估计是很粗的。l需要对它按如下步骤做进一步精化。计算有多少个因素的值小于3,有多少个因素的值大于3。如果值小于3的因素总数很少,则每个UCP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(CMM与项目管理课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|