您好,欢迎访问三七文档
项目策划(PP)北京软协企业管理顾问中心吴玲CMMI过程域培训目的•为项目的研发和管理工作制定合理的计划,以便使所有相关人员按照该计划开展工作。•CMMI中PP过程域:建立和维护项目活动的计划。PP在项目生命周期中的位置项目策划的时机•项目的不同阶段都需要进行项目策划•项目前期的策划,不要投入太多精力;•有了SRS后,项目策划活动可以产生项目的详细计划;可以明确估计项目的规模、工作量、进度、资源项目初期策划和项目开发策划为什么要制定计划?•在制定计划的过程中,项目组可以对他们将要做的工作得到一个共同的理解。•计划为跟踪工作进展提供了基础。•与管理层做好沟通的基础。–如果项目组不先制定计划并且与管理人员一起评审他,项目就得按照管理者的要求完成工作,不管他们的要求是否符合实际情况。通常情况下,当管理者提出一个很紧的进度要求时,开发人员总会说这个时间是不足以完成任务的。接下来,管理者会坚持此时间是不能更改的开发团队一般会服从并同一尽力完成。像这样一开始就碰到麻烦的项目大多数到最后结束的时候也会碰到麻烦。最好的解决办法是制定一个详细的计划并且与管理人员一起评审。因为大多数管理人员还是希望得到一个能够实现的进度安排,所以,他们会与开发人员一起仔细得商讨这个计划。(摘自《PSP软件过程》)通常情况下,当管理者提出一个很紧的进度要求时,开发人员总会说这个时间是不足以完成任务的。接下来,管理者会坚持此时间是不能更改的开发团队一般会服从并同一尽力完成。像这样一开始就碰到麻烦的项目大多数到最后结束的时候也会碰到麻烦。最好的解决办法是制定一个详细的计划并且与管理人员一起评审。因为大多数管理人员还是希望得到一个能够实现的进度安排,所以,他们会与开发人员一起仔细得商讨这个计划。(摘自《PSP软件过程》)PP在CMMI体系中的意义•项目策划是做好CMMI其他各过程域的重要基础–GP2.2要求对各过程进行计划;–GP2.3要求对各过程提供资源;–GP2.4要求对各过程分配职责,明确责任和权限;–GP2.5要求在各过程执行前考虑培训(PP的SP2.5);–GP2.7要求各过程管理相关干系人方面要进行策划(SP2.6);•策划过程做的好与坏对企业务实做好软件过程改进具有重要意义。项目策划过程的目标•建立估算–制定和维护项目计划参数的估算•制定项目计划–制定和维护项目计划,并把它作为项目管理的基础•获得项目计划的承诺–制定和维护项目计划的承诺建立估算估算项目范围(WBS)•WBS是将项目按照其内在结构或实施过程的顺序进行逐层分解而形成的结构示意图。•WBS是实施项目、创造最终产品或服务所必须进行的全部活动的一张清单,它组织并定义了整个项目范围。也是进度计划、人员分配、预算计划的基础。•WBS示例(增量计划)WBS任务分解的粒度•不能太大,也不能太小–太大,就难以及时发现问题;–太小,跟踪花费太多精力;•一般以小于三天为宜–一周中至少检查2次成员的工作进展;–也有利于调整任务;–WBS中的任务项绝对不要超过两周。超过两周的任务,会很难监控。建立WBS应该注意的几个方面•WBS可能分布在项目的各个阶段,项目初期可以进行初步的WBS(定义高层元素),随着项目的进行逐步细化(定义底层元素)。•WBS的第一层和第二层需要利用所选定的过程模型和划分的阶段。•分解的结果一般不会超过五层。项目规模估计测量项•功能数•源代码行数•类和对象数•需求数•用例点•…估算方法1.专家判定2.类比估算法3.用例点估算方法4.功能点估算法1.专家判定(DELPHI)•专家判定技术是由一位或多位专家,按各自的经验和对目标软件项目的理解,给出各自的项目规模估算值后,再按一定的程式导出最后的项目规模估算值。1.专家判定(DELPHI)•在估计的时候,对于超过1.5倍的估计最好大家讨论后重新估计。•采用专家估计法估算后,可以采用下面的算法:(最高值+4*可能值+最低值)/6来计算出需要的平均工作量。如果任务分派给高手和新手都可以乘以系数。•DELPHI估算示例;2.类比估算法2.类比估算法3.用例点(UseCasePointMethod,UCP)估算方法•用于面向对象开发软件项目的软件规模及工作量估计•比功能点估计简单•比代码行(与开发平台强相关)或专家法准确,避免了同一项目因估算人员不同而导致估算结果存在较大差异的现象3.用例点(UseCasePointMethod,UCP)估算方法估算步骤1.角色复杂度等级划分及计数(UnadjustedActorWeight,UAW)角色复杂度权重角色数UAWSimple:用例角色通过已定义的API或接口与系统进行交互12*1=2Average:用例角色通过某种协议(如TCP/IP)与系统进行交互22*2=4Complex:系统的最终用户(即人)通过GUI或Web界面与系统交互33*3=9总计153.用例点(UseCasePointMethod,UCP)估算方法估算步骤2.用例复杂度等级划分及计数(UnadjustedUseCaseWeight,UUCW)用例复杂度权重用例数UUCWSimple:用例事物数《=355*5=25Average:用例事物数《=7104*10=40Complex:用例事物数》7150*15=0总计653.用例点(UseCasePointMethod,UCP)估算方法估算步骤3.计算未平衡用例点数(UnadjustedUseCasePoint,UUCP)UUCP=UAW+UUCW=15+65=803.用例点(UseCasePointMethod,UCP)估算方法估算步骤4.使用技术复杂因子(TechnicalComplexFactor,TCF)和环境复杂因子(EnvironmentConplexityFactor,ECF)平衡未平衡用例点数UUCP,得出用例点数UCP根据项目复杂度不同,可将TCF\ECF中每项因子赋予0-5间的任意值。任一因子赋予的分值越高,该因子对项目的影响越大或关联性越强。3.用例点(UseCasePointMethod,UCP)估算方法技术复杂度因子TCF说明权重TCF说明权重TF1系统分步式程度2TF8TF9TF10TF11TF5复用程度1TF12为第三方系统提供直接系统访问1TF13TF2系统性能要求12可移植性系统易于修改程度并发性要求特殊安全功能特性要求TF3终用户使用效率要求1是否需要特殊的用户培训设施111TF4内部处理复杂度11TF6易于安装要求度0.5TF7系统易于使用程度0.5计算TCF:–为TF1~TF13各项因子打分–将每项因子得分与其对应用权重相乘–求和得到TFactor–由此计算得出,TCF=0.6+(0.01×TFactor3.用例点(UseCasePointMethod,UCP)估算方法环境复杂度因子ECF说明权重ECF说明权重EF1UML精通程度1.5EF5EF6EF7EF8EF2系统应用经验0.51团队士气需求稳定度EF3面向对象经验1兼职人员比例高低21编程语言难易程度1EF4系统分析员能力0.5计算ECF:–为EF1~EF8各项因子打分–将每项因子得分与其对应用权重相乘–求和得到EFactor–由此计算得出,ECF=1.4+(-0.03×EFactor3.用例点(UseCasePointMethod,UCP)估算方法估算步骤5.计算软件规模UCPUCP=TCF×ECF×UUCP。若TCF=0.9,ECF=0.905,则UCP=0.9×0.905×80=65.16(65)3.用例点(UseCasePointMethod,UCP)估算方法估算步骤6.估算项目开发工作量(Effort)只要给出基于每UCP完成的工作量,即生产率(人时/UCP)就可以计算得出项目开发工作量。UCP发明人建议:每UCP为16人~30人,均值为20人时,对一个规模为65个UCP的项目,所需要的开发工作量为Effort=UCP×Productivity=65×20=1300人时约为32.5(33)人周3.用例点(UseCasePointMethod,UCP)估算方法注意事项•功能分解3-5层为宜•在没有公司实际生产率基准数据前,可将生产率分为3个等级–高级工程师:15人时/UCP–高级工程师:20人时/UCP–初级工程师:30人时/UCP•UCP估计的准备程度取决于功能需求分解层次及对UML技术的熟练程度4.功能点估算方法(FonctionPoints)4.功能点估算方法(FonctionPoints)识别项目的类型功能点估算法适用于任何一类项目–新开发项目–二次开发的项目–功能增强的项目4.功能点估算方法(FonctionPoints)识别项目的范围和边界•外贸订单系统只包含录入、修改、删除、查询和统计订单的功能•而汇率查询转换服务是不属于该系统的4.功能点估算方法(FonctionPoints)FP功能点估算分类1.ILF:InternalLogicalFile内部逻辑文件2.EIF:ExternalInterfaceFile外部接口文件3.EI:ExternalInput外部输入4.EO:ExternalOutput外部输出5.EQ:ExternalInquiry外部查询•ILF和EIF属于数据类型的功能点,EI、EO、EQ属于人机交互类型的功能点•ILF、EIF要与EI、EO、EQ分开计算。对ILF和EIF复杂度的计算可以简单理解为对数据库复杂度的计算。对EI、EO、EQ复杂度的计算可以理解为对程序开发复杂度的计算。一般软件项目都是由数据和程序构成的,因此计算ILF、EIF和计算EI、EO、EQ之间没有任何关系。4.功能点估算方法(FonctionPoints)FP功能点估算分类4.功能点估算方法(FonctionPoints)FP功能点估算分类•录入订单、修改订单、删除订单是EI;•查询订单是EO•统计订单是EQ•汇率查询转换系统为EIF•订单和客户是ILF4.功能点估算方法(FonctionPoints)FP功能点估算分类•录入订单、修改订单、删除订单是EI;•查询订单是EO•统计订单是EQ•汇率查询转换系统为EIF•订单和客户是ILF4.功能点估算方法(FonctionPoints)•FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。•使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法与软件开发技术密切相关。•FP功能点法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算的。•通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。•在项目刚开始的时候进行功能点估算可以对项目的范围进行预测,在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同,因此在项目结束时还需要对项目的范围情况进行估算,这个时候估算的结果才能最准确反映项目的规模。确定软件生命周期•分析项目具体情况•选定生命周期–瀑布模型–增量模型–敏捷…•项目的生命周期通常定义了以下内容:–项目的阶段划分–在每个阶段需要做哪些工作–谁需要参与哪些阶段–每个阶段的交付物瀑布模型瀑布模型•瀑布模型是文档驱动的,这意味着主要工作成果是通过文档从一个阶段传递到下一个阶段。对于那些很容易理解,但很复杂的项目,采用纯瀑布模型比较合适,因为,你可以用顺序的方法处理复杂的问题。•当开发队伍的技术力量比较弱或者缺乏经验的时候,瀑布模型更为适用。因为它给项目提供了一种结构以帮助你努力减少浪费。增量模型增量模型的特点•增量是在一个很好的全局控制的基础上有条不紊的进行。–增量并不意味着少量分析、少量设计、少量编码,然后再回过头来再少量分析、设计、编码。首先,我们搜集需求,但我们不是等到所有需求都进行完后再分析设计。但是,当开始增量开发时,系统的需求、规格说明、计划和构架必须已经非常明确。详细设计,编码,测试;详细设计,编码,测试……。•最重要的功能最
本文标题:cmmi-PP
链接地址:https://www.777doc.com/doc-5207862 .html