资源描述
Click to edit Master title style,Click to edit Master text styles,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,TPCA SEPG,*,Click to edit Chapter title style,Click to edit Chapter Description text styles,Second level,迭代计划及任务安排,TOPGROUP CENTER ACADEME SEPG,V1.0 2002-5-13,迭代计划及任务安排TOPGROUP CENTER ACADE,最新.,2,概述,课程介绍,迭代式开发,工作流与活动,工作细分结构(,WBS,),制作迭代计划,建议,参考资料,最新.2概述课程介绍,课程介绍,课程介绍,最新.,4,关于课程,课程目标,预备知识,目标听众,日程表,词汇表,图例(可选),最新.4关于课程课程目标,最新.,5,目标,理解迭代计划(,IP,)的目标与作用,理解迭代式开发的原理,了解,Workflow,是如何驱动项目的开发,理解,WBS,的含义,以及如何制定项目,WBS,(工作细分结构),掌握如何制作迭代计划的流程,最新.5目标理解迭代计划(IP)的目标与作用,最新.,6,预备知识,项目管理的基本知识,RUP,的基本知识,TPUP,的基本知识,托普项目管理与开发规范,最新.6预备知识项目管理的基本知识,最新.,7,目标听众,项目经理,项目计划复审员,其他人员,最新.7目标听众项目经理,最新.,8,日程,共计:,1,天,详细安排,最新.8日程共计:1天,最新.,9,词汇,SPP- Software Project Plan,IP- Iteration Plan,RUP- Rational Unified Process,TPUP- ToP Unified Process,CMM- Capability Maturity Model,最新.9词汇SPP- Software Project Pl,软件迭代计划简介,软件迭代计划简介,最新.,11,问题,什么是迭代?,迭代式开发的特点?,最新.11问题什么是迭代?,最新.,12,概念,迭代,Iteration,,重复做的事物,RUP,将它定义为,迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布(内部或外部的)必需的所有其他外围元素。,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。,最新.12概念迭代,最新.,13,迭代开发的特点,每次迭代都将产生一次,Release,(内部或外部),能够有效地尽早降低风险,每次迭代内部是一个,Waterfall,模型,能够更早地得到用户的反馈,将重点放在项目的短期目标里程碑,目标更清晰,使部分实施(,Implementation,)的分发成为可能,使集成与测试可以不断地持续下去,最新.13迭代开发的特点每次迭代都将产生一次Release(,最新.,14,迭代数,当项目的开发周期小于,18,个月或更少时,比较典型的迭代数是,3-6,。如果项目的开发周期更长时,则需要更多的迭代数。,Low: 30, 1, 1, 1,Typical:61, 2, 2, 1,High: 91, 3, 3, 1,Very High:102, 3, 3, 2,最新.14迭代数当项目的开发周期小于18个月或更少时,比较典,最新.,15,迭代的时间长度,时间长度可以根据迭代目标变化,时间长度可以根据阶段而不同,典型地,,Elaboration,的迭代比,Construction,的迭代更长,在阶段内,一般情况下,迭代的长度是相同的(也可能第一次迭代要长一些),这样更容易制订计划,不能过长或过短(根据组织的状况),开发组织的大小(迭代的速度),组织对迭代方法的熟悉程度(包括具有稳定成熟的组织),团队在管理代码(如分布式,CM,)、分发信息(如内部,Web,)、实现测试自动化时所采用的自动化级别。,建议的迭代长度为,1-3,个月,最新.15迭代的时间长度时间长度可以根据迭代目标变化,最新.,16,迭代策略,宽而浅(,Wide & Shallow,),分析完整的问题域,所有的,Use Case,都进行处理,定义全面的结构,窄而深 (,Narrow & Deep,),只对问题领域中的一个条带进行深入分析,执行一个片面的开发,混合(,Hybrid,),混合两种策略,Problem Domain,Problem Domain,Problem,Domain,最新.16迭代策略宽而浅(Wide & Shallow)Pr,最新.,17,生命周期中计划迭代,更早的迭代解决,高风险区域,结构的稳定性,需求的理解,以后的迭代,功能,性能,鲁棒性,最新.17生命周期中计划迭代更早的迭代解决,工作流程与活动(,Workflow & Activity,),工作流程与活动(Workflow & Activity),最新.,19,工作流程引导迭代开发,需求工作流,分析设计工作流,最新.19工作流程引导迭代开发需求工作流分析设计工作流,最新.,20,工作流程的结构,核心工作流程,(Core Workflow),工作流程明细,(Workflow Detail),活动,(Activity),步骤,(Steps),1,、,2,、,3,、,4,、,5,、,6,、,最新.20工作流程的结构核心工作流程工作流程明细活动步骤1、,最新.,21,工作流程,工作流程,在一个事务中活动执行的序列,相对于事务中的每一个活动者(,Actor,)产生一个可观察的结果。,工作流程级别,核心工作流程(,Core Workflow,),工作流程明细(,Workflow Detail,),最新.21工作流程工作流程,最新.,22,工作流明细,最新.22工作流明细,最新.,23,活动,活动,有明确的目的,要求参与项目的某一成员执行的,提供一个可测量结果的工作单位,内容通常表述为创建或更新某些工件,它通常涉及一个角色,只影响一个或少数几个工件,可以在多个迭代中执行多次,粒度,一个活动一般延续几个小时到几天,最新.23活动活动,制作迭代计划(,Develop the Iteration Plan,),制作迭代计划(Develop the Iteration,最新.,25,Overview,Software Project Plan vs. Iteration Plan,概述,迭代计划的作用,规划迭代内容,确定迭代目标,选择参与的用例,Example:,选择参与的用例,制定工作细分结构(,WBS,),最新.25OverviewSoftware Project,最新.,26,SPP vs. Iteration Plan,SPP,考虑整个项目的进度、资源、预算,考虑生命周期模型,定义项目里程碑,Iteration Plan,考虑当前迭代的进度、资源、预算,安排详细的活动和角色,定义迭代的具体目标和迭代内部里程碑,迭代可以有效、及时地降低项目的风险,Relationship,Iteration plan,要遵循,SPP,Iteration,的结果会影响,SPP,最新.26SPP vs. Iteration PlanSPP,最新.,27,制作迭代计划,输入,SPP,风险列表,其他历史数据,/,先前的迭代结果数据,输出,迭代计划文档,迭代活动安排(通常用,MS Project,安排),最新.27制作迭代计划输入,最新.,28,迭代计划的作用,定义迭代的目标,与阶段的里程碑目标一致的,定义迭代的开发与管理活动,以及活动的输出,明确参与人员的角色与职责,定义活动的进度、输入、输出,定义项目沟通方式,确定相应的资源、预算的获取,最新.28迭代计划的作用定义迭代的目标,与阶段的里程碑目标一,最新.,29,规划迭代内容,计划,任务进度,中间里程碑,发布版,。,资源,计算机软、硬件资源,人力资源,资金,用例,本次迭代要开发的用例与场景,评估标准,功能,性能,质量,。,最新.29规划迭代内容计划,最新.,30,确定迭代目标,将阶段的里程碑分解到迭代中,选择正确的范围:参与的用例,一般情况下,可以根据用例,-,风险关联表选择,首先选择风险最高、问题最多的用例,确定客观的评估标准,验证迭代目标的方法、途径,最新.30确定迭代目标将阶段的里程碑分解到迭代中,最新.,31,选择参与的用例,如果不是对所有用例进行开发(窄而深迭代策略),一般情况下,则应当按照风险的高低选择,首先解决风险最高、解决风险最多的用例,在首次迭代中,应当注意选择用例的工作量,因为首次迭代团队对于迭代方法是新的,并且需要创建环境、也存在工具集成的问题,根据迭代的周期确定迭代用例的计划表,要求迭代用例的计划不能超过最初的迭代时间,否则要修改迭代周期,平均分配到各次迭代(根据工作量),最新.31选择参与的用例如果不是对所有用例进行开发(窄而深迭,最新.,32,选择参与的用例(,Const.,),假定要选择,4,个,Use Case,。,根据下面的风险,-,用例关联矩阵,确定首先选择,UC1,、,UC2,、,UC4,、,UC5,进行迭代。,因为,,解决了,4,个风险,解决了风险值最高的两个风险,最新.32选择参与的用例(Const.)假定要选择 4个 U,最新.,33,制定工作细分结构(,WBS,),分解项目迭代工作任务,安排任务进度,确定任务路径,下一节重点介绍,最新.33制定工作细分结构(WBS)分解项目迭代工作任务,最新.,34,确定输出工件,定义迭代需要完成的工件,将这些工件分配到迭代开发活动中(单个或多个活动),将工件分配给指定的角色(责任人),将工件与对应的工作流程(活动)联系在一起,最新.34确定输出工件定义迭代需要完成的工件,将这些工件分配,最新.,35,制作迭代计划文档,获得计划模版,编写初稿,项目组成员参与,提交复审,修改相关文档、保持所有计划的一致性,SPP,SQA,测试计划,,最新.35制作迭代计划文档获得计划模版,工作细分结构(,Work Breakdown Structure,),工作细分结构(Work Breakdown Structu,最新.,37,什么是工作细分结构(,WBS,),Work Breakdown Structure,(,WBS,)为所承担的责任,所需资源的估计和项目进度表的制定提供了一个基础,它开始解答:“怎样做?”这个基本问题。,最新.37什么是工作细分结构(WBS)Work Breakd,最新.,38,WBS,的分解过程,是将项目按照其内在结构或实施过程的顺序进行逐层分解而形成的结构示意图表。,它将整个工作分解成若干足够小的部分,便于个人承担,而且有足够的确切程度,能够估计工作量和所费时间。,最新.38WBS的分解过程是将项目按照其内在结构或实施过程的,最新.,39,活动的界定,在,WBS,中,个人的活动可以由每个工作包的责任人来界定。,通常而言,活动的长度应小于两周。,活动应该有一定的容量以包含特定意义的工作区域,同时又应该足够小,以便有规律地跟踪其进程,并尽早发现问题,最新.39活动的界定在WBS中,个人的活动可以由每个工作包的,最新.,40,WBS,结构的表达形式,思维图,树形结构(最常用的),大纲形式,最新.40WBS结构的表达形式思维图,最新.,41,识别,WBS,的流程,识别项目的,主要组成部分,要实现项目目标需要完成哪些主要工作?,能否估算出完,成它们各组成部分的,费用和时间?,检查划分后得到,的更小组成部分,完成,WBS,找出上述各,组成部分更小,的组成部分,要完成上述部分,有,哪些更具体的工作要,做?,不进行这层的工作,上层次的各项工作,能否完成?,完成这些工作,上一层次工作就一定能,完成吗?,这一层次的各项工作的内容、范围和,性质是否都已明确?,修改,是,不修改,否,最新.41识别 WBS的流程识别项目的要实现项目目标需要完成,最新.,42,编号并理解每项任务,确定了,WBS,以及所有要做的工作后,对所有任务和子任务进行编号以便查询。,最新.42编号并理解每项任务确定了WBS以及所有要做的工作后,最新.,43,依存性分析(逻辑次序关系),由于工作细分体系的规定的,项目中各项活动之间的关系或相互的依存性必须加以分析,以便确定步骤发生的先后次序。,最新.43依存性分析(逻辑次序关系)由于工作细分体系的规定的,最新.,44,WBS,的用途,制定工作顺序,确定工作进度,配备人员,编制预算,监视,具体内容的验证,最新.44WBS的用途制定工作顺序,最新.,45,制作,WBS,采用,Ms Project,来记载,调整结构,计算,Schedule,分配活动资源,建立关键路径,甘特图、网络图,最新.45制作WBS采用Ms Project来记载,最新.,46,生命周期中的,WBS,Inception Phase,Transition Phase,Elaboration Phase,Construction Phase,最新.46生命周期中的 WBSInception Phase,最新.,47,生命周期中的,WBS,(,Const.,),1 Level,Core Workflows,2 Level,Phases,3 Level,Workflows Detail,4 Level,Activities,最新.47生命周期中的 WBS(Const.)1 Level,对迭代计划的建议,对迭代计划的建议,最新.,49,对迭代计划的建议,-1,实行真实性检查,通过询问并且回答一些难题来开始详细的规划工作:,项目是否仍在按计划进行?,您的方法是否仍有意义?,您的团队是否由合适的人员组成?,您是否仍有资金管理者支持?,如果其中任何一个问题的答案是否,则需要解决问题,这可能意味着新(且非常短)迭代使您的团队回到正常轨道上。对处于困境的项目进行大计划是毫无价值的。,最新.49对迭代计划的建议-1实行真实性检查通过询问并且,最新.,50,对迭代的建议,-2,标识详细的任务,在项目开始时,体系结构和转移迭代只是列出需要实现的任务列表。然而,要规划迭代,必须评估已为它指定的需求。随着项目发展,您将对于对个别需求有更好理解。您可能会发现,现在需要更改给迭代指定的原始需求,这些需求最初是有意义的。或许已经标识并添加了新的需求;或许已经扩展或缩减了需求;或许已经更改了优先级。不管什么原因,您会发现您需要重新定义打算在该迭代中实现的内容。根据需求,标识需要实现的任务。,最新.50对迭代的建议-2标识详细的任务在项目开始时,体,最新.,51,对迭代计划的建议,-3,标识任务相关性,某些任务取决于其它任务。,例如,在部署源代码之前,必须先编写它。测试案例的开发可以在编码之前开始。实际代码的测试必须等待,直到已经编写了某些代码(尽管或许不是所有代码)为止。,问题,是,某些任务必须在其它任务完成之后才能开始,某些任务必须等待,直到另一个任务开始了为止,它才可以开始,某些任务不能完成,直到另一个任务完成为止,某些任务不能完成,直到另一个任务开始了为止,最新.51对迭代计划的建议-3标识任务相关性某些任务取决,最新.,52,对迭代计划的建议,-4,均衡资源,需要紧记的重要事情是,每个人一次只可处理那么多任务,并且在工作的那一天只有那么多时间。这个概念称为资源均衡,确保任务分派是合理的。 指定用,10%,的时间完成,10,项任务很可能无法完成任何任务, 而且指定用,50%,的时间完成,5,项任务的人员也不可能完成这些任务。确保现实的规划的最好方法是,让执行计划的人员参与计划开发。,最新.52对迭代计划的建议-4均衡资源需要紧记的重要事情,最新.,53,对迭代计划的建议,-5,保持迭代短小,迭代周期应该保持比较短。应该将大于,8,周的迭代分割,以便让您迅速将软件交付给用户。因为正在尝试弥补在先前迭代中跳过的工作(如文档编制),或者因为您的需求正在增加而没有添加新的迭代来反映这一事实,所以当项目进展时迭代长度增长是一种趋势。执行真实性检查并按照它们的结果行动,将帮助您使迭代周期保持简短。,最新.53对迭代计划的建议-5保持迭代短小迭代周期应该保,最新.,54,对迭代计划的建议,-6,考虑并行开发,分几个子团队来同时进行系统的不同部分始终是一种有效的办法,尤其对于系统纵向片段的开发。并行开发可以大大地缩短产品的上市时间,这是当今高度市场竞争性的一个重要因素,尽管它以增加协调工作为代价。共同的体系结构、共享知识视野、共同的开发实践、定期团队会议及共享工作场地使并行开发成为可能。,最新.54对迭代计划的建议-6考虑并行开发分几个子团队来,参考资料,参考资料,最新.,56,参考资料名细,SEI CMM,RUP,托普集团项目开发与管理规范,最新.56参考资料名细SEI CMM,最新.,57,Question?,请填写反馈表,THANK,YOU,最新.57Question?请填写反馈表THANK,
展开阅读全文