好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第5讲项目进度安排课件.pptx

56页
  • 卖家[上传人]:des****85
  • 文档编号:337814795
  • 上传时间:2022-10-09
  • 文档格式:PPTX
  • 文档大小:4.46MB
  • 文本预览
  • 下载提示
  • 常见问题
    • Software Project Management第5 讲 项目进度安排主讲:张纲强主讲:张纲强基本概念基本概念主要内容项目进度安排项目进度安排定义任务网络定义任务网络进度安排进度安排挣值分析挣值分析基本概念基本概念基本概念基本概念虽然软件延期交付的原因很多,但是大多数都可以追溯到下面列出的一个或多个根虽然软件延期交付的原因很多,但是大多数都可以追溯到下面列出的一个或多个根本原因上:本原因上:不不切切实实际际的的项目结束项目结束期限,由软件工程期限,由软件工程小小组以外的组以外的某个某个人所人所制定制定,并并强加给软件工强加给软件工程程小小组内的管理者和项目开发者组内的管理者和项目开发者客户需求发生变客户需求发生变更更,而,而这种这种变变更更没有没有在在项目项目变更变更进度进度表上预先安排表上预先安排对完成对完成该工作所需的该工作所需的工作量和工作量和/或资源数量估计不足或资源数量估计不足在项目开始时,没有在项目开始时,没有考虑考虑可预测的和可预测的和/或不可预测的风险或不可预测的风险出现了出现了事先无法预计的技术困难事先无法预计的技术困难出现了出现了事先无法预计的人力困难事先无法预计的人力困难。

      由于项目由于项目团队团队成员之间的交流不畅而导致的延期成员之间的交流不畅而导致的延期项目管理者未能发现进度拖后,也未能采取项目管理者未能发现进度拖后,也未能采取措施措施解决这一问题解决这一问题4基本概念基本概念在软件行业中,人们对过于乐观的在软件行业中,人们对过于乐观的(即即“不不切切实实际际的的”)项目项目结束结束期限已经司空见惯期限已经司空见惯从从设定项目结束期限的人的角度来看,设定项目结束期限的人的角度来看,有时候这样的有时候这样的项目结束项目结束期限是合理的,但是常期限是合理的,但是常识告诉我们,合理与否还必须由完成工作的人识告诉我们,合理与否还必须由完成工作的人员员来判断不妨举例说明,假定一个软件开发小组的任务是构造一个医疗诊断仪器的实时控制器,该控制器需要在9个月之内推向市场在进行了仔细的估算和风险分析之后,软件项目管理人员得到的结论是在现有人员条件下,需要14个月的时间才能完成这一软件这位项目管理者下一步该怎么办?闯进客户的办公室(这里的客户非常可能是市场或销售人员)并要求修改交付日期似乎不太现实外部市场压力决定了交付日期,届时必须发布产品而(从事业前途的角度出发)拒绝这一项目同样是鲁莽的。

      那么应该怎么办呢?5基本概念基本概念在这种情况下,推荐以下的处理步骤:在这种情况下,推荐以下的处理步骤:按照以往项目的历史数据进行详细的估算确定项目的估算工作量和工期采用增量过程模型,制定一个软件开发策略,以保证能够在规定的交付日期提供主要功能,而将其他功能的实现推到以后然后将这一计划做成文档与客户会谈并(用详细估算结果)来解释为什么规定的交付日期是不现实的,一定要指出所有这些估算都是基于以往的项目实践,而且一定要指出为了在目前规定的交付期限完成项目,与以往相比在工作效率上必须提高的百分比将增量开发策略作为可选计划提交给客户6项目进度安排项目进度安排项目进度安排项目进度安排软件项目进度安排软件项目进度安排 是一种活动,它通过将工作量分配给特定的软件工程任务,从而将所估算的工作量分配到计划的项目工期内但要注意的是,进度是随着时间的改变而不断演化的在项目计划的早期,首先建立一个宏观进度表,该进度表标识出所有主要的软件工程活动和这些活动影响到的产品功能随着项目的进展,宏观进度表中的每个条目都被精化成一个“详细进度表”于是(完成一个活动所必须实现的)特定软件任务被标识出来,同时也进行了进度安排。

      可以从两个不同的角度来讨论软件工程项目的进度安排第一个视角,计算机系统的最终发布日期已经确定(而且不能更改),软件开发组织必须将工作量分布在预先确定的时间框架内第二个视角,假定已知大致的时间界限,但是最终发布日期是由软件开发组自行确定,工作量以一种能够最好地利用资源的方式进行分配,且在对软件进行仔细分析之后才决定最终发布日期但不幸的是,第一种情况发生的频率远远高于第二种情况8项目进度安排项目进度安排划分必须将项目划分成多个可以管理的活动、动作和任务为了实现项目的划分,产品和过程都需要进行分解相互依赖性相互依赖性划分后的各个活动、动作或任务之间的相互依赖关系必须是明确的有些任务必须按顺序出现,而有些任务则可以并发进行有些活动或动作只有在其他活动产生的工作产品完成后才能够开始,而有些则可以独立进行时间分配时间分配每个安排了进度计划的任务必须分配一定数量的工作单位(例如,若干人日的工作量)此外,还必须为每个任务指定开始日期和完成日期,任务的开始日期和完成日期取决于任务之间的相互依赖性及工作方式是全职还是兼职9项目进度安排:基本原则项目进度安排:基本原则项目进度安排项目进度安排工作量确认工作量确认。

      每个项目都有预定数量的人员参与在进行时间分配时,项目管理人员必须确保在任意时段中分配的人员数量不会超过项目团队中的总人员数量例如,某项目分配了3名软件工作师(例如,每天可分配的工作量为3人日)在某一天中,需要完成7项并发的任务,每个任务需要0.50人日的工作量,在这种情况下,所分配的工作量就大于可供分配的工作量确定责任确定责任安排了进度计划的每个任务都应该指定特定的团队成员来负责明确结果明确结果安排了进度计划的每个任务都应该有一个明确的输出结果对于软件项目而言,输出结果通常是一个工作产品(例如一个模块的设计)或某个工作产品的一部分通常可将多个工作产品组合成“可交付产品”确定里程碑确定里程碑每个任务或任务组都应该与一个项目里程相关联当一个或多个工作产品经过质量评审并且得到认可时,标志着一个里程碑的完成10项目进度安排:基本原则项目进度安排:基本原则项目进度安排项目进度安排对于小型软件开发项目,只需一个人就可以完成需求分析、设计、编码和测试对于小型软件开发项目,只需一个人就可以完成需求分析、设计、编码和测试随着项目规模的增长,必须会有更多的人员参与不可能奢望一个人工作十年随着项目规模的增长,必须会有更多的人员参与。

      不可能奢望一个人工作十年来完成来完成10人人 年的工作量)年的工作量)在项目后期增加人手通常会对项目产生破坏性的影响,其结果是使进度进一步拖在项目后期增加人手通常会对项目产生破坏性的影响,其结果是使进度进一步拖延后期增加的人员必须学习这一系统,而培训他们的人员正是一直在工作着的延后期增加的人员必须学习这一系统,而培训他们的人员正是一直在工作着的那些人,当他们进行教学时,就不能完成任何工作,从而使项目进一步拖延那些人,当他们进行教学时,就不能完成任何工作,从而使项目进一步拖延除去学习系统所需的时间之外,新加入人员将会增加人员之间交流的路径数量和除去学习系统所需的时间之外,新加入人员将会增加人员之间交流的路径数量和整个项目中交流的复杂度虽然交流对于一个成功的软件开发项目而言绝对是必整个项目中交流的复杂度虽然交流对于一个成功的软件开发项目而言绝对是必不可少的但是每增加一条新的交流路径就会增加额外的工作量,从而需要更多不可少的但是每增加一条新的交流路径就会增加额外的工作量,从而需要更多的时间多年以来的经验数据和理论分析都表明项目进度是具有弹性的即在一定程度上多年以来的经验数据和理论分析都表明项目进度是具有弹性的。

      即在一定程度上可以缩短项目交付日期(通过增加额外资源),也可以拖延项目交付日期(减少可以缩短项目交付日期(通过增加额外资源),也可以拖延项目交付日期(减少资源数量)资源数量)11项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系项目进度安排项目进度安排PNR(Putnam-Norden-Rayleigh)曲线表明了一个软件项目中所投入的工作量与交)曲线表明了一个软件项目中所投入的工作量与交付时间的关系项目工作量和交付时间的函数关系曲线如图付时间的关系项目工作量和交付时间的函数关系曲线如图51所示图中的所示图中的to表表示项目最低交付成本所需的最少时间(即花费工作量最少的项目交付时间),而示项目最低交付成本所需的最少时间(即花费工作量最少的项目交付时间),而to左边(即当我们想提前交付时)的曲线是非线性上升的左边(即当我们想提前交付时)的曲线是非线性上升的12项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系图51工作量和交付时间的关系项目进度安排项目进度安排举一个例子举一个例子假设一个软件项目团队根据进度安排和现有的人员配置,估算所需要的工作量应为Ed,正常的交付时间应为td。

      虽然可以提前交付,但曲线在td的左侧急剧上升事实上,PNR曲线不仅说明了项目的交付时间不能少于0.75td,如果想更少,项目会进入“不可能的区域”,并面临着很高的失败风险;还说明了最低成本的交付时间to应该满足to=2td,即拖延项目交付可以明显降低成本,当然,这里的成本必须将与延期相关的营销成本排除在外13项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系项目进度安排项目进度安排14项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系项目进度安排项目进度安排15项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系项目进度安排项目进度安排16项目进度安排:人员与工作量之间的关系项目进度安排:人员与工作量之间的关系项目进度安排项目进度安排在之前学习中讨论的各种软件项目估算技术最终都归结为对完成软件开发所需工在之前学习中讨论的各种软件项目估算技术最终都归结为对完成软件开发所需工作单位(如人作单位(如人 月)的估算软件过程中的工作量分配通常采用月)的估算软件过程中的工作量分配通常采用402040法则总体工作量的总体工作量的40%分配给前期的分析和设计,分配给前期的分析和设计,40%的用于后期测试。

      因此,你可以的用于后期测试因此,你可以推断出编码工作(推断出编码工作(20%的工作量)是次要的的工作量)是次要的这种工作量分配法只能作为指导原则各个项目的特点决定了其工作量如何分配这种工作量分配法只能作为指导原则各个项目的特点决定了其工作量如何分配用于项目计划的工作量很少超过用于项目计划的工作量很少超过2%3%,除非提交给组织的项目费用极高且具有,除非提交给组织的项目费用极高且具有高风险需求分析大约占用高风险需求分析大约占用10%25%的工作量,用于分析或原型开发的工作量应的工作量,用于分析或原型开发的工作量应该与项目规模和复杂度成正比增长通常有该与项目规模和复杂度成正比增长通常有20%25%的工作量用于软件设计,用的工作量用于软件设计,用于设计评审和随之而来的迭代开发也必须考虑于设计评审和随之而来的迭代开发也必须考虑因为在软件设计时投入相当的工作量,随后的编码工作就变得相对简单总体工因为在软件设计时投入相当的工作量,随后的编码工作就变得相对简单总体工作量的作量的15%20%就可以完成这一工作测试和随之而来的调试工作将占用就可以完成这一工作测试和随之而来的调试工作将占用30%40%的软件开发工作量。

      软件的重要性决定了所需测试工作的分量,如是果软件系的软件开发工作量软件的重要性决定了所需测试工作的分量,如是果软件系统是人命相关的,就应该考虑分配更高的测试工作量比例统是人命相关的,就应该考虑分配更高的测试工作量比例17项目进度安排:工作量分配项目进度安排:工作量分配为软件项目定义任务集为软件项目定义任务集定义任务集定义任务集我们我们已经学习已经学习了多种不同的过程模型了多种不同的过程模型无论一个软件团队选择的是无论一个软件团队选择的是线性顺序线性顺序模模型、型、增量增量模型、演化模型模型、演化模型,或它们的某种变型,或它们的某种变型,过。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.